From a2ed1b78dd1856ec3c4052b0665d6d217d8a3e09 Mon Sep 17 00:00:00 2001 From: frank Date: Wed, 26 Apr 2023 23:37:18 +0800 Subject: [PATCH] feat:support backup/sync ens name (#3415) --- VERSION | 2 +- api/geth_backend.go | 1 + appdatabase/migrations/bindata.go | 146 +++--- .../sql/1682393575_sync_ens_name.up.sql | 12 + appdatabase/migrationsprevnodecfg/bindata.go | 108 ++-- mailserver/migrations/bindata.go | 6 +- multiaccounts/migrations/bindata.go | 24 +- multiaccounts/settings/columns.go | 6 + multiaccounts/settings/database.go | 5 + .../settings/sync_protobuf_factories.go | 26 + node/status_node_services.go | 19 +- protocol/anonmetrics/migrations/migrations.go | 6 +- protocol/encryption/migrations/migrations.go | 40 +- protocol/messenger.go | 91 ++++ protocol/messenger_backup.go | 27 +- protocol/messenger_backup_handler.go | 12 + protocol/messenger_backup_test.go | 35 ++ protocol/messenger_response.go | 25 +- protocol/messenger_sync_raw_messages.go | 11 + protocol/migrations/migrations.go | 174 +++--- .../application_metadata_message.pb.go | 122 ++--- .../application_metadata_message.proto | 1 + protocol/protobuf/chat_message.pb.go | 1 + .../protobuf/membership_update_message.pb.go | 1 + protocol/protobuf/pairing.pb.go | 494 ++++++++++-------- protocol/protobuf/pairing.proto | 8 + protocol/protobuf/status_update.pb.go | 20 +- protocol/protobuf/sync_settings.pb.go | 67 +-- protocol/protobuf/sync_settings.proto | 1 + .../migrations/migrations.go | 14 +- .../migrations/migrations.go | 10 +- protocol/transport/migrations/migrations.go | 12 +- protocol/v1/status_message.go | 2 + protocol/wakusync/profile_response.go | 12 +- server/pairing/sync_device_test.go | 18 + services/ens/api.go | 41 +- services/ens/api_test.go | 3 +- services/ens/database.go | 50 +- services/ens/service.go | 25 +- static/bindata.go | 42 +- t/bindata.go | 6 +- 41 files changed, 1090 insertions(+), 636 deletions(-) create mode 100644 appdatabase/migrations/sql/1682393575_sync_ens_name.up.sql diff --git a/VERSION b/VERSION index b4db76bfc..8fcbd0372 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.148.1 +0.148.2 diff --git a/api/geth_backend.go b/api/geth_backend.go index 32c3c0fb0..e0a73a455 100644 --- a/api/geth_backend.go +++ b/api/geth_backend.go @@ -1631,6 +1631,7 @@ func (b *GethStatusBackend) injectAccountsIntoWakuService(w types.WakuKeyManager return err } b.statusNode.ChatService(accDB).Init(messenger) + b.statusNode.EnsService().Init(messenger.SyncEnsNamesWithDispatchMessage) } return nil diff --git a/appdatabase/migrations/bindata.go b/appdatabase/migrations/bindata.go index 113ced646..928321eb5 100644 --- a/appdatabase/migrations/bindata.go +++ b/appdatabase/migrations/bindata.go @@ -59,6 +59,7 @@ // 1681780680_add_clock_to_social_links_settings.up.sql (137B) // 1682073779_settings_table_remove_latest_derived_path_column.up.sql (4.47kB) // 1682146075_add_created_at_to_saved_addresses.up.sql (107B) +// 1682393575_sync_ens_name.up.sql (713B) // doc.go (74B) package migrations @@ -143,7 +144,7 @@ func _1640111208_dummyUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1640111208_dummy.up.sql", size: 258, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)} + info := bindataFileInfo{name: "1640111208_dummy.up.sql", size: 258, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3e, 0xf0, 0xae, 0x20, 0x6e, 0x75, 0xd1, 0x36, 0x14, 0xf2, 0x40, 0xe5, 0xd6, 0x7a, 0xc4, 0xa5, 0x72, 0xaa, 0xb5, 0x4d, 0x71, 0x97, 0xb8, 0xe8, 0x95, 0x22, 0x95, 0xa2, 0xac, 0xaf, 0x48, 0x58}} return a, nil } @@ -163,7 +164,7 @@ func _1642666031_add_removed_clock_to_bookmarksUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1642666031_add_removed_clock_to_bookmarks.up.sql", size: 117, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)} + info := bindataFileInfo{name: "1642666031_add_removed_clock_to_bookmarks.up.sql", size: 117, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x84, 0x4e, 0x38, 0x99, 0x7a, 0xc, 0x90, 0x13, 0xec, 0xfe, 0x2f, 0x55, 0xff, 0xb7, 0xb6, 0xaa, 0x96, 0xc6, 0x92, 0x79, 0xcc, 0xee, 0x4e, 0x99, 0x53, 0xfe, 0x1c, 0xbb, 0x32, 0x2, 0xa4, 0x27}} return a, nil } @@ -183,7 +184,7 @@ func _1643644541_gif_api_key_settingUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1643644541_gif_api_key_setting.up.sql", size: 108, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)} + info := bindataFileInfo{name: "1643644541_gif_api_key_setting.up.sql", size: 108, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x1b, 0x94, 0x28, 0xfb, 0x66, 0xd1, 0x7c, 0xb8, 0x89, 0xe2, 0xb4, 0x71, 0x65, 0x24, 0x57, 0x22, 0x95, 0x38, 0x97, 0x3, 0x9b, 0xc6, 0xa4, 0x41, 0x7b, 0xba, 0xf7, 0xdb, 0x70, 0xf7, 0x20, 0x3a}} return a, nil } @@ -203,7 +204,7 @@ func _1644188994_recent_stickersUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1644188994_recent_stickers.up.sql", size: 79, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)} + info := bindataFileInfo{name: "1644188994_recent_stickers.up.sql", size: 79, mode: os.FileMode(0644), modTime: time.Unix(1675323803, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x1e, 0xad, 0xaa, 0x30, 0xbf, 0x4, 0x7, 0xf8, 0xc3, 0x3, 0xb8, 0x97, 0x23, 0x2b, 0xbd, 0x1c, 0x60, 0x69, 0xb0, 0x42, 0x5e, 0x6b, 0xd, 0xa7, 0xa3, 0x6b, 0x2e, 0xdc, 0x70, 0x13, 0x72, 0x7}} return a, nil } @@ -223,7 +224,7 @@ func _1646659233_add_address_to_dapp_permisssionUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1646659233_add_address_to_dapp_permisssion.up.sql", size: 700, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)} + info := bindataFileInfo{name: "1646659233_add_address_to_dapp_permisssion.up.sql", size: 700, mode: os.FileMode(0644), modTime: time.Unix(1675323803, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xed, 0xb0, 0x35, 0xcc, 0x2e, 0x16, 0xe6, 0x15, 0x86, 0x2c, 0x37, 0x80, 0xae, 0xa3, 0xc5, 0x31, 0x78, 0x5, 0x9d, 0xcd, 0x7b, 0xeb, 0x5f, 0xf2, 0xb3, 0x74, 0x72, 0xdf, 0xcf, 0x88, 0xb, 0x40}} return a, nil } @@ -243,7 +244,7 @@ func _1646841105_add_emoji_accountUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1646841105_add_emoji_account.up.sql", size: 96, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)} + info := bindataFileInfo{name: "1646841105_add_emoji_account.up.sql", size: 96, mode: os.FileMode(0644), modTime: time.Unix(1675323803, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe6, 0x77, 0x29, 0x95, 0x18, 0x64, 0x82, 0x63, 0xe7, 0xaf, 0x6c, 0xa9, 0x15, 0x7d, 0x46, 0xa6, 0xbc, 0xdf, 0xa7, 0xd, 0x2b, 0xd2, 0x2d, 0x97, 0x4d, 0xa, 0x6b, 0xd, 0x6e, 0x90, 0x42, 0x5c}} return a, nil } @@ -263,7 +264,7 @@ func _1647278782_display_nameUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1647278782_display_name.up.sql", size: 110, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)} + info := bindataFileInfo{name: "1647278782_display_name.up.sql", size: 110, mode: os.FileMode(0644), modTime: time.Unix(1675323803, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf4, 0xa1, 0x1f, 0x3e, 0x61, 0x65, 0x8d, 0xff, 0xee, 0xde, 0xc5, 0x91, 0xd9, 0x5c, 0xb5, 0xe2, 0xf0, 0xb7, 0xe7, 0x5c, 0x5c, 0x16, 0x25, 0x89, 0xee, 0x78, 0x12, 0xea, 0x3e, 0x48, 0x41, 0xa6}} return a, nil } @@ -283,7 +284,7 @@ func _1647862838_reset_last_backupUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1647862838_reset_last_backup.up.sql", size: 37, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)} + info := bindataFileInfo{name: "1647862838_reset_last_backup.up.sql", size: 37, mode: os.FileMode(0644), modTime: time.Unix(1675323803, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x21, 0xe3, 0xd5, 0xf6, 0x5f, 0xfe, 0x65, 0xfa, 0x1d, 0x88, 0xf8, 0x5f, 0x24, 0x71, 0x34, 0x68, 0x96, 0x2a, 0x60, 0x87, 0x15, 0x82, 0x4d, 0x8a, 0x59, 0x3d, 0x1f, 0xd8, 0x56, 0xd4, 0xfb, 0xda}} return a, nil } @@ -303,7 +304,7 @@ func _1647871652_add_settings_sync_clock_tableUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1647871652_add_settings_sync_clock_table.up.sql", size: 1044, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)} + info := bindataFileInfo{name: "1647871652_add_settings_sync_clock_table.up.sql", size: 1044, mode: os.FileMode(0644), modTime: time.Unix(1675323803, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd8, 0x58, 0xec, 0x85, 0x90, 0xfa, 0x30, 0x98, 0x98, 0x9a, 0xa6, 0xa8, 0x96, 0x2b, 0x38, 0x93, 0xf3, 0xae, 0x46, 0x74, 0xa4, 0x41, 0x62, 0x9b, 0x2, 0x86, 0xbf, 0xe5, 0x2a, 0xce, 0xe2, 0xc0}} return a, nil } @@ -323,7 +324,7 @@ func _1647880168_add_torrent_configUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1647880168_add_torrent_config.up.sql", size: 211, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)} + info := bindataFileInfo{name: "1647880168_add_torrent_config.up.sql", size: 211, mode: os.FileMode(0644), modTime: time.Unix(1675323803, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x1, 0x92, 0x22, 0x37, 0x96, 0xf3, 0xb5, 0x5b, 0x27, 0xd0, 0x7d, 0x43, 0x5, 0x4e, 0x9d, 0xe2, 0x49, 0xbe, 0x86, 0x31, 0xa1, 0x89, 0xff, 0xd6, 0x51, 0xe0, 0x9c, 0xb, 0xda, 0xfc, 0xf2, 0x93}} return a, nil } @@ -343,7 +344,7 @@ func _1647882837_add_communities_settings_tableUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1647882837_add_communities_settings_table.up.sql", size: 206, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)} + info := bindataFileInfo{name: "1647882837_add_communities_settings_table.up.sql", size: 206, mode: os.FileMode(0644), modTime: time.Unix(1675323803, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xbd, 0x87, 0x78, 0x99, 0xd9, 0x5d, 0xbd, 0xf7, 0x57, 0x9c, 0xca, 0x97, 0xbd, 0xb3, 0xe9, 0xb5, 0x89, 0x31, 0x3f, 0xf6, 0x5c, 0x13, 0xb, 0xc3, 0x54, 0x93, 0x18, 0x40, 0x7, 0x82, 0xfe, 0x7e}} return a, nil } @@ -363,7 +364,7 @@ func _1647956635_add_waku_messages_tableUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1647956635_add_waku_messages_table.up.sql", size: 266, mode: os.FileMode(0644), modTime: time.Unix(1664364467, 0)} + info := bindataFileInfo{name: "1647956635_add_waku_messages_table.up.sql", size: 266, mode: os.FileMode(0644), modTime: time.Unix(1675323803, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd1, 0xe, 0xe1, 0xdc, 0xda, 0x2e, 0x89, 0x8d, 0xdc, 0x2a, 0x1c, 0x13, 0xa1, 0xfc, 0xfe, 0xf, 0xb2, 0xb9, 0x85, 0xc8, 0x45, 0xd6, 0xd1, 0x7, 0x5c, 0xa3, 0x8, 0x47, 0x44, 0x6d, 0x96, 0xe0}} return a, nil } @@ -383,7 +384,7 @@ func _1648554928_network_testUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1648554928_network_test.up.sql", size: 132, mode: os.FileMode(0644), modTime: time.Unix(1664364467, 0)} + info := bindataFileInfo{name: "1648554928_network_test.up.sql", size: 132, mode: os.FileMode(0644), modTime: time.Unix(1675323803, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x9a, 0xc5, 0x7f, 0x87, 0xf3, 0x2c, 0xf7, 0xbb, 0xd3, 0x3a, 0x4e, 0x76, 0x88, 0xca, 0xaf, 0x73, 0xce, 0x8f, 0xa1, 0xf6, 0x3d, 0x4d, 0xed, 0x6f, 0x49, 0xf2, 0xfe, 0x56, 0x2a, 0x60, 0x68, 0xca}} return a, nil } @@ -403,7 +404,7 @@ func _1649174829_add_visitble_tokenUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1649174829_add_visitble_token.up.sql", size: 84, mode: os.FileMode(0644), modTime: time.Unix(1664364467, 0)} + info := bindataFileInfo{name: "1649174829_add_visitble_token.up.sql", size: 84, mode: os.FileMode(0644), modTime: time.Unix(1675323803, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa3, 0x22, 0xc0, 0x2b, 0x3f, 0x4f, 0x3d, 0x5e, 0x4c, 0x68, 0x7c, 0xd0, 0x15, 0x36, 0x9f, 0xec, 0xa1, 0x2a, 0x7b, 0xb4, 0xe3, 0xc6, 0xc9, 0xb4, 0x81, 0x50, 0x4a, 0x11, 0x3b, 0x35, 0x7, 0xcf}} return a, nil } @@ -423,7 +424,7 @@ func _1649882262_add_derived_from_accountsUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1649882262_add_derived_from_accounts.up.sql", size: 110, mode: os.FileMode(0644), modTime: time.Unix(1664364467, 0)} + info := bindataFileInfo{name: "1649882262_add_derived_from_accounts.up.sql", size: 110, mode: os.FileMode(0644), modTime: time.Unix(1675323803, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x11, 0xb9, 0x44, 0x4d, 0x85, 0x8d, 0x7f, 0xb4, 0xae, 0x4f, 0x5c, 0x66, 0x64, 0xb6, 0xe2, 0xe, 0x3d, 0xad, 0x9d, 0x8, 0x4f, 0xab, 0x6e, 0xa8, 0x7d, 0x76, 0x3, 0xad, 0x96, 0x1, 0xee, 0x5c}} return a, nil } @@ -443,7 +444,7 @@ func _1650612625_add_community_message_archive_hashes_tableUpSql() (*asset, erro return nil, err } - info := bindataFileInfo{name: "1650612625_add_community_message_archive_hashes_table.up.sql", size: 130, mode: os.FileMode(0644), modTime: time.Unix(1664364467, 0)} + info := bindataFileInfo{name: "1650612625_add_community_message_archive_hashes_table.up.sql", size: 130, mode: os.FileMode(0644), modTime: time.Unix(1675323803, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x48, 0x31, 0xb3, 0x75, 0x23, 0xe2, 0x45, 0xe, 0x47, 0x1b, 0x35, 0xa5, 0x6e, 0x83, 0x4e, 0x64, 0x7d, 0xd7, 0xa2, 0xda, 0xe9, 0x53, 0xf1, 0x16, 0x86, 0x2c, 0x57, 0xad, 0xfa, 0xca, 0x39, 0xde}} return a, nil } @@ -463,7 +464,7 @@ func _1650616788_add_communities_archives_info_tableUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1650616788_add_communities_archives_info_table.up.sql", size: 208, mode: os.FileMode(0644), modTime: time.Unix(1664364467, 0)} + info := bindataFileInfo{name: "1650616788_add_communities_archives_info_table.up.sql", size: 208, mode: os.FileMode(0644), modTime: time.Unix(1675323803, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd1, 0x4f, 0x80, 0x45, 0xb9, 0xd9, 0x15, 0xe2, 0x78, 0xd0, 0xcb, 0x71, 0xc1, 0x1b, 0xb7, 0x1b, 0x1b, 0x97, 0xfe, 0x47, 0x53, 0x3c, 0x62, 0xbc, 0xdd, 0x3a, 0x94, 0x1a, 0xc, 0x48, 0x76, 0xe}} return a, nil } @@ -483,7 +484,7 @@ func _1652715604_add_clock_accountsUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1652715604_add_clock_accounts.up.sql", size: 62, mode: os.FileMode(0644), modTime: time.Unix(1664364467, 0)} + info := bindataFileInfo{name: "1652715604_add_clock_accounts.up.sql", size: 62, mode: os.FileMode(0644), modTime: time.Unix(1675323803, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb6, 0xd9, 0x8d, 0x73, 0xc9, 0xef, 0xfa, 0xb1, 0x4b, 0xa5, 0xf3, 0x5, 0x19, 0x26, 0x46, 0xf8, 0x47, 0x93, 0xdb, 0xac, 0x2, 0xef, 0xf9, 0x71, 0x56, 0x83, 0xe6, 0x2d, 0xb0, 0xd7, 0x83, 0x5c}} return a, nil } @@ -503,7 +504,7 @@ func _1653037334_add_notifications_settings_tableUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1653037334_add_notifications_settings_table.up.sql", size: 1276, mode: os.FileMode(0644), modTime: time.Unix(1664364467, 0)} + info := bindataFileInfo{name: "1653037334_add_notifications_settings_table.up.sql", size: 1276, mode: os.FileMode(0644), modTime: time.Unix(1675323803, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x4b, 0xc4, 0x65, 0xac, 0xa, 0xf2, 0xef, 0xb6, 0x39, 0x3c, 0xc5, 0xb1, 0xb2, 0x9c, 0x86, 0x58, 0xe0, 0x38, 0xcb, 0x57, 0x3c, 0x76, 0x73, 0x87, 0x79, 0x4e, 0xf6, 0xed, 0xb0, 0x8e, 0x9e, 0xa}} return a, nil } @@ -523,7 +524,7 @@ func _1654702119_add_mutual_contact_settingsUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1654702119_add_mutual_contact_settings.up.sql", size: 78, mode: os.FileMode(0644), modTime: time.Unix(1664364467, 0)} + info := bindataFileInfo{name: "1654702119_add_mutual_contact_settings.up.sql", size: 78, mode: os.FileMode(0644), modTime: time.Unix(1675323803, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x26, 0x66, 0x67, 0x50, 0xfe, 0xd7, 0xe3, 0x29, 0x8b, 0xff, 0x9d, 0x5a, 0x87, 0xa7, 0x99, 0x6e, 0xd6, 0xcd, 0x2e, 0xbb, 0x17, 0xdf, 0x7f, 0xf7, 0xa3, 0xfa, 0x32, 0x7c, 0x2d, 0x92, 0xc8, 0x74}} return a, nil } @@ -543,7 +544,7 @@ func _1655375270_add_clock_field_to_communities_settings_tableUpSql() (*asset, e return nil, err } - info := bindataFileInfo{name: "1655375270_add_clock_field_to_communities_settings_table.up.sql", size: 74, mode: os.FileMode(0644), modTime: time.Unix(1664364467, 0)} + info := bindataFileInfo{name: "1655375270_add_clock_field_to_communities_settings_table.up.sql", size: 74, mode: os.FileMode(0644), modTime: time.Unix(1675323803, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x19, 0xc5, 0xc0, 0xf9, 0x84, 0x53, 0xdf, 0x83, 0xcf, 0xb6, 0x40, 0x6d, 0xf5, 0xdc, 0x77, 0x37, 0xb7, 0xe3, 0xa, 0x75, 0xe7, 0x6, 0x11, 0xca, 0x2b, 0x51, 0x92, 0xdd, 0x7d, 0xdb, 0xc3, 0xf5}} return a, nil } @@ -563,7 +564,7 @@ func _1655385721_drop_networks_configUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1655385721_drop_networks_config.up.sql", size: 27, mode: os.FileMode(0644), modTime: time.Unix(1664364467, 0)} + info := bindataFileInfo{name: "1655385721_drop_networks_config.up.sql", size: 27, mode: os.FileMode(0644), modTime: time.Unix(1675323803, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xfc, 0xa7, 0x20, 0xbb, 0x67, 0x21, 0xe, 0xc6, 0xc8, 0x21, 0x74, 0xe0, 0xce, 0xc8, 0xe2, 0x2, 0xb4, 0xea, 0xf0, 0xe5, 0xc4, 0x4d, 0xdd, 0xd4, 0x52, 0x31, 0xa9, 0x3d, 0xcd, 0xd8, 0x9b, 0xab}} return a, nil } @@ -583,7 +584,7 @@ func _1655385724_networks_chaincolor_shortnameUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1655385724_networks_chainColor_shortName.up.sql", size: 220, mode: os.FileMode(0644), modTime: time.Unix(1664364467, 0)} + info := bindataFileInfo{name: "1655385724_networks_chainColor_shortName.up.sql", size: 220, mode: os.FileMode(0644), modTime: time.Unix(1675323803, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd9, 0xe7, 0x84, 0xbb, 0x5f, 0xd2, 0x2c, 0x42, 0x88, 0x62, 0x52, 0xb6, 0x58, 0x31, 0xac, 0xc, 0x96, 0x2b, 0x1b, 0xe5, 0x4e, 0x9a, 0x3a, 0xf6, 0xf6, 0xfc, 0xa9, 0x1a, 0x35, 0x62, 0x28, 0x88}} return a, nil } @@ -603,7 +604,7 @@ func _1655456688_add_deleted_at_field_to_bookmarks_tableUpSql() (*asset, error) return nil, err } - info := bindataFileInfo{name: "1655456688_add_deleted_at_field_to_bookmarks_table.up.sql", size: 69, mode: os.FileMode(0644), modTime: time.Unix(1664364467, 0)} + info := bindataFileInfo{name: "1655456688_add_deleted_at_field_to_bookmarks_table.up.sql", size: 69, mode: os.FileMode(0644), modTime: time.Unix(1675323803, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe7, 0x9a, 0xbd, 0x9a, 0xc9, 0xf, 0xdf, 0x90, 0x0, 0x5d, 0xea, 0x6e, 0x7d, 0x51, 0x95, 0xcd, 0x90, 0xd3, 0x1a, 0x36, 0x6c, 0xf4, 0xbd, 0xa7, 0x6b, 0xbf, 0xe5, 0xdb, 0xa3, 0x88, 0xe3, 0x50}} return a, nil } @@ -623,7 +624,7 @@ func _1655462032_create_bookmarks_deleted_at_indexUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1655462032_create_bookmarks_deleted_at_index.up.sql", size: 81, mode: os.FileMode(0644), modTime: time.Unix(1664364467, 0)} + info := bindataFileInfo{name: "1655462032_create_bookmarks_deleted_at_index.up.sql", size: 81, mode: os.FileMode(0644), modTime: time.Unix(1675323803, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf, 0x8e, 0x20, 0x6b, 0x14, 0x9e, 0xcd, 0x97, 0xd3, 0xfe, 0x62, 0x3, 0x26, 0x59, 0x1, 0x6c, 0x99, 0xef, 0x6d, 0x21, 0xd4, 0xb5, 0xa3, 0xf4, 0x39, 0x40, 0x54, 0x6, 0xd, 0x60, 0x13, 0x38}} return a, nil } @@ -643,7 +644,7 @@ func _1657617291_add_multi_transactions_tableUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1657617291_add_multi_transactions_table.up.sql", size: 412, mode: os.FileMode(0644), modTime: time.Unix(1664364467, 0)} + info := bindataFileInfo{name: "1657617291_add_multi_transactions_table.up.sql", size: 412, mode: os.FileMode(0644), modTime: time.Unix(1675323803, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x86, 0xb0, 0x4e, 0x8c, 0x4, 0x82, 0xb4, 0x43, 0xaa, 0xd0, 0x16, 0xdd, 0xcb, 0x88, 0x81, 0xac, 0x4, 0x34, 0x1a, 0x8f, 0x2e, 0xc5, 0x69, 0xb, 0xf0, 0x17, 0xf7, 0xe3, 0x9, 0xe, 0x54, 0xe0}} return a, nil } @@ -663,7 +664,7 @@ func _1660134042_add_social_links_settings_tableUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1660134042_add_social_links_settings_table.up.sql", size: 334, mode: os.FileMode(0644), modTime: time.Unix(1664364467, 0)} + info := bindataFileInfo{name: "1660134042_add_social_links_settings_table.up.sql", size: 334, mode: os.FileMode(0644), modTime: time.Unix(1675323803, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x84, 0x73, 0xb6, 0xe7, 0x3f, 0xaa, 0x39, 0x9a, 0x56, 0x56, 0x31, 0xf1, 0x8e, 0x26, 0x23, 0x1, 0xe4, 0xfa, 0x98, 0xfe, 0x78, 0x87, 0x20, 0xcb, 0x52, 0xf4, 0x38, 0x7f, 0xc4, 0x1c, 0x4, 0x22}} return a, nil } @@ -683,7 +684,7 @@ func _1660134060_settings_bioUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1660134060_settings_bio.up.sql", size: 91, mode: os.FileMode(0644), modTime: time.Unix(1664364467, 0)} + info := bindataFileInfo{name: "1660134060_settings_bio.up.sql", size: 91, mode: os.FileMode(0644), modTime: time.Unix(1675323803, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x46, 0x25, 0xa0, 0xa6, 0x47, 0xff, 0xbc, 0x2a, 0x0, 0xff, 0x59, 0x4b, 0xb0, 0xc9, 0x4e, 0x15, 0xe4, 0xd9, 0xda, 0xeb, 0xfe, 0x55, 0x98, 0xc3, 0x9d, 0x96, 0xe7, 0xf, 0xd1, 0x5c, 0x93, 0x73}} return a, nil } @@ -703,7 +704,7 @@ func _1660134070_add_wakuv2_storeUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1660134070_add_wakuv2_store.up.sql", size: 269, mode: os.FileMode(0644), modTime: time.Unix(1664364467, 0)} + info := bindataFileInfo{name: "1660134070_add_wakuv2_store.up.sql", size: 269, mode: os.FileMode(0644), modTime: time.Unix(1675323803, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x1d, 0xe6, 0xc3, 0x9, 0xef, 0xdc, 0xae, 0x49, 0x30, 0x78, 0x54, 0xd6, 0xdb, 0xbf, 0xc0, 0x8e, 0x25, 0x8f, 0xfc, 0x67, 0x80, 0x39, 0x37, 0xd4, 0x86, 0xc1, 0x85, 0xc8, 0x99, 0xc4, 0x59, 0xd4}} return a, nil } @@ -723,7 +724,7 @@ func _1660134072_waku2_store_messagesUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1660134072_waku2_store_messages.up.sql", size: 497, mode: os.FileMode(0644), modTime: time.Unix(1664364467, 0)} + info := bindataFileInfo{name: "1660134072_waku2_store_messages.up.sql", size: 497, mode: os.FileMode(0644), modTime: time.Unix(1675323803, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3e, 0xeb, 0xb4, 0xa0, 0xa1, 0x2b, 0xcb, 0x4c, 0x3c, 0xc6, 0xd0, 0xe8, 0x96, 0xe3, 0x96, 0xf1, 0x4f, 0x1f, 0xe0, 0xe7, 0x1f, 0x85, 0xa3, 0xe, 0xf7, 0x52, 0x56, 0x63, 0x2b, 0xb0, 0x87, 0x7b}} return a, nil } @@ -743,7 +744,7 @@ func _1662365868_add_key_uid_accountsUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1662365868_add_key_uid_accounts.up.sql", size: 68, mode: os.FileMode(0644), modTime: time.Unix(1668711465, 0)} + info := bindataFileInfo{name: "1662365868_add_key_uid_accounts.up.sql", size: 68, mode: os.FileMode(0644), modTime: time.Unix(1675323803, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc6, 0xd8, 0x2f, 0x2f, 0x3b, 0xa8, 0xbd, 0x6d, 0xf6, 0x87, 0x7e, 0xd2, 0xf1, 0xa2, 0xf7, 0x81, 0x6a, 0x23, 0x10, 0xbc, 0xbf, 0x5b, 0xe7, 0x2b, 0x9c, 0xa9, 0x8a, 0x18, 0xbb, 0xd0, 0x86, 0x91}} return a, nil } @@ -763,7 +764,7 @@ func _1662447680_add_keypairs_tableUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1662447680_add_keypairs_table.up.sql", size: 218, mode: os.FileMode(0644), modTime: time.Unix(1668711465, 0)} + info := bindataFileInfo{name: "1662447680_add_keypairs_table.up.sql", size: 218, mode: os.FileMode(0644), modTime: time.Unix(1675323803, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xdc, 0x25, 0xa9, 0xc7, 0x63, 0x27, 0x97, 0x35, 0x5f, 0x6b, 0xab, 0x26, 0xcb, 0xf9, 0xbd, 0x5e, 0xac, 0x3, 0xa0, 0x5e, 0xb9, 0x71, 0xa3, 0x1f, 0xb3, 0x4f, 0x7f, 0x79, 0x28, 0x48, 0xbe, 0xc}} return a, nil } @@ -783,7 +784,7 @@ func _1662460056_move_favourites_to_saved_addressesUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1662460056_move_favourites_to_saved_addresses.up.sql", size: 233, mode: os.FileMode(0644), modTime: time.Unix(1668711465, 0)} + info := bindataFileInfo{name: "1662460056_move_favourites_to_saved_addresses.up.sql", size: 233, mode: os.FileMode(0644), modTime: time.Unix(1675323803, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x10, 0xa2, 0x8c, 0xa3, 0xec, 0xad, 0xdf, 0xc3, 0x48, 0x5, 0x9b, 0x50, 0x25, 0x59, 0xae, 0x7d, 0xee, 0x58, 0xd2, 0x41, 0x27, 0xf2, 0x22, 0x2e, 0x9a, 0xb9, 0x4a, 0xcc, 0x38, 0x6e, 0x3a, 0xb2}} return a, nil } @@ -803,7 +804,7 @@ func _1662738097_add_base_fee_transactionUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1662738097_add_base_fee_transaction.up.sql", size: 112, mode: os.FileMode(0644), modTime: time.Unix(1668711465, 0)} + info := bindataFileInfo{name: "1662738097_add_base_fee_transaction.up.sql", size: 112, mode: os.FileMode(0644), modTime: time.Unix(1675323803, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6b, 0xfb, 0x10, 0xae, 0xfc, 0x77, 0x70, 0x98, 0x6f, 0xec, 0xaa, 0xcd, 0x7, 0xc7, 0x74, 0x23, 0xc, 0xd5, 0x1e, 0x82, 0xdd, 0xfe, 0xff, 0x3b, 0xd2, 0x49, 0x10, 0x5b, 0x30, 0xc, 0x2d, 0xb0}} return a, nil } @@ -823,7 +824,7 @@ func _1662972194_add_keypairs_tableUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1662972194_add_keypairs_table.up.sql", size: 345, mode: os.FileMode(0644), modTime: time.Unix(1668711465, 0)} + info := bindataFileInfo{name: "1662972194_add_keypairs_table.up.sql", size: 345, mode: os.FileMode(0644), modTime: time.Unix(1675323803, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xab, 0x76, 0xf2, 0x86, 0xe1, 0x7e, 0xe9, 0x47, 0x32, 0x48, 0xd5, 0x6b, 0xe5, 0xd, 0xab, 0xb7, 0xf1, 0xd4, 0xf1, 0xad, 0x38, 0xa6, 0x11, 0xe7, 0xce, 0x5c, 0x11, 0x11, 0xf, 0x47, 0xb2, 0x4}} return a, nil } @@ -843,7 +844,7 @@ func _1664392661_add_third_party_id_to_waku_messagesUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1664392661_add_third_party_id_to_waku_messages.up.sql", size: 70, mode: os.FileMode(0644), modTime: time.Unix(1668711465, 0)} + info := bindataFileInfo{name: "1664392661_add_third_party_id_to_waku_messages.up.sql", size: 70, mode: os.FileMode(0644), modTime: time.Unix(1675323803, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xfd, 0x67, 0x66, 0x9e, 0x66, 0x74, 0xce, 0x1c, 0xb, 0x1b, 0x9d, 0xd5, 0xfc, 0x65, 0xe, 0x83, 0x90, 0x4c, 0x61, 0x4e, 0x6b, 0xe7, 0x86, 0xbe, 0x36, 0x4f, 0x91, 0x36, 0x4, 0x47, 0x7b, 0x82}} return a, nil } @@ -863,7 +864,7 @@ func _1664783660_add_sync_info_to_saved_addressesUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1664783660_add_sync_info_to_saved_addresses.up.sql", size: 388, mode: os.FileMode(0644), modTime: time.Unix(1668711465, 0)} + info := bindataFileInfo{name: "1664783660_add_sync_info_to_saved_addresses.up.sql", size: 388, mode: os.FileMode(0644), modTime: time.Unix(1675323803, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x67, 0x7c, 0x3a, 0x95, 0x4e, 0x55, 0xb2, 0xbd, 0xb4, 0x18, 0x93, 0xc1, 0xcf, 0x9f, 0x12, 0xbb, 0x49, 0x8a, 0x2a, 0x6a, 0x2a, 0x7f, 0xad, 0x44, 0xc3, 0xf, 0x3a, 0x79, 0x18, 0xb9, 0x4c, 0x64}} return a, nil } @@ -883,7 +884,7 @@ func _1668109917_wakunodesUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1668109917_wakunodes.up.sql", size: 99, mode: os.FileMode(0644), modTime: time.Unix(1669031482, 0)} + info := bindataFileInfo{name: "1668109917_wakunodes.up.sql", size: 99, mode: os.FileMode(0644), modTime: time.Unix(1675323803, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x29, 0xaa, 0x9e, 0x2, 0x66, 0x85, 0x69, 0xa8, 0xd9, 0xe2, 0x4b, 0x8d, 0x2a, 0x9c, 0xdf, 0xd2, 0xef, 0x64, 0x58, 0xe3, 0xa6, 0xe7, 0xc1, 0xd1, 0xc8, 0x9c, 0xc0, 0x2c, 0x1, 0xa8, 0x7b, 0x81}} return a, nil } @@ -903,7 +904,7 @@ func _1670249678_display_name_to_settings_sync_clock_tableUpSql() (*asset, error return nil, err } - info := bindataFileInfo{name: "1670249678_display_name_to_settings_sync_clock_table.up.sql", size: 83, mode: os.FileMode(0644), modTime: time.Unix(1678711803, 0)} + info := bindataFileInfo{name: "1670249678_display_name_to_settings_sync_clock_table.up.sql", size: 83, mode: os.FileMode(0644), modTime: time.Unix(1675323803, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x39, 0x18, 0xdc, 0xc4, 0x1f, 0x79, 0x22, 0x16, 0x4d, 0xdf, 0x6c, 0x66, 0xd5, 0xa4, 0x88, 0x5d, 0x5, 0x37, 0xa7, 0x41, 0x5, 0x50, 0xae, 0x12, 0xfa, 0x7e, 0x89, 0x24, 0x5c, 0xae, 0x30, 0xfc}} return a, nil } @@ -923,7 +924,7 @@ func _1670836810_add_imported_flag_to_community_archive_hashesUpSql() (*asset, e return nil, err } - info := bindataFileInfo{name: "1670836810_add_imported_flag_to_community_archive_hashes.up.sql", size: 144, mode: os.FileMode(0644), modTime: time.Unix(1676035037, 0)} + info := bindataFileInfo{name: "1670836810_add_imported_flag_to_community_archive_hashes.up.sql", size: 144, mode: os.FileMode(0644), modTime: time.Unix(1675323803, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6f, 0xf, 0xf0, 0xbd, 0xfe, 0x63, 0x25, 0x8f, 0x5e, 0x46, 0x4b, 0x45, 0x31, 0x8b, 0x3e, 0xd8, 0x6b, 0x5d, 0x9d, 0x6d, 0x10, 0x9a, 0x87, 0x4b, 0x18, 0xc6, 0x39, 0x81, 0x6e, 0xe4, 0x75, 0xfb}} return a, nil } @@ -943,7 +944,7 @@ func _1671438731_add_magnetlink_uri_to_communities_archive_infoUpSql() (*asset, return nil, err } - info := bindataFileInfo{name: "1671438731_add_magnetlink_uri_to_communities_archive_info.up.sql", size: 86, mode: os.FileMode(0644), modTime: time.Unix(1678711803, 0)} + info := bindataFileInfo{name: "1671438731_add_magnetlink_uri_to_communities_archive_info.up.sql", size: 86, mode: os.FileMode(0644), modTime: time.Unix(1675323803, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xda, 0x8b, 0x4b, 0xd6, 0xd8, 0xe2, 0x3d, 0xf7, 0x6b, 0xcd, 0x1e, 0x70, 0x9, 0x2e, 0x35, 0x4, 0x61, 0xc3, 0xb5, 0x9d, 0xc5, 0x27, 0x21, 0xa, 0x5a, 0xd6, 0x3e, 0xa6, 0x24, 0xa2, 0x12, 0xdf}} return a, nil } @@ -963,7 +964,7 @@ func _1672933930_switcher_cardUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1672933930_switcher_card.up.sql", size: 162, mode: os.FileMode(0644), modTime: time.Unix(1678711803, 0)} + info := bindataFileInfo{name: "1672933930_switcher_card.up.sql", size: 162, mode: os.FileMode(0644), modTime: time.Unix(1675323803, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x39, 0xba, 0xdc, 0xbb, 0x40, 0x4, 0xf2, 0x10, 0xdf, 0xb4, 0xd2, 0x80, 0x8a, 0x74, 0x4d, 0xf6, 0xbc, 0x50, 0x7, 0xd, 0x22, 0x7f, 0xc4, 0xaf, 0xaa, 0xde, 0xdc, 0x71, 0xe9, 0x42, 0x98, 0x36}} return a, nil } @@ -983,7 +984,7 @@ func _1674056187_add_price_cacheUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1674056187_add_price_cache.up.sql", size: 255, mode: os.FileMode(0644), modTime: time.Unix(1678711803, 0)} + info := bindataFileInfo{name: "1674056187_add_price_cache.up.sql", size: 255, mode: os.FileMode(0644), modTime: time.Unix(1675323803, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb7, 0x79, 0x6a, 0x9b, 0x28, 0xd1, 0x22, 0xf0, 0x84, 0x76, 0x40, 0x39, 0x49, 0x15, 0x5d, 0xaa, 0xfd, 0x11, 0xff, 0x13, 0x27, 0x42, 0x12, 0xfa, 0x82, 0xe6, 0x7a, 0xf0, 0x5e, 0x1f, 0xe3, 0xba}} return a, nil } @@ -1003,7 +1004,7 @@ func _1674136690_ens_usernamesUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1674136690_ens_usernames.up.sql", size: 98, mode: os.FileMode(0644), modTime: time.Unix(1678711803, 0)} + info := bindataFileInfo{name: "1674136690_ens_usernames.up.sql", size: 98, mode: os.FileMode(0644), modTime: time.Unix(1675323803, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x81, 0x7a, 0xf3, 0xa8, 0x88, 0x99, 0xd6, 0x9c, 0x69, 0x48, 0x3c, 0x10, 0xda, 0x72, 0xdc, 0x14, 0xd, 0x6e, 0x8c, 0x82, 0x92, 0x2d, 0x2c, 0xee, 0x4c, 0x70, 0xa4, 0xdc, 0x5c, 0x5, 0x2, 0xc3}} return a, nil } @@ -1023,7 +1024,7 @@ func _1674232431_add_balance_historyUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1674232431_add_balance_history.up.sql", size: 698, mode: os.FileMode(0644), modTime: time.Unix(1678711803, 0)} + info := bindataFileInfo{name: "1674232431_add_balance_history.up.sql", size: 698, mode: os.FileMode(0644), modTime: time.Unix(1675323803, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf7, 0xb5, 0x18, 0xca, 0x4a, 0x93, 0xbb, 0x6f, 0xa4, 0xee, 0xe4, 0x3e, 0xff, 0x6a, 0x4b, 0xe2, 0xe1, 0x61, 0x28, 0xee, 0xc5, 0x26, 0x57, 0x61, 0x5e, 0x6d, 0x44, 0x1e, 0x85, 0x43, 0x70, 0xa2}} return a, nil } @@ -1043,7 +1044,7 @@ func _1676368933_keypairs_to_keycardsUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1676368933_keypairs_to_keycards.up.sql", size: 639, mode: os.FileMode(0644), modTime: time.Unix(1681203908, 0)} + info := bindataFileInfo{name: "1676368933_keypairs_to_keycards.up.sql", size: 639, mode: os.FileMode(0644), modTime: time.Unix(1677122376, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x81, 0x93, 0x27, 0x2, 0xf0, 0x37, 0x81, 0x65, 0xa4, 0xb3, 0x5b, 0x60, 0x36, 0x95, 0xfc, 0x81, 0xf0, 0x3b, 0x7c, 0xc3, 0x2c, 0x85, 0xbd, 0x38, 0x46, 0xa4, 0x95, 0x4a, 0x6, 0x3e, 0x74, 0xd5}} return a, nil } @@ -1063,7 +1064,7 @@ func _1676951398_add_currency_format_cacheUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1676951398_add_currency_format_cache.up.sql", size: 291, mode: os.FileMode(0644), modTime: time.Unix(1681203908, 0)} + info := bindataFileInfo{name: "1676951398_add_currency_format_cache.up.sql", size: 291, mode: os.FileMode(0644), modTime: time.Unix(1677122376, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf9, 0xa3, 0x76, 0x35, 0xca, 0xf, 0xe8, 0xdf, 0xd9, 0x61, 0xf9, 0xed, 0xfc, 0x6d, 0xf5, 0xe, 0x11, 0x88, 0xbd, 0x14, 0x92, 0xc6, 0x57, 0x53, 0xe, 0xcd, 0x52, 0xf4, 0xa9, 0xb1, 0xdd, 0xfd}} return a, nil } @@ -1083,7 +1084,7 @@ func _1676968196_keycards_add_clock_columnUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1676968196_keycards_add_clock_column.up.sql", size: 73, mode: os.FileMode(0644), modTime: time.Unix(1681203908, 0)} + info := bindataFileInfo{name: "1676968196_keycards_add_clock_column.up.sql", size: 73, mode: os.FileMode(0644), modTime: time.Unix(1677564198, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x4c, 0xf, 0x1c, 0x28, 0x41, 0x57, 0x57, 0x6c, 0xe, 0x75, 0x6b, 0x75, 0x12, 0x0, 0x18, 0x1e, 0x88, 0x1e, 0x45, 0xe0, 0x32, 0xb9, 0xd4, 0xd9, 0x2e, 0xc8, 0xb, 0x80, 0x6, 0x51, 0x3d, 0x28}} return a, nil } @@ -1103,7 +1104,7 @@ func _1676968197_add_fallback_rpc_to_networksUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1676968197_add_fallback_rpc_to_networks.up.sql", size: 112, mode: os.FileMode(0644), modTime: time.Unix(1681203908, 0)} + info := bindataFileInfo{name: "1676968197_add_fallback_rpc_to_networks.up.sql", size: 112, mode: os.FileMode(0644), modTime: time.Unix(1677576114, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x77, 0x6a, 0xc6, 0x45, 0xfa, 0x62, 0x84, 0x74, 0x6d, 0x7c, 0xd7, 0x1d, 0x79, 0xb6, 0x38, 0x43, 0xa8, 0x8, 0x6b, 0x75, 0x3d, 0x9, 0x2, 0xc5, 0x9f, 0xbb, 0x45, 0x56, 0x4c, 0x4e, 0x17, 0x89}} return a, nil } @@ -1123,7 +1124,7 @@ func _1677674090_add_chains_ens_istest_to_saved_addressesUpSql() (*asset, error) return nil, err } - info := bindataFileInfo{name: "1677674090_add_chains_ens_istest_to_saved_addresses.up.sql", size: 638, mode: os.FileMode(0644), modTime: time.Unix(1681203908, 0)} + info := bindataFileInfo{name: "1677674090_add_chains_ens_istest_to_saved_addresses.up.sql", size: 638, mode: os.FileMode(0644), modTime: time.Unix(1678240714, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa8, 0x2d, 0xa4, 0x1b, 0xf6, 0x6a, 0x13, 0x7b, 0xe, 0x59, 0xcd, 0xe2, 0x4e, 0x81, 0x99, 0xc4, 0x33, 0x84, 0xde, 0x66, 0xca, 0xac, 0x2f, 0x5, 0x90, 0xac, 0xfd, 0x4e, 0xfc, 0x55, 0x44, 0xe5}} return a, nil } @@ -1143,7 +1144,7 @@ func _1677681143_accounts_table_type_column_updateUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1677681143_accounts_table_type_column_update.up.sql", size: 135, mode: os.FileMode(0644), modTime: time.Unix(1681203908, 0)} + info := bindataFileInfo{name: "1677681143_accounts_table_type_column_update.up.sql", size: 135, mode: os.FileMode(0644), modTime: time.Unix(1678240714, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd2, 0xc4, 0x6, 0x42, 0x50, 0x1d, 0xf4, 0x48, 0x55, 0xbc, 0xa2, 0x19, 0xdd, 0xad, 0xc8, 0xc, 0xa7, 0x30, 0xb6, 0xaf, 0xe, 0x2b, 0xaa, 0x2a, 0xa4, 0xe1, 0xb9, 0x41, 0x23, 0x66, 0xd3, 0x3}} return a, nil } @@ -1163,7 +1164,7 @@ func _1678264207_accounts_table_new_columns_addedUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1678264207_accounts_table_new_columns_added.up.sql", size: 130, mode: os.FileMode(0644), modTime: time.Unix(1681203908, 0)} + info := bindataFileInfo{name: "1678264207_accounts_table_new_columns_added.up.sql", size: 130, mode: os.FileMode(0644), modTime: time.Unix(1680083223, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf4, 0xd4, 0xf3, 0x35, 0xef, 0x5c, 0x19, 0x3c, 0x15, 0x90, 0x60, 0xbd, 0x1f, 0x81, 0xf0, 0x86, 0x73, 0x89, 0xa0, 0x70, 0xf2, 0x46, 0xae, 0xea, 0xd0, 0xc6, 0x9e, 0x55, 0x4a, 0x54, 0x62, 0xbb}} return a, nil } @@ -1183,7 +1184,7 @@ func _1680770368_add_bio_to_settings_sync_clock_tableUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1680770368_add_bio_to_settings_sync_clock_table.up.sql", size: 75, mode: os.FileMode(0644), modTime: time.Unix(1681730940, 0)} + info := bindataFileInfo{name: "1680770368_add_bio_to_settings_sync_clock_table.up.sql", size: 75, mode: os.FileMode(0644), modTime: time.Unix(1681777994, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x4a, 0x52, 0xf6, 0x3f, 0xaa, 0xd, 0xa0, 0xee, 0xe8, 0xe6, 0x16, 0x21, 0x80, 0x61, 0xe4, 0x7a, 0x4e, 0x37, 0x8d, 0x30, 0x51, 0x20, 0x4d, 0x15, 0x47, 0xfb, 0x6, 0xa1, 0xce, 0xc8, 0x27, 0x5a}} return a, nil } @@ -1203,7 +1204,7 @@ func _1681110436_add_mnemonic_to_settings_sync_clock_tableUpSql() (*asset, error return nil, err } - info := bindataFileInfo{name: "1681110436_add_mnemonic_to_settings_sync_clock_table.up.sql", size: 311, mode: os.FileMode(0644), modTime: time.Unix(1681730940, 0)} + info := bindataFileInfo{name: "1681110436_add_mnemonic_to_settings_sync_clock_table.up.sql", size: 311, mode: os.FileMode(0644), modTime: time.Unix(1681777994, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3d, 0x74, 0x81, 0x7d, 0x9e, 0x77, 0xb6, 0xfe, 0xe3, 0xcb, 0x48, 0xe5, 0x5f, 0x39, 0x23, 0xa1, 0x7d, 0x53, 0x22, 0xe8, 0x96, 0x15, 0x8a, 0x1e, 0x8e, 0xbc, 0xe2, 0x1d, 0xc4, 0xc2, 0x56, 0x34}} return a, nil } @@ -1223,7 +1224,7 @@ func _1681392602_9d_sync_periodUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1681392602_9d_sync_period.up.sql", size: 60, mode: os.FileMode(0644), modTime: time.Unix(1681730940, 0)} + info := bindataFileInfo{name: "1681392602_9d_sync_period.up.sql", size: 60, mode: os.FileMode(0644), modTime: time.Unix(1681777994, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc9, 0xa, 0x90, 0x29, 0x7f, 0x76, 0x98, 0xa7, 0x71, 0x80, 0x5a, 0x2f, 0xbe, 0x23, 0x9a, 0xd4, 0xf4, 0x39, 0x19, 0xd3, 0xa5, 0x34, 0x6e, 0x67, 0x6a, 0xbe, 0x8a, 0xad, 0x21, 0xc7, 0xba, 0x88}} return a, nil } @@ -1243,7 +1244,7 @@ func _1681762078_default_sync_period_9dUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1681762078_default_sync_period_9d.up.sql", size: 3002, mode: os.FileMode(0644), modTime: time.Unix(1681934445, 0)} + info := bindataFileInfo{name: "1681762078_default_sync_period_9d.up.sql", size: 3002, mode: os.FileMode(0644), modTime: time.Unix(1682429358, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3e, 0xd9, 0x26, 0xfc, 0xa9, 0x45, 0xc1, 0x81, 0xa8, 0xe2, 0x2c, 0xe9, 0x3c, 0xea, 0x1d, 0x37, 0x11, 0x45, 0x8c, 0x6c, 0xbc, 0xc2, 0x6, 0x69, 0x2, 0x75, 0x29, 0x40, 0x9f, 0xc5, 0xbb, 0x36}} return a, nil } @@ -1263,7 +1264,7 @@ func _1681780680_add_clock_to_social_links_settingsUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1681780680_add_clock_to_social_links_settings.up.sql", size: 137, mode: os.FileMode(0644), modTime: time.Unix(1682070700, 0)} + info := bindataFileInfo{name: "1681780680_add_clock_to_social_links_settings.up.sql", size: 137, mode: os.FileMode(0644), modTime: time.Unix(1682429358, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x63, 0x11, 0xf5, 0x41, 0xe5, 0x5a, 0xf4, 0xe3, 0xf3, 0x14, 0x87, 0x28, 0xd8, 0xf0, 0x52, 0x31, 0x8, 0xd5, 0xbb, 0xf4, 0xff, 0x55, 0x5f, 0x42, 0x90, 0xcb, 0xf7, 0x46, 0x2, 0x6, 0xbe, 0x42}} return a, nil } @@ -1283,7 +1284,7 @@ func _1682073779_settings_table_remove_latest_derived_path_columnUpSql() (*asset return nil, err } - info := bindataFileInfo{name: "1682073779_settings_table_remove_latest_derived_path_column.up.sql", size: 4470, mode: os.FileMode(0644), modTime: time.Unix(1682331804, 0)} + info := bindataFileInfo{name: "1682073779_settings_table_remove_latest_derived_path_column.up.sql", size: 4470, mode: os.FileMode(0644), modTime: time.Unix(1682429358, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7a, 0x36, 0x2, 0x41, 0xd, 0x5c, 0xd1, 0x92, 0x85, 0x6d, 0x84, 0xff, 0x67, 0xa7, 0x4c, 0x67, 0xa4, 0xef, 0x52, 0x69, 0x1f, 0x22, 0x25, 0x92, 0xc, 0xb3, 0x89, 0x50, 0x91, 0xc, 0x49, 0xf9}} return a, nil } @@ -1303,11 +1304,31 @@ func _1682146075_add_created_at_to_saved_addressesUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1682146075_add_created_at_to_saved_addresses.up.sql", size: 107, mode: os.FileMode(0644), modTime: time.Unix(1682331804, 0)} + info := bindataFileInfo{name: "1682146075_add_created_at_to_saved_addresses.up.sql", size: 107, mode: os.FileMode(0644), modTime: time.Unix(1682429358, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x88, 0xfe, 0x35, 0x9c, 0x6b, 0xdf, 0x67, 0x18, 0x16, 0xe4, 0xc9, 0xd4, 0x77, 0x7c, 0x4, 0xe2, 0x6c, 0x41, 0xd9, 0x53, 0x97, 0xfe, 0x5, 0xa3, 0x23, 0xce, 0x82, 0xad, 0x92, 0x5e, 0xd7, 0x7d}} return a, nil } +var __1682393575_sync_ens_nameUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x92\x41\x6b\xdc\x30\x14\x84\xef\xfe\x15\x73\x4c\x20\x29\xbd\xfb\xa4\xd8\x6f\x8b\x41\x2b\xa5\xb2\x0c\xbd\x39\x42\x7a\xb4\x62\xd7\x72\x6a\x79\xb3\xc9\xbf\x2f\x66\x53\xb3\xdb\x6c\x21\x67\x69\x66\xde\x7c\x8c\x90\x96\x0c\xac\x78\x90\x84\xcc\xf3\x1c\xd3\xcf\xdc\xe7\xb7\xe4\x7b\xbf\x1f\xfd\x0e\xa2\xae\x51\x69\xd9\x6d\x15\x0e\x99\xa7\xe4\x06\xce\x68\x94\xa5\x6f\x64\xa0\xb4\x85\xea\xa4\x44\x4d\x1b\xd1\x49\x8b\xaf\x65\x51\xdc\xdf\xe3\xc8\x48\xcc\x01\x13\x0f\xe3\x0b\x23\x1c\x9e\xf7\xd1\xbb\x99\x31\xb1\x1f\xa7\x90\x91\x63\xf2\x0c\x4e\xf9\x8b\x08\x81\x52\xee\xde\xad\x6f\x1a\xd5\x92\xb1\xd0\x06\x86\x1e\xa5\xa8\x68\xc9\xd2\xcb\xcf\x7e\x8d\xbf\xc5\xe0\xde\x10\x53\xe6\x69\xe6\xf0\xd1\xbd\xa8\x0c\x09\x4b\xef\xa5\x2e\xa4\xfd\xcc\xc3\x33\x44\x8b\x96\x24\x55\x16\x75\xd3\xda\x46\x55\x76\xed\x76\x07\xff\xcb\xc5\xd4\xc7\x80\x8d\xd1\xdb\x4b\x75\x59\xd4\x46\x3f\x5e\xf3\x2d\x8b\x73\x8e\x57\x22\x0d\x29\xb1\x25\xfc\x5b\xe5\x12\x97\x0b\x01\x87\x14\x7f\x1f\x18\x31\x05\x7e\xc5\x3c\xc2\xbd\x8c\xf1\x4a\xc7\x3b\x8c\xd3\xa2\xf3\x2e\x21\x2f\x34\x66\x1c\xe3\x7e\x8f\xc1\xed\x18\x4f\xd7\x29\x3e\xe1\x38\x4e\xbb\xbf\x74\x3a\xd5\x7c\xef\x96\x87\x9a\x7e\x20\x86\xd7\xfe\x94\xbc\xde\xd6\xaf\x20\xb4\xba\x3c\x1a\x37\x1f\x69\xdd\x96\xc5\xff\x11\x9c\x8f\xe8\xb4\xaa\x46\xd9\xf3\xcd\x7c\x4a\x79\x1a\x53\xc0\x83\xd6\x92\x84\x5a\xf5\x1b\x21\x5b\x2a\x8b\x3f\x01\x00\x00\xff\xff\x48\x84\xce\x5e\xc9\x02\x00\x00") + +func _1682393575_sync_ens_nameUpSqlBytes() ([]byte, error) { + return bindataRead( + __1682393575_sync_ens_nameUpSql, + "1682393575_sync_ens_name.up.sql", + ) +} + +func _1682393575_sync_ens_nameUpSql() (*asset, error) { + bytes, err := _1682393575_sync_ens_nameUpSqlBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "1682393575_sync_ens_name.up.sql", size: 713, mode: os.FileMode(0644), modTime: time.Unix(1682512643, 0)} + a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xfb, 0xea, 0xcb, 0x4d, 0x71, 0x5a, 0x49, 0x19, 0x8b, 0xef, 0x66, 0x27, 0x33, 0x89, 0xb0, 0xe, 0x37, 0x1b, 0x41, 0x8, 0x12, 0xcc, 0x56, 0xd8, 0x1b, 0xf, 0xf8, 0x50, 0x4b, 0x93, 0xf1, 0x29}} + return a, nil +} + var _docGo = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x2c\xc9\xb1\x0d\xc4\x20\x0c\x05\xd0\x9e\x29\xfe\x02\xd8\xfd\x6d\xe3\x4b\xac\x2f\x44\x82\x09\x78\x7f\xa5\x49\xfd\xa6\x1d\xdd\xe8\xd8\xcf\x55\x8a\x2a\xe3\x47\x1f\xbe\x2c\x1d\x8c\xfa\x6f\xe3\xb4\x34\xd4\xd9\x89\xbb\x71\x59\xb6\x18\x1b\x35\x20\xa2\x9f\x0a\x03\xa2\xe5\x0d\x00\x00\xff\xff\x60\xcd\x06\xbe\x4a\x00\x00\x00") func docGoBytes() ([]byte, error) { @@ -1323,7 +1344,7 @@ func docGo() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "doc.go", size: 74, mode: os.FileMode(0644), modTime: time.Unix(1648117578, 0)} + info := bindataFileInfo{name: "doc.go", size: 74, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xde, 0x7c, 0x28, 0xcd, 0x47, 0xf2, 0xfa, 0x7c, 0x51, 0x2d, 0xd8, 0x38, 0xb, 0xb0, 0x34, 0x9d, 0x4c, 0x62, 0xa, 0x9e, 0x28, 0xc3, 0x31, 0x23, 0xd9, 0xbb, 0x89, 0x9f, 0xa0, 0x89, 0x1f, 0xe8}} return a, nil } @@ -1537,6 +1558,8 @@ var _bindata = map[string]func() (*asset, error){ "1682146075_add_created_at_to_saved_addresses.up.sql": _1682146075_add_created_at_to_saved_addressesUpSql, + "1682393575_sync_ens_name.up.sql": _1682393575_sync_ens_nameUpSql, + "doc.go": docGo, } @@ -1640,7 +1663,8 @@ var _bintree = &bintree{nil, map[string]*bintree{ "1681780680_add_clock_to_social_links_settings.up.sql": &bintree{_1681780680_add_clock_to_social_links_settingsUpSql, map[string]*bintree{}}, "1682073779_settings_table_remove_latest_derived_path_column.up.sql": &bintree{_1682073779_settings_table_remove_latest_derived_path_columnUpSql, map[string]*bintree{}}, "1682146075_add_created_at_to_saved_addresses.up.sql": &bintree{_1682146075_add_created_at_to_saved_addressesUpSql, map[string]*bintree{}}, - "doc.go": &bintree{docGo, map[string]*bintree{}}, + "1682393575_sync_ens_name.up.sql": &bintree{_1682393575_sync_ens_nameUpSql, map[string]*bintree{}}, + "doc.go": &bintree{docGo, map[string]*bintree{}}, }} // RestoreAsset restores an asset under the given directory. diff --git a/appdatabase/migrations/sql/1682393575_sync_ens_name.up.sql b/appdatabase/migrations/sql/1682393575_sync_ens_name.up.sql new file mode 100644 index 000000000..5a83a587c --- /dev/null +++ b/appdatabase/migrations/sql/1682393575_sync_ens_name.up.sql @@ -0,0 +1,12 @@ +ALTER TABLE settings_sync_clock ADD COLUMN usernames INTEGER NOT NULL DEFAULT 0; + +-- we need remove duplicate records since ens.AddEnsUsername(INSERT OR REPLACE INTO ens_usernames) may inserted duplicate records +CREATE TABLE ens_usernames_temp AS SELECT DISTINCT username, chain_id FROM ens_usernames; +DROP TABLE ens_usernames; +ALTER TABLE ens_usernames_temp RENAME TO ens_usernames; + +-- we need add unique index to avoid duplicate records, or we can say it will make `INSERT OR REPLACE INTO` work +CREATE UNIQUE INDEX idx_unique_username_chain_id ON ens_usernames (username, chain_id); + +ALTER TABLE ens_usernames ADD COLUMN clock INT DEFAULT 0; +ALTER TABLE ens_usernames ADD COLUMN removed BOOLEAN DEFAULT FALSE; diff --git a/appdatabase/migrationsprevnodecfg/bindata.go b/appdatabase/migrationsprevnodecfg/bindata.go index 00c3298ad..812db0da6 100644 --- a/appdatabase/migrationsprevnodecfg/bindata.go +++ b/appdatabase/migrationsprevnodecfg/bindata.go @@ -137,7 +137,7 @@ func _0001_appDownSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "0001_app.down.sql", size: 356, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)} + info := bindataFileInfo{name: "0001_app.down.sql", size: 356, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb5, 0x25, 0xa0, 0xf8, 0x7d, 0x2d, 0xd, 0xcf, 0x18, 0xe4, 0x73, 0xc3, 0x95, 0xf5, 0x24, 0x20, 0xa9, 0xe6, 0x9e, 0x1d, 0x93, 0xe5, 0xc5, 0xad, 0x93, 0x8f, 0x5e, 0x40, 0xb5, 0x30, 0xaa, 0x25}} return a, nil } @@ -157,7 +157,7 @@ func _0001_appUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "0001_app.up.sql", size: 2967, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)} + info := bindataFileInfo{name: "0001_app.up.sql", size: 2967, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf7, 0x3a, 0xa7, 0xf2, 0x8f, 0xfa, 0x82, 0x7c, 0xc5, 0x49, 0xac, 0xac, 0xf, 0xc, 0x77, 0xe2, 0xba, 0xe8, 0x4d, 0xe, 0x6f, 0x5d, 0x2c, 0x2c, 0x18, 0x80, 0xc2, 0x1d, 0xe, 0x25, 0xe, 0x18}} return a, nil } @@ -177,7 +177,7 @@ func _0002_tokensDownSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "0002_tokens.down.sql", size: 19, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)} + info := bindataFileInfo{name: "0002_tokens.down.sql", size: 19, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd1, 0x31, 0x2, 0xcc, 0x2f, 0x38, 0x90, 0xf7, 0x58, 0x37, 0x47, 0xf4, 0x18, 0xf7, 0x72, 0x74, 0x67, 0x14, 0x7e, 0xf3, 0xb1, 0xd6, 0x5f, 0xb0, 0xd5, 0xe7, 0x91, 0xf4, 0x26, 0x77, 0x8e, 0x68}} return a, nil } @@ -197,7 +197,7 @@ func _0002_tokensUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "0002_tokens.up.sql", size: 248, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)} + info := bindataFileInfo{name: "0002_tokens.up.sql", size: 248, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xcc, 0xd6, 0xde, 0xd3, 0x7b, 0xee, 0x92, 0x11, 0x38, 0xa4, 0xeb, 0x84, 0xca, 0xcb, 0x37, 0x75, 0x5, 0x77, 0x7f, 0x14, 0x39, 0xee, 0xa1, 0x8b, 0xd4, 0x5c, 0x6e, 0x55, 0x6, 0x50, 0x16, 0xd4}} return a, nil } @@ -217,7 +217,7 @@ func _0003_settingsDownSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "0003_settings.down.sql", size: 118, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)} + info := bindataFileInfo{name: "0003_settings.down.sql", size: 118, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe5, 0xa6, 0xf5, 0xc0, 0x60, 0x64, 0x77, 0xe2, 0xe7, 0x3c, 0x9b, 0xb1, 0x52, 0xa9, 0x95, 0x16, 0xf8, 0x60, 0x2f, 0xa5, 0xeb, 0x46, 0xb9, 0xb9, 0x8f, 0x4c, 0xf4, 0xfd, 0xbb, 0xe7, 0xe5, 0xe5}} return a, nil } @@ -237,7 +237,7 @@ func _0003_settingsUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "0003_settings.up.sql", size: 1311, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)} + info := bindataFileInfo{name: "0003_settings.up.sql", size: 1311, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xea, 0x35, 0x0, 0xeb, 0xe2, 0x33, 0x68, 0xb9, 0xf4, 0xf6, 0x8e, 0x9e, 0x10, 0xe9, 0x58, 0x68, 0x28, 0xb, 0xcd, 0xec, 0x74, 0x71, 0xa7, 0x9a, 0x5a, 0x77, 0x59, 0xb1, 0x13, 0x1c, 0xa1, 0x5b}} return a, nil } @@ -257,7 +257,7 @@ func _0004_pending_stickersDownSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "0004_pending_stickers.down.sql", size: 0, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)} + info := bindataFileInfo{name: "0004_pending_stickers.down.sql", size: 0, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe3, 0xb0, 0xc4, 0x42, 0x98, 0xfc, 0x1c, 0x14, 0x9a, 0xfb, 0xf4, 0xc8, 0x99, 0x6f, 0xb9, 0x24, 0x27, 0xae, 0x41, 0xe4, 0x64, 0x9b, 0x93, 0x4c, 0xa4, 0x95, 0x99, 0x1b, 0x78, 0x52, 0xb8, 0x55}} return a, nil } @@ -277,7 +277,7 @@ func _0004_pending_stickersUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "0004_pending_stickers.up.sql", size: 61, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)} + info := bindataFileInfo{name: "0004_pending_stickers.up.sql", size: 61, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3c, 0xed, 0x25, 0xdf, 0x75, 0x2, 0x6c, 0xf0, 0xa2, 0xa8, 0x37, 0x62, 0x65, 0xad, 0xfd, 0x98, 0xa0, 0x9d, 0x63, 0x94, 0xdf, 0x6b, 0x46, 0xe0, 0x68, 0xec, 0x9c, 0x7f, 0x77, 0xdd, 0xb3, 0x6}} return a, nil } @@ -297,7 +297,7 @@ func _0005_waku_modeDownSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "0005_waku_mode.down.sql", size: 0, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)} + info := bindataFileInfo{name: "0005_waku_mode.down.sql", size: 0, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe3, 0xb0, 0xc4, 0x42, 0x98, 0xfc, 0x1c, 0x14, 0x9a, 0xfb, 0xf4, 0xc8, 0x99, 0x6f, 0xb9, 0x24, 0x27, 0xae, 0x41, 0xe4, 0x64, 0x9b, 0x93, 0x4c, 0xa4, 0x95, 0x99, 0x1b, 0x78, 0x52, 0xb8, 0x55}} return a, nil } @@ -317,7 +317,7 @@ func _0005_waku_modeUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "0005_waku_mode.up.sql", size: 146, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)} + info := bindataFileInfo{name: "0005_waku_mode.up.sql", size: 146, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa6, 0x91, 0xc, 0xd7, 0x89, 0x61, 0x2e, 0x4c, 0x5a, 0xb6, 0x67, 0xd1, 0xc1, 0x42, 0x24, 0x38, 0xd6, 0x1b, 0x75, 0x41, 0x9c, 0x23, 0xb0, 0xca, 0x5c, 0xf1, 0x5c, 0xd0, 0x13, 0x92, 0x3e, 0xe1}} return a, nil } @@ -337,7 +337,7 @@ func _0006_appearanceUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "0006_appearance.up.sql", size: 67, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)} + info := bindataFileInfo{name: "0006_appearance.up.sql", size: 67, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xae, 0x6, 0x25, 0x6c, 0xe4, 0x9d, 0xa7, 0x72, 0xe8, 0xbc, 0xe4, 0x1f, 0x1e, 0x2d, 0x7c, 0xb7, 0xf6, 0xa3, 0xec, 0x3b, 0x4e, 0x93, 0x2e, 0xa4, 0xec, 0x6f, 0xe5, 0x95, 0x94, 0xe8, 0x4, 0xfb}} return a, nil } @@ -357,7 +357,7 @@ func _0007_enable_waku_defaultUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "0007_enable_waku_default.up.sql", size: 38, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)} + info := bindataFileInfo{name: "0007_enable_waku_default.up.sql", size: 38, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd4, 0x42, 0xb6, 0xe5, 0x48, 0x41, 0xeb, 0xc0, 0x7e, 0x3b, 0xe6, 0x8e, 0x96, 0x33, 0x20, 0x92, 0x24, 0x5a, 0x60, 0xfa, 0xa0, 0x3, 0x5e, 0x76, 0x4b, 0x89, 0xaa, 0x37, 0x66, 0xbc, 0x26, 0x11}} return a, nil } @@ -377,7 +377,7 @@ func _0008_add_push_notificationsUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "0008_add_push_notifications.up.sql", size: 349, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)} + info := bindataFileInfo{name: "0008_add_push_notifications.up.sql", size: 349, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x5a, 0x0, 0xbf, 0xd0, 0xdd, 0xcd, 0x73, 0xe0, 0x7c, 0x56, 0xef, 0xdc, 0x57, 0x61, 0x94, 0x64, 0x70, 0xb9, 0xfa, 0xa1, 0x2a, 0x36, 0xc, 0x2f, 0xf8, 0x95, 0xa, 0x57, 0x3e, 0x7a, 0xd7, 0x12}} return a, nil } @@ -397,7 +397,7 @@ func _0009_enable_sending_push_notificationsDownSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "0009_enable_sending_push_notifications.down.sql", size: 49, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)} + info := bindataFileInfo{name: "0009_enable_sending_push_notifications.down.sql", size: 49, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe9, 0xae, 0x1b, 0x41, 0xcb, 0x9c, 0x2c, 0x93, 0xc6, 0x2a, 0x77, 0x3, 0xb9, 0x51, 0xe0, 0x68, 0x68, 0x0, 0xf7, 0x5b, 0xb3, 0x1e, 0x94, 0x44, 0xba, 0x9c, 0xd0, 0x3b, 0x80, 0x21, 0x6f, 0xb5}} return a, nil } @@ -417,7 +417,7 @@ func _0009_enable_sending_push_notificationsUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "0009_enable_sending_push_notifications.up.sql", size: 49, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)} + info := bindataFileInfo{name: "0009_enable_sending_push_notifications.up.sql", size: 49, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x1b, 0x80, 0xe4, 0x9c, 0xc8, 0xb8, 0xd5, 0xef, 0xce, 0x74, 0x9b, 0x7b, 0xdd, 0xa, 0x99, 0x1e, 0xef, 0x7f, 0xb8, 0x99, 0x84, 0x4, 0x0, 0x6b, 0x1d, 0x2c, 0xa, 0xf8, 0x2c, 0x4f, 0xb5, 0x44}} return a, nil } @@ -437,7 +437,7 @@ func _0010_add_block_mentionsDownSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "0010_add_block_mentions.down.sql", size: 83, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)} + info := bindataFileInfo{name: "0010_add_block_mentions.down.sql", size: 83, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6d, 0x9e, 0x27, 0x1e, 0xba, 0x9f, 0xca, 0xae, 0x98, 0x2e, 0x6e, 0xe3, 0xdd, 0xac, 0x73, 0x34, 0x4e, 0x69, 0x92, 0xb5, 0xf6, 0x9, 0xab, 0x50, 0x35, 0xd, 0xee, 0xeb, 0x3e, 0xcc, 0x7e, 0xce}} return a, nil } @@ -457,7 +457,7 @@ func _0010_add_block_mentionsUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "0010_add_block_mentions.up.sql", size: 89, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)} + info := bindataFileInfo{name: "0010_add_block_mentions.up.sql", size: 89, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd7, 0x23, 0x85, 0xa2, 0xb5, 0xb6, 0xb4, 0x3f, 0xdc, 0x4e, 0xff, 0xe2, 0x6b, 0x66, 0x68, 0x5e, 0xb2, 0xb4, 0x14, 0xb2, 0x1b, 0x4d, 0xb1, 0xce, 0xf7, 0x6, 0x58, 0xa7, 0xaf, 0x93, 0x3f, 0x25}} return a, nil } @@ -477,7 +477,7 @@ func _0011_allow_webview_permission_requestsDownSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "0011_allow_webview_permission_requests.down.sql", size: 0, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)} + info := bindataFileInfo{name: "0011_allow_webview_permission_requests.down.sql", size: 0, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe3, 0xb0, 0xc4, 0x42, 0x98, 0xfc, 0x1c, 0x14, 0x9a, 0xfb, 0xf4, 0xc8, 0x99, 0x6f, 0xb9, 0x24, 0x27, 0xae, 0x41, 0xe4, 0x64, 0x9b, 0x93, 0x4c, 0xa4, 0x95, 0x99, 0x1b, 0x78, 0x52, 0xb8, 0x55}} return a, nil } @@ -497,7 +497,7 @@ func _0011_allow_webview_permission_requestsUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "0011_allow_webview_permission_requests.up.sql", size: 88, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)} + info := bindataFileInfo{name: "0011_allow_webview_permission_requests.up.sql", size: 88, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x43, 0x5f, 0x22, 0x4c, 0x98, 0x1d, 0xc6, 0xf4, 0x89, 0xaf, 0xf4, 0x44, 0xba, 0xf8, 0x28, 0xa7, 0xb5, 0xb9, 0xf0, 0xf2, 0xcb, 0x5, 0x59, 0x7a, 0xc, 0xdf, 0xd3, 0x38, 0xa4, 0xb8, 0x98, 0xc2}} return a, nil } @@ -517,7 +517,7 @@ func _0012_pending_transactionsDownSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "0012_pending_transactions.down.sql", size: 33, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)} + info := bindataFileInfo{name: "0012_pending_transactions.down.sql", size: 33, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7e, 0x41, 0xfe, 0x5c, 0xd8, 0xc3, 0x29, 0xfd, 0x31, 0x78, 0x99, 0x7a, 0xeb, 0x17, 0x62, 0x88, 0x41, 0xb3, 0xe7, 0xb5, 0x5, 0x0, 0x90, 0xa1, 0x7, 0x1a, 0x23, 0x88, 0x81, 0xba, 0x56, 0x9d}} return a, nil } @@ -537,7 +537,7 @@ func _0012_pending_transactionsUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "0012_pending_transactions.up.sql", size: 321, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)} + info := bindataFileInfo{name: "0012_pending_transactions.up.sql", size: 321, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd, 0x17, 0xff, 0xd7, 0xa7, 0x49, 0x1e, 0x7b, 0x34, 0x63, 0x7c, 0x53, 0xaa, 0x6b, 0x2d, 0xc8, 0xe0, 0x82, 0x21, 0x90, 0x3a, 0x94, 0xf1, 0xa6, 0xe4, 0x70, 0xe5, 0x85, 0x1a, 0x48, 0x25, 0xb}} return a, nil } @@ -557,7 +557,7 @@ func _0013_favouritesDownSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "0013_favourites.down.sql", size: 23, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)} + info := bindataFileInfo{name: "0013_favourites.down.sql", size: 23, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x32, 0xf8, 0x55, 0x13, 0x4f, 0x4a, 0x19, 0x83, 0x9c, 0xda, 0x34, 0xb8, 0x3, 0x54, 0x82, 0x1e, 0x99, 0x36, 0x6b, 0x42, 0x3, 0xf6, 0x43, 0xde, 0xe6, 0x32, 0xb6, 0xdf, 0xe2, 0x59, 0x8c, 0x84}} return a, nil } @@ -577,7 +577,7 @@ func _0013_favouritesUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "0013_favourites.up.sql", size: 132, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)} + info := bindataFileInfo{name: "0013_favourites.up.sql", size: 132, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xbe, 0x1, 0x27, 0x38, 0x76, 0xf5, 0xcb, 0x61, 0xda, 0x5b, 0xce, 0xd9, 0x8b, 0x18, 0x77, 0x61, 0x84, 0xe7, 0x22, 0xe2, 0x13, 0x99, 0xab, 0x32, 0xbc, 0xbe, 0xed, 0x1f, 0x2f, 0xb0, 0xe4, 0x8d}} return a, nil } @@ -597,7 +597,7 @@ func _0014_add_use_mailserversDownSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "0014_add_use_mailservers.down.sql", size: 0, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)} + info := bindataFileInfo{name: "0014_add_use_mailservers.down.sql", size: 0, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe3, 0xb0, 0xc4, 0x42, 0x98, 0xfc, 0x1c, 0x14, 0x9a, 0xfb, 0xf4, 0xc8, 0x99, 0x6f, 0xb9, 0x24, 0x27, 0xae, 0x41, 0xe4, 0x64, 0x9b, 0x93, 0x4c, 0xa4, 0x95, 0x99, 0x1b, 0x78, 0x52, 0xb8, 0x55}} return a, nil } @@ -617,7 +617,7 @@ func _0014_add_use_mailserversUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "0014_add_use_mailservers.up.sql", size: 111, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)} + info := bindataFileInfo{name: "0014_add_use_mailservers.up.sql", size: 111, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc9, 0xba, 0x65, 0xbf, 0x1b, 0xc9, 0x6d, 0x45, 0xf2, 0xf5, 0x30, 0x7c, 0xc1, 0xde, 0xb8, 0xe3, 0x3f, 0xa9, 0x2f, 0x9f, 0xea, 0x1, 0x29, 0x29, 0x65, 0xe7, 0x38, 0xab, 0xa4, 0x62, 0xf, 0xd0}} return a, nil } @@ -637,7 +637,7 @@ func _0015_link_previewsDownSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "0015_link_previews.down.sql", size: 0, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)} + info := bindataFileInfo{name: "0015_link_previews.down.sql", size: 0, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe3, 0xb0, 0xc4, 0x42, 0x98, 0xfc, 0x1c, 0x14, 0x9a, 0xfb, 0xf4, 0xc8, 0x99, 0x6f, 0xb9, 0x24, 0x27, 0xae, 0x41, 0xe4, 0x64, 0x9b, 0x93, 0x4c, 0xa4, 0x95, 0x99, 0x1b, 0x78, 0x52, 0xb8, 0x55}} return a, nil } @@ -657,7 +657,7 @@ func _0015_link_previewsUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "0015_link_previews.up.sql", size: 203, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)} + info := bindataFileInfo{name: "0015_link_previews.up.sql", size: 203, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb1, 0xf7, 0x38, 0x25, 0xa6, 0xfc, 0x6b, 0x9, 0xe4, 0xd9, 0xbf, 0x58, 0x7b, 0x80, 0xd8, 0x48, 0x63, 0xde, 0xa5, 0x5e, 0x30, 0xa3, 0xeb, 0x68, 0x8e, 0x6a, 0x9f, 0xfd, 0xf4, 0x46, 0x41, 0x34}} return a, nil } @@ -677,7 +677,7 @@ func _0016_local_notifications_preferencesDownSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "0016_local_notifications_preferences.down.sql", size: 43, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)} + info := bindataFileInfo{name: "0016_local_notifications_preferences.down.sql", size: 43, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe0, 0x50, 0xc7, 0xdd, 0x53, 0x9c, 0x5d, 0x1e, 0xb5, 0x71, 0x25, 0x50, 0x58, 0xcf, 0x6d, 0xbe, 0x5a, 0x8, 0x12, 0xc9, 0x13, 0xd, 0x9a, 0x3d, 0x4b, 0x7a, 0x2f, 0x1b, 0xe5, 0x23, 0x52, 0x78}} return a, nil } @@ -697,7 +697,7 @@ func _0016_local_notifications_preferencesUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "0016_local_notifications_preferences.up.sql", size: 204, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)} + info := bindataFileInfo{name: "0016_local_notifications_preferences.up.sql", size: 204, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3f, 0x3a, 0x16, 0x25, 0xdf, 0xba, 0x62, 0xd3, 0x81, 0x73, 0xc, 0x10, 0x85, 0xbc, 0x8d, 0xe, 0x1d, 0x62, 0xcb, 0xb, 0x6d, 0x8c, 0x4f, 0x63, 0x5f, 0xe2, 0xd, 0xc5, 0x46, 0xa8, 0x35, 0x5b}} return a, nil } @@ -717,7 +717,7 @@ func _0017_bookmarksDownSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "0017_bookmarks.down.sql", size: 22, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)} + info := bindataFileInfo{name: "0017_bookmarks.down.sql", size: 22, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x9a, 0x13, 0x2a, 0x44, 0xb0, 0x3, 0x18, 0x63, 0xb8, 0x33, 0xda, 0x3a, 0xeb, 0xb8, 0xcb, 0xd1, 0x98, 0x29, 0xa7, 0xf0, 0x6, 0x9d, 0xc9, 0x62, 0xe7, 0x89, 0x7f, 0x77, 0xaf, 0xec, 0x6b, 0x8f}} return a, nil } @@ -737,7 +737,7 @@ func _0017_bookmarksUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "0017_bookmarks.up.sql", size: 147, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)} + info := bindataFileInfo{name: "0017_bookmarks.up.sql", size: 147, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xbc, 0x47, 0xe1, 0xe3, 0xd8, 0xc6, 0x4, 0x6d, 0x5f, 0x2f, 0xa, 0x51, 0xa6, 0x8c, 0x6a, 0xe0, 0x3d, 0x8c, 0x91, 0x47, 0xbc, 0x1, 0x75, 0x46, 0x92, 0x2, 0x18, 0x6e, 0xe3, 0x4f, 0x18, 0x57}} return a, nil } @@ -757,7 +757,7 @@ func _0018_profile_pictures_visibilityUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "0018_profile_pictures_visibility.up.sql", size: 84, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)} + info := bindataFileInfo{name: "0018_profile_pictures_visibility.up.sql", size: 84, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc9, 0xe3, 0xc5, 0xec, 0x83, 0x55, 0x45, 0x57, 0x7a, 0xaa, 0xd2, 0xa7, 0x59, 0xa7, 0x87, 0xef, 0x63, 0x19, 0x9c, 0x46, 0x9c, 0xc5, 0x32, 0x89, 0xa4, 0x68, 0x70, 0xd8, 0x83, 0x43, 0xa4, 0x72}} return a, nil } @@ -777,7 +777,7 @@ func _0019_blocks_ranges_extra_dataUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "0019_blocks_ranges_extra_data.up.sql", size: 89, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)} + info := bindataFileInfo{name: "0019_blocks_ranges_extra_data.up.sql", size: 89, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa3, 0x96, 0x32, 0x58, 0xf0, 0xb9, 0xe1, 0x70, 0x81, 0xca, 0x8d, 0x45, 0x57, 0x8a, 0x7, 0x5d, 0x9e, 0x2a, 0x30, 0xb, 0xad, 0x5f, 0xf8, 0xd4, 0x30, 0x94, 0x73, 0x37, 0x8d, 0xc1, 0x9a, 0xed}} return a, nil } @@ -797,7 +797,7 @@ func _0020_metricsUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "0020_metrics.up.sql", size: 235, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)} + info := bindataFileInfo{name: "0020_metrics.up.sql", size: 235, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe8, 0x32, 0xbc, 0xb6, 0x9b, 0x5a, 0x8f, 0x9f, 0x4c, 0x90, 0x81, 0x3e, 0x2e, 0xd1, 0x23, 0xcd, 0xf1, 0x83, 0x35, 0xca, 0x66, 0x87, 0x52, 0x4e, 0x30, 0x3e, 0x4f, 0xa8, 0xfd, 0x30, 0x16, 0xbd}} return a, nil } @@ -817,7 +817,7 @@ func _0021_add_session_id_to_metricsUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "0021_add_session_id_to_metrics.up.sql", size: 55, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)} + info := bindataFileInfo{name: "0021_add_session_id_to_metrics.up.sql", size: 55, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb7, 0x81, 0xfc, 0x97, 0xd1, 0x8b, 0xea, 0x8e, 0xd7, 0xc2, 0x53, 0x62, 0xe9, 0xbc, 0xf, 0x8c, 0x46, 0x41, 0x41, 0xb7, 0x6, 0x35, 0xf5, 0xba, 0xbb, 0x28, 0x50, 0x48, 0xbf, 0x36, 0x90, 0x5c}} return a, nil } @@ -837,7 +837,7 @@ func _0022_pending_transfersUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "0022_pending_transfers.up.sql", size: 706, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)} + info := bindataFileInfo{name: "0022_pending_transfers.up.sql", size: 706, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6a, 0x9, 0xe6, 0x6, 0xae, 0x60, 0xdd, 0xbb, 0x76, 0xac, 0xe0, 0x57, 0x30, 0x67, 0x37, 0x93, 0x40, 0x13, 0xec, 0xf2, 0x6e, 0x61, 0xa, 0x14, 0xb2, 0xb1, 0xbd, 0x91, 0xf8, 0x89, 0xb3, 0xe3}} return a, nil } @@ -857,7 +857,7 @@ func _1618237885_settings_anon_metrics_should_sendUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1618237885_settings_anon_metrics_should_send.up.sql", size: 80, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)} + info := bindataFileInfo{name: "1618237885_settings_anon_metrics_should_send.up.sql", size: 80, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xea, 0x6c, 0x1d, 0x1f, 0x54, 0x62, 0x18, 0x22, 0x5c, 0xa7, 0x8c, 0x59, 0x24, 0xd3, 0x4d, 0x55, 0xc4, 0x2a, 0x9e, 0x4c, 0x37, 0x6b, 0xfd, 0xac, 0xec, 0xb7, 0x68, 0x21, 0x26, 0x26, 0xf3, 0x92}} return a, nil } @@ -877,7 +877,7 @@ func _1618395756_contacts_onlyUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1618395756_contacts_only.up.sql", size: 136, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)} + info := bindataFileInfo{name: "1618395756_contacts_only.up.sql", size: 136, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x1, 0xe3, 0xd0, 0xe7, 0xf2, 0x6e, 0xbf, 0x27, 0xf6, 0xe2, 0x2e, 0x16, 0x4b, 0x52, 0x3b, 0xcf, 0x63, 0x52, 0xfc, 0x1d, 0x43, 0xba, 0x42, 0xf9, 0x1e, 0x1e, 0x39, 0x40, 0xed, 0x0, 0x20, 0xa8}} return a, nil } @@ -897,7 +897,7 @@ func _1622184614_add_default_sync_periodUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1622184614_add_default_sync_period.up.sql", size: 125, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)} + info := bindataFileInfo{name: "1622184614_add_default_sync_period.up.sql", size: 125, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x60, 0x39, 0xeb, 0x8f, 0xdc, 0x1, 0x56, 0xc1, 0x9b, 0xaa, 0xda, 0x44, 0xe0, 0xdb, 0xda, 0x2c, 0xe7, 0x71, 0x8d, 0xbc, 0xc1, 0x9a, 0x4f, 0x48, 0xe0, 0x5e, 0x81, 0x1e, 0x8e, 0x6a, 0x4d, 0x3}} return a, nil } @@ -917,7 +917,7 @@ func _1625872445_user_statusUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1625872445_user_status.up.sql", size: 351, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)} + info := bindataFileInfo{name: "1625872445_user_status.up.sql", size: 351, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf5, 0xa, 0xfe, 0x7a, 0xcc, 0x9e, 0x35, 0x26, 0xb, 0xc8, 0xf2, 0x7d, 0xfa, 0x4b, 0xcf, 0x53, 0x20, 0x76, 0xc7, 0xd, 0xbc, 0x78, 0x4f, 0x74, 0x2d, 0x2e, 0x2e, 0x7e, 0x62, 0xae, 0x78, 0x1f}} return a, nil } @@ -937,7 +937,7 @@ func _1627983977_add_gif_to_settingsUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1627983977_add_gif_to_settings.up.sql", size: 102, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)} + info := bindataFileInfo{name: "1627983977_add_gif_to_settings.up.sql", size: 102, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x63, 0xe6, 0xe1, 0x97, 0x64, 0x4c, 0xe2, 0x14, 0xb1, 0x96, 0x3a, 0xb0, 0xb9, 0xb7, 0xb5, 0x78, 0x4a, 0x39, 0x69, 0x89, 0xb7, 0x89, 0x19, 0xb8, 0x89, 0x1, 0xc5, 0xc2, 0x85, 0x53, 0xe2, 0x83}} return a, nil } @@ -957,7 +957,7 @@ func _1628580203_add_hidden_accountUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1628580203_add_hidden_account.up.sql", size: 67, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)} + info := bindataFileInfo{name: "1628580203_add_hidden_account.up.sql", size: 67, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xcb, 0x30, 0xf1, 0xd4, 0x60, 0xe2, 0x28, 0x14, 0xcb, 0x16, 0xb, 0x9, 0xea, 0x17, 0xa, 0x9e, 0x89, 0xa8, 0x32, 0x32, 0xf8, 0x4d, 0xa0, 0xe1, 0xe5, 0x79, 0xbd, 0x7d, 0x79, 0xe9, 0x4c, 0x9e}} return a, nil } @@ -977,7 +977,7 @@ func _1629123384_add_id_to_app_metricsUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1629123384_add_id_to_app_metrics.up.sql", size: 589, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)} + info := bindataFileInfo{name: "1629123384_add_id_to_app_metrics.up.sql", size: 589, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xdf, 0x66, 0xc0, 0x69, 0xb, 0xad, 0x49, 0x7c, 0x8c, 0x67, 0xb8, 0xd6, 0x8d, 0x5d, 0x86, 0x1f, 0xa4, 0x53, 0xf5, 0x8, 0x1, 0xfd, 0x38, 0x49, 0xee, 0x84, 0xc0, 0xd8, 0x17, 0x72, 0x3, 0xb3}} return a, nil } @@ -997,7 +997,7 @@ func _1630401853_add_opensea_enabled_to_settingsUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1630401853_add_opensea_enabled_to_settings.up.sql", size: 70, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)} + info := bindataFileInfo{name: "1630401853_add_opensea_enabled_to_settings.up.sql", size: 70, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6, 0x91, 0x86, 0x15, 0xc8, 0x99, 0xe3, 0xae, 0xa, 0x6e, 0x94, 0x48, 0x51, 0x5b, 0x18, 0xe0, 0xbc, 0xaf, 0x34, 0x75, 0x55, 0x61, 0xd4, 0xc1, 0x85, 0xc7, 0x3d, 0x99, 0x9e, 0x1f, 0x37, 0x56}} return a, nil } @@ -1017,7 +1017,7 @@ func _1630464455_createSaved_addressesTableDownSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1630464455_create-saved_addresses-table.down.sql", size: 28, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)} + info := bindataFileInfo{name: "1630464455_create-saved_addresses-table.down.sql", size: 28, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x23, 0x52, 0x39, 0xb5, 0x42, 0xac, 0xcb, 0xa1, 0x44, 0xb7, 0x94, 0x26, 0x24, 0xb2, 0x12, 0xc, 0xc5, 0xbf, 0x63, 0x13, 0x6f, 0x3c, 0x4, 0x7b, 0xf0, 0xd, 0xfa, 0x55, 0x9e, 0x51, 0xf9, 0x7a}} return a, nil } @@ -1037,7 +1037,7 @@ func _1630464455_createSaved_addressesTableUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1630464455_create-saved_addresses-table.up.sql", size: 187, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)} + info := bindataFileInfo{name: "1630464455_create-saved_addresses-table.up.sql", size: 187, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x32, 0xf, 0x56, 0x18, 0xeb, 0x4e, 0xac, 0xd8, 0xd6, 0x91, 0xae, 0x83, 0xcf, 0x91, 0x9e, 0x4, 0x4b, 0x2, 0x1f, 0x6d, 0xba, 0xf6, 0x3, 0xf2, 0x98, 0x72, 0xf6, 0x91, 0x29, 0x96, 0x0, 0x35}} return a, nil } @@ -1057,7 +1057,7 @@ func _1630485153_networksDownSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1630485153_networks.down.sql", size: 21, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)} + info := bindataFileInfo{name: "1630485153_networks.down.sql", size: 21, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xbb, 0x3e, 0x57, 0xb7, 0xf7, 0x8, 0xbd, 0xb5, 0xc2, 0xea, 0xc, 0x45, 0xb7, 0x7, 0x9, 0xca, 0xe7, 0x48, 0x7e, 0x56, 0x4e, 0x44, 0x78, 0x8e, 0xe3, 0x87, 0x63, 0xaf, 0x16, 0x3f, 0xf9, 0x71}} return a, nil } @@ -1077,7 +1077,7 @@ func _1630485153_networksUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1630485153_networks.up.sql", size: 394, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)} + info := bindataFileInfo{name: "1630485153_networks.up.sql", size: 394, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xed, 0x9, 0x1d, 0x3, 0x86, 0xbd, 0xc5, 0xde, 0x3c, 0x1b, 0x40, 0x41, 0x7c, 0x61, 0x8, 0x80, 0x53, 0x87, 0x1b, 0x5a, 0x56, 0xd, 0x88, 0x1d, 0x60, 0x24, 0xce, 0x7b, 0x8f, 0xff, 0xaf, 0x36}} return a, nil } @@ -1097,7 +1097,7 @@ func _1632262444_profile_pictures_show_toUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1632262444_profile_pictures_show_to.up.sql", size: 81, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)} + info := bindataFileInfo{name: "1632262444_profile_pictures_show_to.up.sql", size: 81, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc3, 0xa2, 0x5a, 0x94, 0xde, 0x86, 0x2a, 0x29, 0xf5, 0xb3, 0x36, 0xe7, 0x53, 0x81, 0x55, 0xc9, 0xb5, 0xc3, 0xf4, 0x8c, 0x65, 0x2c, 0x4c, 0x48, 0xfd, 0x3c, 0xb7, 0x14, 0xb4, 0xea, 0x7a, 0x13}} return a, nil } @@ -1117,7 +1117,7 @@ func _1635942153_add_telemetry_server_url_to_settingsUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1635942153_add_telemetry_server_url_to_settings.up.sql", size: 128, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)} + info := bindataFileInfo{name: "1635942153_add_telemetry_server_url_to_settings.up.sql", size: 128, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6e, 0x9b, 0x1d, 0x39, 0x9c, 0x8d, 0x50, 0x86, 0xdf, 0xe5, 0x81, 0x55, 0xdc, 0x31, 0xcd, 0xb7, 0xc7, 0x5a, 0x67, 0x3b, 0x21, 0x99, 0xa5, 0x74, 0xb8, 0xd3, 0x58, 0xae, 0x29, 0x68, 0x2a, 0x8d}} return a, nil } @@ -1137,7 +1137,7 @@ func _1635942154_add_backup_settingUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1635942154_add_backup_setting.up.sql", size: 287, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)} + info := bindataFileInfo{name: "1635942154_add_backup_setting.up.sql", size: 287, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb7, 0xe7, 0xfb, 0x70, 0x80, 0x5, 0xb4, 0x7b, 0x67, 0x8, 0x6e, 0x5f, 0x45, 0x17, 0xd9, 0x5f, 0x18, 0x66, 0x2f, 0x8a, 0x4f, 0xd4, 0x15, 0xe5, 0x2b, 0xbb, 0x25, 0x7a, 0x30, 0xad, 0x4c, 0x1a}} return a, nil } @@ -1157,7 +1157,7 @@ func _1637745568_add_auto_message_settingUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1637745568_add_auto_message_setting.up.sql", size: 122, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)} + info := bindataFileInfo{name: "1637745568_add_auto_message_setting.up.sql", size: 122, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x1d, 0xd8, 0xd2, 0xc2, 0x3a, 0xd7, 0xf1, 0x96, 0x6a, 0x35, 0xe5, 0x5c, 0xb9, 0xed, 0x4b, 0xf2, 0x5f, 0x80, 0x43, 0xca, 0x40, 0x57, 0x7e, 0xd7, 0x41, 0x9f, 0x70, 0x9f, 0xaf, 0x2a, 0xfc, 0x8f}} return a, nil } @@ -1177,7 +1177,7 @@ func _1640111208_nodeconfigUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1640111208_nodeconfig.up.sql", size: 7659, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)} + info := bindataFileInfo{name: "1640111208_nodeconfig.up.sql", size: 7659, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x8e, 0x5a, 0xc6, 0xed, 0x6, 0xcb, 0x51, 0x8b, 0x78, 0xe9, 0x10, 0x37, 0xd1, 0xad, 0x9b, 0x76, 0x9a, 0xb9, 0x72, 0x85, 0xe7, 0x8a, 0x7f, 0xf0, 0x81, 0xf8, 0x33, 0x59, 0x67, 0x8e, 0xeb, 0xb1}} return a, nil } @@ -1197,7 +1197,7 @@ func docGo() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "doc.go", size: 85, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)} + info := bindataFileInfo{name: "doc.go", size: 85, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe5, 0xd2, 0xea, 0xc5, 0xd, 0xc4, 0x7f, 0x95, 0x8e, 0xd5, 0xf5, 0x96, 0xf2, 0x1b, 0xcb, 0xc7, 0xc2, 0x46, 0x1, 0x78, 0x1d, 0x5d, 0x59, 0x19, 0x99, 0xdd, 0x5b, 0xf5, 0x63, 0xa5, 0x25, 0xb8}} return a, nil } diff --git a/mailserver/migrations/bindata.go b/mailserver/migrations/bindata.go index baa514686..89f64da4d 100644 --- a/mailserver/migrations/bindata.go +++ b/mailserver/migrations/bindata.go @@ -86,7 +86,7 @@ func _1557732988_initialize_dbDownSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1557732988_initialize_db.down.sql", size: 72, mode: os.FileMode(0644), modTime: time.Unix(1648117579, 0)} + info := bindataFileInfo{name: "1557732988_initialize_db.down.sql", size: 72, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x77, 0x40, 0x78, 0xb7, 0x71, 0x3c, 0x20, 0x3b, 0xc9, 0xb, 0x2f, 0x49, 0xe4, 0xff, 0x1c, 0x84, 0x54, 0xa1, 0x30, 0xe3, 0x90, 0xf8, 0x73, 0xda, 0xb0, 0x2a, 0xea, 0x8e, 0xf1, 0x82, 0xe7, 0xd2}} return a, nil } @@ -106,7 +106,7 @@ func _1557732988_initialize_dbUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1557732988_initialize_db.up.sql", size: 278, mode: os.FileMode(0644), modTime: time.Unix(1648117579, 0)} + info := bindataFileInfo{name: "1557732988_initialize_db.up.sql", size: 278, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf5, 0x85, 0x41, 0x7a, 0xba, 0x4f, 0xa3, 0x43, 0xc0, 0x63, 0xfa, 0x2c, 0xd1, 0xc5, 0xbb, 0x20, 0xa0, 0x64, 0xa8, 0x3b, 0x65, 0x82, 0xa2, 0x14, 0x28, 0x18, 0x7c, 0x8b, 0x3a, 0x7a, 0xfd, 0xe0}} return a, nil } @@ -126,7 +126,7 @@ func staticGo() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "static.go", size: 178, mode: os.FileMode(0644), modTime: time.Unix(1648117579, 0)} + info := bindataFileInfo{name: "static.go", size: 178, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xab, 0x8a, 0xf4, 0x27, 0x24, 0x9d, 0x2a, 0x1, 0x7b, 0x54, 0xea, 0xae, 0x4a, 0x35, 0x40, 0x92, 0xb5, 0xf9, 0xb3, 0x54, 0x3e, 0x3a, 0x1a, 0x2b, 0xae, 0xfb, 0x9e, 0x82, 0xeb, 0x4c, 0xf, 0x6}} return a, nil } diff --git a/multiaccounts/migrations/bindata.go b/multiaccounts/migrations/bindata.go index 32aec9a30..33d57f56f 100644 --- a/multiaccounts/migrations/bindata.go +++ b/multiaccounts/migrations/bindata.go @@ -95,7 +95,7 @@ func _0001_accountsDownSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "0001_accounts.down.sql", size: 21, mode: os.FileMode(0644), modTime: time.Unix(1648117579, 0)} + info := bindataFileInfo{name: "0001_accounts.down.sql", size: 21, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd2, 0x61, 0x4c, 0x18, 0xfc, 0xc, 0xdf, 0x5c, 0x1f, 0x5e, 0xd3, 0xbd, 0xfa, 0x12, 0x5e, 0x8d, 0x8d, 0x8b, 0xb9, 0x5f, 0x99, 0x46, 0x63, 0xa5, 0xe3, 0xa6, 0x8a, 0x4, 0xf1, 0x73, 0x8a, 0xe9}} return a, nil } @@ -115,7 +115,7 @@ func _0001_accountsUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "0001_accounts.up.sql", size: 163, mode: os.FileMode(0644), modTime: time.Unix(1648117579, 0)} + info := bindataFileInfo{name: "0001_accounts.up.sql", size: 163, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf2, 0xfa, 0x99, 0x8e, 0x96, 0xb3, 0x13, 0x6c, 0x1f, 0x6, 0x27, 0xc5, 0xd2, 0xd4, 0xe0, 0xa5, 0x26, 0x82, 0xa7, 0x26, 0xf2, 0x68, 0x9d, 0xed, 0x9c, 0x3d, 0xbb, 0xdc, 0x37, 0x28, 0xbc, 0x1}} return a, nil } @@ -135,7 +135,7 @@ func _1605007189_identity_imagesDownSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1605007189_identity_images.down.sql", size: 29, mode: os.FileMode(0644), modTime: time.Unix(1648117579, 0)} + info := bindataFileInfo{name: "1605007189_identity_images.down.sql", size: 29, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x2f, 0xcf, 0xa7, 0xae, 0xd5, 0x4f, 0xcd, 0x14, 0x63, 0x9, 0xbe, 0x39, 0x49, 0x18, 0x96, 0xb2, 0xa3, 0x8, 0x7d, 0x41, 0xdb, 0x50, 0x5d, 0xf5, 0x4d, 0xa2, 0xd, 0x8f, 0x57, 0x79, 0x77, 0x67}} return a, nil } @@ -155,7 +155,7 @@ func _1605007189_identity_imagesUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1605007189_identity_images.up.sql", size: 268, mode: os.FileMode(0644), modTime: time.Unix(1648117579, 0)} + info := bindataFileInfo{name: "1605007189_identity_images.up.sql", size: 268, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x50, 0xb6, 0xc1, 0x5c, 0x76, 0x72, 0x6b, 0x22, 0x34, 0xdc, 0x96, 0xdc, 0x2b, 0xfd, 0x2d, 0xbe, 0xcc, 0x1e, 0xd4, 0x5, 0x93, 0xd, 0xc2, 0x51, 0xf3, 0x1a, 0xef, 0x2b, 0x26, 0xa4, 0xeb, 0x65}} return a, nil } @@ -175,7 +175,7 @@ func _1606224181_drop_photo_path_from_accountsDownSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1606224181_drop_photo_path_from_accounts.down.sql", size: 892, mode: os.FileMode(0644), modTime: time.Unix(1648117579, 0)} + info := bindataFileInfo{name: "1606224181_drop_photo_path_from_accounts.down.sql", size: 892, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x90, 0x24, 0x17, 0x7, 0x80, 0x93, 0x6f, 0x8d, 0x5d, 0xaa, 0x8c, 0x79, 0x15, 0x5d, 0xb3, 0x19, 0xd7, 0xd8, 0x39, 0xf9, 0x3a, 0x63, 0x8f, 0x81, 0x15, 0xb6, 0xd6, 0x9a, 0x37, 0xa8, 0x8e, 0x9b}} return a, nil } @@ -195,7 +195,7 @@ func _1606224181_drop_photo_path_from_accountsUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1606224181_drop_photo_path_from_accounts.up.sql", size: 866, mode: os.FileMode(0644), modTime: time.Unix(1648117579, 0)} + info := bindataFileInfo{name: "1606224181_drop_photo_path_from_accounts.up.sql", size: 866, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xff, 0x4c, 0x97, 0xee, 0xef, 0x82, 0xb8, 0x6c, 0x71, 0xbb, 0x50, 0x7b, 0xe6, 0xd9, 0x22, 0x31, 0x7c, 0x1a, 0xfe, 0x91, 0x28, 0xf6, 0x6, 0x36, 0xe, 0xb1, 0xf1, 0xc8, 0x25, 0xac, 0x7e, 0xd6}} return a, nil } @@ -215,7 +215,7 @@ func _1648646095_image_clockDownSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1648646095_image_clock.down.sql", size: 939, mode: os.FileMode(0644), modTime: time.Unix(1664364467, 0)} + info := bindataFileInfo{name: "1648646095_image_clock.down.sql", size: 939, mode: os.FileMode(0644), modTime: time.Unix(1675323803, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x4d, 0xa8, 0x1f, 0xf, 0xe0, 0xd7, 0xc9, 0x68, 0x98, 0xd8, 0x37, 0xb8, 0xba, 0x9e, 0xb2, 0x19, 0xf3, 0xc4, 0x73, 0x80, 0x3, 0x17, 0x2a, 0x53, 0x68, 0x10, 0x13, 0x54, 0x99, 0xb1, 0xf5, 0x1c}} return a, nil } @@ -235,7 +235,7 @@ func _1648646095_image_clockUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1648646095_image_clock.up.sql", size: 69, mode: os.FileMode(0644), modTime: time.Unix(1664364467, 0)} + info := bindataFileInfo{name: "1648646095_image_clock.up.sql", size: 69, mode: os.FileMode(0644), modTime: time.Unix(1675323803, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x98, 0xa6, 0xa4, 0x4e, 0x4e, 0xca, 0x17, 0x56, 0xea, 0xfb, 0xf0, 0xa9, 0x81, 0x95, 0xe, 0x80, 0x52, 0x1, 0x47, 0x9b, 0xde, 0x14, 0xfa, 0x72, 0xc9, 0x62, 0x6f, 0x24, 0xa2, 0xc, 0x32, 0x50}} return a, nil } @@ -255,7 +255,7 @@ func _1649317600_add_color_hashUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1649317600_add_color_hash.up.sql", size: 201, mode: os.FileMode(0644), modTime: time.Unix(1664364467, 0)} + info := bindataFileInfo{name: "1649317600_add_color_hash.up.sql", size: 201, mode: os.FileMode(0644), modTime: time.Unix(1675323803, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x1a, 0xf, 0x37, 0x6d, 0xcf, 0x99, 0xc9, 0x2e, 0xdc, 0x70, 0x11, 0xb4, 0x36, 0x26, 0x4f, 0x39, 0xa8, 0x44, 0xf, 0xcb, 0xcc, 0x81, 0x74, 0x7a, 0x88, 0xaa, 0x54, 0x8c, 0xc4, 0xe, 0x56, 0x4f}} return a, nil } @@ -275,7 +275,7 @@ func _1660238799_accounts_kdfUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1660238799_accounts_kdf.up.sql", size: 115, mode: os.FileMode(0644), modTime: time.Unix(1668711465, 0)} + info := bindataFileInfo{name: "1660238799_accounts_kdf.up.sql", size: 115, mode: os.FileMode(0644), modTime: time.Unix(1675323803, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xdf, 0xe6, 0x7a, 0x69, 0x25, 0x42, 0x3b, 0x9c, 0x20, 0xf5, 0xcb, 0xae, 0xb0, 0xb3, 0x1b, 0x66, 0xc2, 0x5d, 0xd0, 0xc1, 0x59, 0xe8, 0xa9, 0xc5, 0x69, 0x58, 0x8f, 0xae, 0xe6, 0xd1, 0x4c, 0x53}} return a, nil } @@ -295,7 +295,7 @@ func _1679505708_add_customization_colorUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1679505708_add_customization_color.up.sql", size: 78, mode: os.FileMode(0644), modTime: time.Unix(1681203908, 0)} + info := bindataFileInfo{name: "1679505708_add_customization_color.up.sql", size: 78, mode: os.FileMode(0644), modTime: time.Unix(1679901265, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa9, 0xe1, 0x3d, 0xaa, 0x5d, 0x35, 0x87, 0x8a, 0x8b, 0xe9, 0x4a, 0xa6, 0x7b, 0x85, 0xbc, 0x33, 0x11, 0xc7, 0x7d, 0x61, 0xac, 0x65, 0x59, 0xda, 0x32, 0x59, 0x68, 0x9d, 0xa1, 0x10, 0x7b, 0xa9}} return a, nil } @@ -315,7 +315,7 @@ func docGo() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "doc.go", size: 74, mode: os.FileMode(0644), modTime: time.Unix(1648117579, 0)} + info := bindataFileInfo{name: "doc.go", size: 74, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xde, 0x7c, 0x28, 0xcd, 0x47, 0xf2, 0xfa, 0x7c, 0x51, 0x2d, 0xd8, 0x38, 0xb, 0xb0, 0x34, 0x9d, 0x4c, 0x62, 0xa, 0x9e, 0x28, 0xc3, 0x31, 0x23, 0xd9, 0xbb, 0x89, 0x9f, 0xa0, 0x89, 0x1f, 0xe8}} return a, nil } diff --git a/multiaccounts/settings/columns.go b/multiaccounts/settings/columns.go index fe289efb8..280aa50ea 100644 --- a/multiaccounts/settings/columns.go +++ b/multiaccounts/settings/columns.go @@ -395,6 +395,12 @@ var ( reactFieldName: "usernames", dBColumnName: "usernames", valueHandler: JSONBlobHandler, + syncProtobufFactory: &SyncProtobufFactory{ + fromInterface: usernamesProtobufFactory, + fromStruct: usernamesProtobufFactoryStruct, + valueFromProtobuf: BytesFromSyncProtobuf, + protobufType: protobuf.SyncSetting_ENS_USERNAMES, + }, } WakuBloomFilterMode = SettingField{ reactFieldName: "waku-bloom-filter-mode", diff --git a/multiaccounts/settings/database.go b/multiaccounts/settings/database.go index 6abb4401b..ff68ae826 100644 --- a/multiaccounts/settings/database.go +++ b/multiaccounts/settings/database.go @@ -580,6 +580,11 @@ func (db *Database) GetInstalledStickerPacks() (rst *json.RawMessage, err error) return } +func (db *Database) Usernames() (rst *json.RawMessage, err error) { + err = db.makeSelectRow(Usernames).Scan(&rst) + return +} + func (db *Database) GetPendingStickerPacks() (rst *json.RawMessage, err error) { err = db.makeSelectRow(StickersPacksPending).Scan(&rst) return diff --git a/multiaccounts/settings/sync_protobuf_factories.go b/multiaccounts/settings/sync_protobuf_factories.go index 86ab83d89..91a7f7aa2 100644 --- a/multiaccounts/settings/sync_protobuf_factories.go +++ b/multiaccounts/settings/sync_protobuf_factories.go @@ -514,3 +514,29 @@ func mnemonicRemovedProtobufFactory(value interface{}, clock uint64, chatID stri func mnemonicRemovedProtobufFactoryStruct(s Settings, clock uint64, chatID string) (*common.RawMessage, *protobuf.SyncSetting, error) { return buildRawMnemonicRemovedSyncMessage(s.MnemonicRemoved, clock, chatID) } + +// Usernames + +func buildRawUsernamesSyncMessage(v []byte, clock uint64, chatID string) (*common.RawMessage, *protobuf.SyncSetting, error) { + pb := &protobuf.SyncSetting{ + Type: protobuf.SyncSetting_ENS_USERNAMES, + Value: &protobuf.SyncSetting_ValueBytes{ValueBytes: v}, + Clock: clock, + } + rm, err := buildRawSyncSettingMessage(pb, chatID) + return rm, pb, err +} + +func usernamesProtobufFactory(value interface{}, clock uint64, chatID string) (*common.RawMessage, *protobuf.SyncSetting, error) { + v, err := assertBytes(value) + if err != nil { + return nil, nil, err + } + + return buildRawUsernamesSyncMessage(v, clock, chatID) +} + +func usernamesProtobufFactoryStruct(s Settings, clock uint64, chatID string) (*common.RawMessage, *protobuf.SyncSetting, error) { + us := extractJSONRawMessage(s.Usernames) + return buildRawUsernamesSyncMessage(us, clock, chatID) +} diff --git a/node/status_node_services.go b/node/status_node_services.go index 01ca67a30..ec30da09b 100644 --- a/node/status_node_services.go +++ b/node/status_node_services.go @@ -5,6 +5,7 @@ import ( "errors" "fmt" "reflect" + "time" "github.com/status-im/status-go/server" @@ -73,7 +74,7 @@ func (b *StatusNode) initServices(config *params.NodeConfig, mediaServer *server services = append(services, b.peerService()) services = append(services, b.personalService()) services = append(services, b.statusPublicService()) - services = append(services, b.ensService()) + services = append(services, b.ensService(b.timeSourceNow())) services = append(services, b.collectiblesService()) services = append(services, b.stickersService(accDB)) services = append(services, b.updatesService()) @@ -217,6 +218,10 @@ func (b *StatusNode) BrowserService() *browsers.Service { return b.browsersSrvc } +func (b *StatusNode) EnsService() *ens.Service { + return b.ensSrvc +} + func (b *StatusNode) WakuService() *waku.Waku { return b.wakuSrvc } @@ -392,9 +397,9 @@ func (b *StatusNode) browsersService() *browsers.Service { return b.browsersSrvc } -func (b *StatusNode) ensService() *ens.Service { +func (b *StatusNode) ensService(timesource func() time.Time) *ens.Service { if b.ensSrvc == nil { - b.ensSrvc = ens.NewService(b.rpcClient, b.gethAccountManager, b.rpcFiltersSrvc, b.config, b.appDB) + b.ensSrvc = ens.NewService(b.rpcClient, b.gethAccountManager, b.rpcFiltersSrvc, b.config, b.appDB, timesource) } return b.ensSrvc } @@ -415,7 +420,7 @@ func (b *StatusNode) stickersService(accountDB *accounts.Database) *stickers.Ser func (b *StatusNode) updatesService() *updates.Service { if b.updatesSrvc == nil { - b.updatesSrvc = updates.NewService(b.ensService()) + b.updatesSrvc = updates.NewService(b.ensService(b.timeSourceNow())) } return b.updatesSrvc @@ -475,7 +480,7 @@ func (b *StatusNode) walletService(accountsDB *accounts.Database, accountsFeed * } b.walletSrvc = wallet.NewService( b.appDB, accountsDB, b.rpcClient, accountsFeed, b.gethAccountManager, b.transactor, b.config, - b.ensService(), + b.ensService(b.timeSourceNow()), b.stickersService(accountsDB), extService, ) @@ -584,6 +589,10 @@ func (b *StatusNode) timeSource() *timesource.NTPTimeSource { return b.timeSourceSrvc } +func (b *StatusNode) timeSourceNow() func() time.Time { + return b.timeSource().Now +} + func (b *StatusNode) Cleanup() error { if b.wakuSrvc != nil { if err := b.wakuSrvc.DeleteKeyPairs(); err != nil { diff --git a/protocol/anonmetrics/migrations/migrations.go b/protocol/anonmetrics/migrations/migrations.go index c02a2132d..57d8cf8a8 100644 --- a/protocol/anonmetrics/migrations/migrations.go +++ b/protocol/anonmetrics/migrations/migrations.go @@ -86,7 +86,7 @@ func _1619446565_postgres_make_anon_metrics_tableDownSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1619446565_postgres_make_anon_metrics_table.down.sql", size: 24, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1619446565_postgres_make_anon_metrics_table.down.sql", size: 24, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x75, 0xea, 0x1, 0x74, 0xe6, 0xa3, 0x11, 0xd0, 0x86, 0x87, 0x7e, 0x31, 0xb4, 0x1a, 0x27, 0x5d, 0xda, 0x77, 0xa3, 0xf5, 0x1d, 0x88, 0x79, 0xcf, 0xd5, 0x95, 0x75, 0xd, 0x47, 0xa1, 0x90, 0x5}} return a, nil } @@ -106,7 +106,7 @@ func _1619446565_postgres_make_anon_metrics_tableUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1619446565_postgres_make_anon_metrics_table.up.sql", size: 443, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1619446565_postgres_make_anon_metrics_table.up.sql", size: 443, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd5, 0xdc, 0x72, 0x28, 0x3c, 0xf6, 0x94, 0xb0, 0x47, 0x3d, 0xca, 0x55, 0x3d, 0xf7, 0x83, 0xb8, 0x7d, 0x2f, 0x1e, 0x98, 0xb7, 0xde, 0xa, 0xff, 0xa0, 0x52, 0x60, 0x83, 0x56, 0xc5, 0xd1, 0xa2}} return a, nil } @@ -126,7 +126,7 @@ func docGo() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "doc.go", size: 380, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "doc.go", size: 380, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x49, 0x1, 0xd4, 0xd6, 0xc7, 0x44, 0xd4, 0xfd, 0x7b, 0x69, 0x1f, 0xe3, 0xe, 0x48, 0x14, 0x99, 0xf0, 0x8e, 0x43, 0xae, 0x54, 0x64, 0xa2, 0x8b, 0x82, 0x1c, 0x2b, 0xb, 0xec, 0xf5, 0xb3, 0xfc}} return a, nil } diff --git a/protocol/encryption/migrations/migrations.go b/protocol/encryption/migrations/migrations.go index 9330795c3..19743253b 100644 --- a/protocol/encryption/migrations/migrations.go +++ b/protocol/encryption/migrations/migrations.go @@ -103,7 +103,7 @@ func _1536754952_initial_schemaDownSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1536754952_initial_schema.down.sql", size: 83, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1536754952_initial_schema.down.sql", size: 83, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x44, 0xcf, 0x76, 0x71, 0x1f, 0x5e, 0x9a, 0x43, 0xd8, 0xcd, 0xb8, 0xc3, 0x70, 0xc3, 0x7f, 0xfc, 0x90, 0xb4, 0x25, 0x1e, 0xf4, 0x66, 0x20, 0xb8, 0x33, 0x7e, 0xb0, 0x76, 0x1f, 0xc, 0xc0, 0x75}} return a, nil } @@ -123,7 +123,7 @@ func _1536754952_initial_schemaUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1536754952_initial_schema.up.sql", size: 962, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1536754952_initial_schema.up.sql", size: 962, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xea, 0x90, 0x5a, 0x59, 0x3e, 0x3, 0xe2, 0x3c, 0x81, 0x42, 0xcd, 0x4c, 0x9a, 0xe8, 0xda, 0x93, 0x2b, 0x70, 0xa4, 0xd5, 0x29, 0x3e, 0xd5, 0xc9, 0x27, 0xb6, 0xb7, 0x65, 0xff, 0x0, 0xcb, 0xde}} return a, nil } @@ -143,7 +143,7 @@ func _1539249977_update_ratchet_infoDownSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1539249977_update_ratchet_info.down.sql", size: 311, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1539249977_update_ratchet_info.down.sql", size: 311, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x1, 0xa4, 0xeb, 0xa0, 0xe6, 0xa0, 0xd4, 0x48, 0xbb, 0xad, 0x6f, 0x7d, 0x67, 0x8c, 0xbd, 0x25, 0xde, 0x1f, 0x73, 0x9a, 0xbb, 0xa8, 0xc9, 0x30, 0xb7, 0xa9, 0x7c, 0xaf, 0xb5, 0x1, 0x61, 0xdd}} return a, nil } @@ -163,7 +163,7 @@ func _1539249977_update_ratchet_infoUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1539249977_update_ratchet_info.up.sql", size: 368, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1539249977_update_ratchet_info.up.sql", size: 368, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc, 0x8e, 0xbf, 0x6f, 0xa, 0xc0, 0xe1, 0x3c, 0x42, 0x28, 0x88, 0x1d, 0xdb, 0xba, 0x1c, 0x83, 0xec, 0xba, 0xd3, 0x5f, 0x5c, 0x77, 0x5e, 0xa7, 0x46, 0x36, 0xec, 0x69, 0xa, 0x4b, 0x17, 0x79}} return a, nil } @@ -183,7 +183,7 @@ func _1540715431_add_versionDownSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1540715431_add_version.down.sql", size: 127, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1540715431_add_version.down.sql", size: 127, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf5, 0x9, 0x4, 0xe3, 0x76, 0x2e, 0xb8, 0x9, 0x23, 0xf0, 0x70, 0x93, 0xc4, 0x50, 0xe, 0x9d, 0x84, 0x22, 0x8c, 0x94, 0xd3, 0x24, 0x9, 0x9a, 0xc1, 0xa1, 0x48, 0x45, 0xfd, 0x40, 0x6e, 0xe6}} return a, nil } @@ -203,7 +203,7 @@ func _1540715431_add_versionUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1540715431_add_version.up.sql", size: 265, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1540715431_add_version.up.sql", size: 265, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc7, 0x4c, 0x36, 0x96, 0xdf, 0x16, 0x10, 0xa6, 0x27, 0x1a, 0x79, 0x8b, 0x42, 0x83, 0x23, 0xc, 0x7e, 0xb6, 0x3d, 0x2, 0xda, 0xa4, 0xb4, 0xd, 0x27, 0x55, 0xba, 0xdc, 0xb2, 0x88, 0x8f, 0xa6}} return a, nil } @@ -223,7 +223,7 @@ func _1541164797_add_installationsDownSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1541164797_add_installations.down.sql", size: 26, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1541164797_add_installations.down.sql", size: 26, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf5, 0xfd, 0xe6, 0xd8, 0xca, 0x3b, 0x38, 0x18, 0xee, 0x0, 0x5f, 0x36, 0x9e, 0x1e, 0xd, 0x19, 0x3e, 0xb4, 0x73, 0x53, 0xe9, 0xa5, 0xac, 0xdd, 0xa1, 0x2f, 0xc7, 0x6c, 0xa8, 0xd9, 0xa, 0x88}} return a, nil } @@ -243,7 +243,7 @@ func _1541164797_add_installationsUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1541164797_add_installations.up.sql", size: 216, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1541164797_add_installations.up.sql", size: 216, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x2d, 0x18, 0x26, 0xb8, 0x88, 0x47, 0xdb, 0x83, 0xcc, 0xb6, 0x9d, 0x1c, 0x1, 0xae, 0x2f, 0xde, 0x97, 0x82, 0x3, 0x30, 0xa8, 0x63, 0xa1, 0x78, 0x4b, 0xa5, 0x9, 0x8, 0x75, 0xa2, 0x57, 0x81}} return a, nil } @@ -263,7 +263,7 @@ func _1558084410_add_secretDownSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1558084410_add_secret.down.sql", size: 56, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1558084410_add_secret.down.sql", size: 56, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x49, 0xb, 0x65, 0xdf, 0x59, 0xbf, 0xe9, 0x5, 0x5b, 0x6f, 0xd5, 0x3a, 0xb7, 0x57, 0xe8, 0x78, 0x38, 0x73, 0x53, 0x57, 0xf7, 0x24, 0x4, 0xe4, 0xa2, 0x49, 0x22, 0xa2, 0xc6, 0xfd, 0x80, 0xa4}} return a, nil } @@ -283,7 +283,7 @@ func _1558084410_add_secretUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1558084410_add_secret.up.sql", size: 301, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1558084410_add_secret.up.sql", size: 301, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf5, 0x32, 0x36, 0x8e, 0x47, 0xb0, 0x8f, 0xc1, 0xc6, 0xf7, 0xc6, 0x9f, 0x2d, 0x44, 0x75, 0x2b, 0x26, 0xec, 0x6, 0xa0, 0x7b, 0xa5, 0xbd, 0xc8, 0x76, 0x8a, 0x82, 0x68, 0x2, 0x42, 0xb5, 0xf4}} return a, nil } @@ -303,7 +303,7 @@ func _1558588866_add_versionDownSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1558588866_add_version.down.sql", size: 47, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1558588866_add_version.down.sql", size: 47, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xde, 0x52, 0x34, 0x3c, 0x46, 0x4a, 0xf0, 0x72, 0x47, 0x6f, 0x49, 0x5c, 0xc7, 0xf9, 0x32, 0xce, 0xc4, 0x3d, 0xfd, 0x61, 0xa1, 0x8b, 0x8f, 0xf2, 0x31, 0x34, 0xde, 0x15, 0x49, 0xa6, 0xde, 0xb9}} return a, nil } @@ -323,7 +323,7 @@ func _1558588866_add_versionUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1558588866_add_version.up.sql", size: 57, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1558588866_add_version.up.sql", size: 57, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x2a, 0xea, 0x64, 0x39, 0x61, 0x20, 0x83, 0x83, 0xb, 0x2e, 0x79, 0x64, 0xb, 0x53, 0xfa, 0xfe, 0xc6, 0xf7, 0x67, 0x42, 0xd3, 0x4f, 0xdc, 0x7e, 0x30, 0x32, 0xe8, 0x14, 0x41, 0xe9, 0xe7, 0x3b}} return a, nil } @@ -343,7 +343,7 @@ func _1559627659_add_contact_codeDownSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1559627659_add_contact_code.down.sql", size: 32, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1559627659_add_contact_code.down.sql", size: 32, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x5d, 0x64, 0x6d, 0xce, 0x24, 0x42, 0x20, 0x8d, 0x4f, 0x37, 0xaa, 0x9d, 0xc, 0x57, 0x98, 0xc1, 0xd1, 0x1a, 0x34, 0xcd, 0x9f, 0x8f, 0x34, 0x86, 0xb3, 0xd3, 0xdc, 0xf1, 0x7d, 0xe5, 0x1b, 0x6e}} return a, nil } @@ -363,7 +363,7 @@ func _1559627659_add_contact_codeUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1559627659_add_contact_code.up.sql", size: 198, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1559627659_add_contact_code.up.sql", size: 198, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x16, 0xf6, 0xc2, 0x62, 0x9c, 0xd2, 0xc9, 0x1e, 0xd8, 0xea, 0xaa, 0xea, 0x95, 0x8f, 0x89, 0x6a, 0x85, 0x5d, 0x9d, 0x99, 0x78, 0x3c, 0x90, 0x66, 0x99, 0x3e, 0x4b, 0x19, 0x62, 0xfb, 0x31, 0x4d}} return a, nil } @@ -383,7 +383,7 @@ func _1561368210_add_installation_metadataDownSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1561368210_add_installation_metadata.down.sql", size: 35, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1561368210_add_installation_metadata.down.sql", size: 35, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa8, 0xde, 0x3f, 0xd2, 0x4a, 0x50, 0x98, 0x56, 0xe3, 0xc0, 0xcd, 0x9d, 0xb0, 0x34, 0x3b, 0xe5, 0x62, 0x18, 0xb5, 0x20, 0xc9, 0x3e, 0xdc, 0x6a, 0x40, 0x36, 0x66, 0xea, 0x51, 0x8c, 0x71, 0xf5}} return a, nil } @@ -403,7 +403,7 @@ func _1561368210_add_installation_metadataUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1561368210_add_installation_metadata.up.sql", size: 267, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1561368210_add_installation_metadata.up.sql", size: 267, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb4, 0x71, 0x8f, 0x29, 0xb1, 0xaa, 0xd6, 0xd1, 0x8c, 0x17, 0xef, 0x6c, 0xd5, 0x80, 0xb8, 0x2c, 0xc3, 0xfe, 0xec, 0x24, 0x4d, 0xc8, 0x25, 0xd3, 0xb4, 0xcd, 0xa9, 0xac, 0x63, 0x61, 0xb2, 0x9c}} return a, nil } @@ -423,7 +423,7 @@ func _1632236298_add_communitiesDownSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1632236298_add_communities.down.sql", size: 151, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1632236298_add_communities.down.sql", size: 151, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x26, 0xe5, 0x47, 0xd1, 0xe5, 0xec, 0x5b, 0x3e, 0xdc, 0x22, 0xf4, 0x27, 0xee, 0x70, 0xf3, 0x9, 0x4f, 0xd2, 0x9f, 0x92, 0xf, 0x5a, 0x18, 0x11, 0xb7, 0x40, 0xab, 0xf1, 0x98, 0x72, 0xd6, 0x60}} return a, nil } @@ -443,7 +443,7 @@ func _1632236298_add_communitiesUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1632236298_add_communities.up.sql", size: 584, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1632236298_add_communities.up.sql", size: 584, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x8f, 0xe0, 0x1, 0x6e, 0x84, 0xc, 0x35, 0xe4, 0x5a, 0xf, 0xbe, 0xcb, 0xf7, 0xd2, 0xa8, 0x25, 0xf5, 0xdb, 0x7, 0xcb, 0xa3, 0xe6, 0xf4, 0xc4, 0x1b, 0xa5, 0xec, 0x32, 0x1e, 0x1e, 0x48, 0x60}} return a, nil } @@ -463,7 +463,7 @@ func _1636536507_add_index_bundlesUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1636536507_add_index_bundles.up.sql", size: 347, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1636536507_add_index_bundles.up.sql", size: 347, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf1, 0xb9, 0x3c, 0x16, 0xfc, 0xfb, 0xb2, 0xb4, 0x3b, 0xfe, 0xdc, 0xf5, 0x9c, 0x42, 0xa0, 0xa0, 0xd4, 0xd, 0x5b, 0x97, 0x10, 0x80, 0x95, 0xe, 0x13, 0xc1, 0x18, 0x8, 0xee, 0xf, 0x99, 0xee}} return a, nil } @@ -483,7 +483,7 @@ func docGo() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "doc.go", size: 377, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "doc.go", size: 377, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xef, 0xaf, 0xdf, 0xcf, 0x65, 0xae, 0x19, 0xfc, 0x9d, 0x29, 0xc1, 0x91, 0xaf, 0xb5, 0xd5, 0xb1, 0x56, 0xf3, 0xee, 0xa8, 0xba, 0x13, 0x65, 0xdb, 0xab, 0xcf, 0x4e, 0xac, 0x92, 0xe9, 0x60, 0xf1}} return a, nil } diff --git a/protocol/messenger.go b/protocol/messenger.go index 4f7d80422..3a69b8429 100644 --- a/protocol/messenger.go +++ b/protocol/messenger.go @@ -56,6 +56,7 @@ import ( "github.com/status-im/status-go/protocol/verification" "github.com/status-im/status-go/server" "github.com/status-im/status-go/services/browsers" + ensservice "github.com/status-im/status-go/services/ens" "github.com/status-im/status-go/services/ext/mailservers" mailserversDB "github.com/status-im/status-go/services/mailservers" "github.com/status-im/status-go/services/wallet" @@ -2476,6 +2477,10 @@ func (m *Messenger) SyncDevices(ctx context.Context, ensName, photoPath string, return err } + if err = m.syncEnsUsernameDetails(ctx, rawMessageHandler); err != nil { + return err + } + return m.syncSocialSettings(ctx, rawMessageHandler) } @@ -2902,6 +2907,74 @@ func (m *Messenger) SyncBookmark(ctx context.Context, bookmark *browsers.Bookmar return m.saveChat(chat) } +func (m *Messenger) SyncEnsNamesWithDispatchMessage(ctx context.Context, usernameDetail *ensservice.UsernameDetail) error { + return m.syncEnsUsernameDetail(ctx, usernameDetail, m.dispatchMessage) +} + +func (m *Messenger) syncEnsUsernameDetails(ctx context.Context, rawMessageHandler RawMessageHandler) error { + if !m.hasPairedDevices() { + return nil + } + + ensNameDetails, err := m.getEnsUsernameDetails() + if err != nil { + return err + } + for _, d := range ensNameDetails { + if err = m.syncEnsUsernameDetail(ctx, d, rawMessageHandler); err != nil { + return err + } + } + return nil +} + +func (m *Messenger) saveEnsUsernameDetailProto(syncMessage protobuf.SyncEnsUsernameDetail) (*ensservice.UsernameDetail, error) { + ud := &ensservice.UsernameDetail{ + Username: syncMessage.Username, + Clock: syncMessage.Clock, + ChainID: syncMessage.ChainId, + Removed: syncMessage.Removed, + } + db := ensservice.NewEnsDatabase(m.database) + err := db.SaveOrUpdateEnsUsername(ud) + if err != nil { + return nil, err + } + return ud, nil +} + +func (m *Messenger) handleSyncEnsUsernameDetail(state *ReceivedMessageState, syncMessage protobuf.SyncEnsUsernameDetail) error { + ud, err := m.saveEnsUsernameDetailProto(syncMessage) + if err != nil { + return err + } + state.Response.AddEnsUsernameDetail(ud) + return nil +} + +func (m *Messenger) syncEnsUsernameDetail(ctx context.Context, usernameDetail *ensservice.UsernameDetail, rawMessageHandler RawMessageHandler) error { + syncMessage := &protobuf.SyncEnsUsernameDetail{ + Clock: usernameDetail.Clock, + Username: usernameDetail.Username, + ChainId: usernameDetail.ChainID, + Removed: usernameDetail.Removed, + } + encodedMessage, err := proto.Marshal(syncMessage) + if err != nil { + return err + } + + rawMessage := common.RawMessage{ + LocalChatID: contactIDFromPublicKey(&m.identity.PublicKey), + Payload: encodedMessage, + MessageType: protobuf.ApplicationMetadataMessage_SYNC_ENS_USERNAME_DETAIL, + ResendAutomatically: true, + } + + _, err = rawMessageHandler(ctx, rawMessage) + return err +} + func (m *Messenger) SyncTrustedUser(ctx context.Context, publicKey string, ts verification.TrustStatus, rawMessageHandler RawMessageHandler) error { if !m.hasPairedDevices() { return nil @@ -4291,6 +4364,19 @@ func (m *Messenger) handleRetrievedMessages(chatWithMessages map[transport.Filte allMessagesProcessed = false continue } + case protobuf.SyncEnsUsernameDetail: + if !common.IsPubKeyEqual(messageState.CurrentMessageState.PublicKey, &m.identity.PublicKey) { + logger.Warn("not coming from us, ignoring") + continue + } + p := msg.ParsedMessage.Interface().(protobuf.SyncEnsUsernameDetail) + m.outputToCSV(msg.TransportMessage.Timestamp, msg.ID, senderID, filter.Topic, filter.ChatID, msg.Type, p) + err = m.handleSyncEnsUsernameDetail(messageState, p) + if err != nil { + logger.Warn("failed to handle SyncEnsName", zap.Error(err)) + allMessagesProcessed = false + continue + } default: // Check if is an encrypted PushNotificationRegistration if msg.Type == protobuf.ApplicationMetadataMessage_PUSH_NOTIFICATION_REGISTRATION { @@ -6130,6 +6216,11 @@ func (m *Messenger) getSettings() (settings.Settings, error) { return sDB.GetSettings() } +func (m *Messenger) getEnsUsernameDetails() (result []*ensservice.UsernameDetail, err error) { + db := ensservice.NewEnsDatabase(m.database) + return db.GetEnsUsernames(nil) +} + func (m *Messenger) handleSyncBookmark(state *ReceivedMessageState, message protobuf.SyncBookmark) error { bookmark := &browsers.Bookmark{ URL: message.Url, diff --git a/protocol/messenger_backup.go b/protocol/messenger_backup.go index 97633b72c..a463829c6 100644 --- a/protocol/messenger_backup.go +++ b/protocol/messenger_backup.go @@ -355,7 +355,7 @@ func (m *Messenger) backupProfile(ctx context.Context, clock uint64) ([]*protobu return nil, err } - pictures := make([]*protobuf.SyncProfilePicture, len(images)) + pictureProtos := make([]*protobuf.SyncProfilePicture, len(images)) for i, image := range images { p := &protobuf.SyncProfilePicture{} p.Name = image.Name @@ -369,29 +369,44 @@ func (m *Messenger) backupProfile(ctx context.Context, clock uint64) ([]*protobu } else { p.Clock = image.Clock } - pictures[i] = p + pictureProtos[i] = p } socialLinks, err := m.settings.GetSocialLinks() if err != nil { return nil, err } - socialLinkSettings := make([]*protobuf.SyncSocialLinkSetting, len(socialLinks)) + socialLinkSettingProtos := make([]*protobuf.SyncSocialLinkSetting, len(socialLinks)) for i, socialLink := range socialLinks { - socialLinkSettings[i] = &protobuf.SyncSocialLinkSetting{ + socialLinkSettingProtos[i] = &protobuf.SyncSocialLinkSetting{ Text: socialLink.Text, Url: socialLink.URL, Clock: socialLink.Clock, } } + ensUsernameDetails, err := m.getEnsUsernameDetails() + if err != nil { + return nil, err + } + ensUsernameDetailProtos := make([]*protobuf.SyncEnsUsernameDetail, len(ensUsernameDetails)) + for i, ensUsernameDetail := range ensUsernameDetails { + ensUsernameDetailProtos[i] = &protobuf.SyncEnsUsernameDetail{ + Username: ensUsernameDetail.Username, + Clock: ensUsernameDetail.Clock, + Removed: ensUsernameDetail.Removed, + ChainId: ensUsernameDetail.ChainID, + } + } + backupMessage := &protobuf.Backup{ Profile: &protobuf.BackedUpProfile{ KeyUid: keyUID, DisplayName: displayName, - Pictures: pictures, + Pictures: pictureProtos, DisplayNameClock: displayNameClock, - SocialLinkSettings: socialLinkSettings, + SocialLinkSettings: socialLinkSettingProtos, + EnsUsernameDetails: ensUsernameDetailProtos, }, } diff --git a/protocol/messenger_backup_handler.go b/protocol/messenger_backup_handler.go index aafc504e1..5fe70d66d 100644 --- a/protocol/messenger_backup_handler.go +++ b/protocol/messenger_backup_handler.go @@ -3,6 +3,8 @@ package protocol import ( "database/sql" + ensservice "github.com/status-im/status-go/services/ens" + "github.com/status-im/status-go/protocol/identity" "go.uber.org/zap" @@ -150,6 +152,16 @@ func (m *Messenger) handleBackedUpProfile(message *protobuf.BackedUpProfile, bac } response.SetSocialLinks(links) + var ensUsernameDetails []*ensservice.UsernameDetail + for _, d := range message.EnsUsernameDetails { + dd, err := m.saveEnsUsernameDetailProto(*d) + if err != nil { + return err + } + ensUsernameDetails = append(ensUsernameDetails, dd) + } + response.SetEnsUsernameDetails(ensUsernameDetails) + if m.config.messengerSignalsHandler != nil { m.config.messengerSignalsHandler.SendWakuBackedUpProfile(&response) } diff --git a/protocol/messenger_backup_test.go b/protocol/messenger_backup_test.go index 70f38aaf9..8d7edbb4b 100644 --- a/protocol/messenger_backup_test.go +++ b/protocol/messenger_backup_test.go @@ -163,6 +163,14 @@ func (s *MessengerBackupSuite) TestBackupProfile() { }) s.Require().NoError(err) + bob1EnsUsernameDetail, err := bob1.saveEnsUsernameDetailProto(protobuf.SyncEnsUsernameDetail{ + Clock: 1, + Username: "bob1.eth", + ChainId: 1, + Removed: false, + }) + s.Require().NoError(err) + // Create bob2 bob2, err := newMessengerWithKey(s.shh, bob1.identity, s.logger, nil) s.Require().NoError(err) @@ -184,6 +192,10 @@ func (s *MessengerBackupSuite) TestBackupProfile() { s.Require().NoError(err) s.Require().NotNil(bob1SocialLink) + bob1EnsUsernameDetails, err := bob1.getEnsUsernameDetails() + s.Require().NoError(err) + s.Require().Equal(1, len(bob1EnsUsernameDetails)) + // Check bob2 storedBob2DisplayName, err := bob2.settings.DisplayName() s.Require().NoError(err) @@ -198,6 +210,10 @@ func (s *MessengerBackupSuite) TestBackupProfile() { s.Require().NoError(err) s.Require().Equal("", bob2SocialLink.URL) + bob2EnsUsernameDetails, err := bob2.getEnsUsernameDetails() + s.Require().NoError(err) + s.Require().Equal(0, len(bob2EnsUsernameDetails)) + // Backup clock, err := bob1.BackupData(context.Background()) s.Require().NoError(err) @@ -228,6 +244,11 @@ func (s *MessengerBackupSuite) TestBackupProfile() { s.Require().NotNil(bob2SocialLink) s.Require().Equal(bob1SocialLink.URL, bob2SocialLink.URL) + bob2EnsUsernameDetails, err = bob2.getEnsUsernameDetails() + s.Require().NoError(err) + s.Require().Equal(1, len(bob2EnsUsernameDetails)) + s.Require().Equal(bob1EnsUsernameDetail, bob2EnsUsernameDetails[0]) + lastBackup, err := bob1.lastBackup() s.Require().NoError(err) s.Require().NotEmpty(lastBackup) @@ -245,6 +266,9 @@ func (s *MessengerBackupSuite) TestBackupSettings() { bob1Mnemonic = "" bob1MnemonicRemoved = true ) + var ( + bob1Usernames = json.RawMessage(`["username1","username2"]`) + ) // Create bob1 and set fields which are supposed to be backed up to/fetched from waku bob1 := s.m @@ -262,6 +286,8 @@ func (s *MessengerBackupSuite) TestBackupSettings() { s.Require().NoError(err) err = bob1.settings.SaveSettingField(settings.Mnemonic, bob1Mnemonic) s.Require().NoError(err) + err = bob1.settings.SaveSettingField(settings.Usernames, bob1Usernames) + s.Require().NoError(err) // Create bob2 bob2, err := newMessengerWithKey(s.shh, bob1.identity, s.logger, nil) @@ -294,6 +320,9 @@ func (s *MessengerBackupSuite) TestBackupSettings() { storedMnemonicRemoved, err := bob1.settings.MnemonicRemoved() s.Require().NoError(err) s.Require().Equal(bob1MnemonicRemoved, storedMnemonicRemoved) + storedBob1Usernames, err := bob1.settings.Usernames() + s.Require().NoError(err) + s.Require().Equal(bob1Usernames, *storedBob1Usernames) // Check bob2 storedBob2DisplayName, err := bob2.settings.DisplayName() @@ -317,6 +346,9 @@ func (s *MessengerBackupSuite) TestBackupSettings() { storedBob2MnemonicRemoved, err := bob2.settings.MnemonicRemoved() s.Require().NoError(err) s.Require().Equal(false, storedBob2MnemonicRemoved) + storedBob2Usernames, err := bob2.settings.Usernames() + s.Require().NoError(err) + s.Require().Nil(storedBob2Usernames) // Backup clock, err := bob1.BackupData(context.Background()) @@ -354,6 +386,9 @@ func (s *MessengerBackupSuite) TestBackupSettings() { storedBob2MnemonicRemoved, err = bob2.settings.MnemonicRemoved() s.Require().NoError(err) s.Require().Equal(bob1MnemonicRemoved, storedBob2MnemonicRemoved) + storedBob2Usernames, err = bob2.settings.Usernames() + s.Require().NoError(err) + s.Require().Equal(bob1Usernames, *storedBob2Usernames) lastBackup, err := bob1.lastBackup() s.Require().NoError(err) diff --git a/protocol/messenger_response.go b/protocol/messenger_response.go index ccc5f811a..c02fd1c23 100644 --- a/protocol/messenger_response.go +++ b/protocol/messenger_response.go @@ -3,6 +3,8 @@ package protocol import ( "encoding/json" + ensservice "github.com/status-im/status-go/services/ens" + "github.com/status-im/status-go/protocol/identity" "github.com/status-im/status-go/services/browsers" @@ -76,6 +78,7 @@ type MessengerResponse struct { keycards []*keypairs.KeyPair keycardActions []*keypairs.KeycardAction socialLinkSettings []*identity.SocialLink + ensUsernameDetails []*ensservice.UsernameDetail } func (r *MessengerResponse) MarshalJSON() ([]byte, error) { @@ -117,6 +120,7 @@ func (r *MessengerResponse) MarshalJSON() ([]byte, error) { Keycards []*keypairs.KeyPair `json:"keycards,omitempty"` KeycardActions []*keypairs.KeycardAction `json:"keycardActions,omitempty"` SocialLinkSettings []*identity.SocialLink `json:"socialLinkSettings,omitempty"` + EnsUsernameDetails []*ensservice.UsernameDetail `json:"ensUsernameDetails,omitempty"` }{ Contacts: r.Contacts, Installations: r.Installations, @@ -151,6 +155,7 @@ func (r *MessengerResponse) MarshalJSON() ([]byte, error) { Keycards: r.AllKnownKeycards(), KeycardActions: r.KeycardActions(), SocialLinkSettings: r.SocialLinkSettings(), + EnsUsernameDetails: r.EnsUsernameDetails(), } responseItem.TrustStatus = r.TrustStatus() @@ -278,6 +283,7 @@ func (r *MessengerResponse) IsEmpty() bool { len(r.keycards)+ len(r.keycardActions) == 0 && len(r.socialLinkSettings) == 0 && + len(r.ensUsernameDetails) == 0 && r.currentStatus == nil && r.activityCenterState == nil } @@ -288,7 +294,6 @@ func (r *MessengerResponse) Merge(response *MessengerResponse) error { if len(response.Invitations)+ len(response.RequestsToJoinCommunity)+ len(response.Mailservers)+ - len(response.Bookmarks)+ len(response.clearedHistories)+ len(response.DiscordChannels)+ len(response.DiscordCategories) != 0 { @@ -313,6 +318,8 @@ func (r *MessengerResponse) Merge(response *MessengerResponse) error { r.AddAllKnownKeycards(response.AllKnownKeycards()) r.AddKeycardActions(response.KeycardActions()) r.AddSocialLinkSettings(response.SocialLinkSettings()) + r.AddEnsUsernameDetails(response.EnsUsernameDetails()) + r.AddBookmarks(response.GetBookmarks()) r.CommunityChanges = append(r.CommunityChanges, response.CommunityChanges...) r.BackupHandled = response.BackupHandled @@ -359,6 +366,10 @@ func (r *MessengerResponse) AddBookmarks(bookmarks []*browsers.Bookmark) { } } +func (r *MessengerResponse) GetBookmarks() []*browsers.Bookmark { + return r.Bookmarks +} + func (r *MessengerResponse) AddVerificationRequest(vr *verification.Request) { if r.verificationRequests == nil { r.verificationRequests = make(map[string]*verification.Request) @@ -481,6 +492,18 @@ func (r *MessengerResponse) SocialLinkSettings() []*identity.SocialLink { return r.socialLinkSettings } +func (r *MessengerResponse) AddEnsUsernameDetail(detail *ensservice.UsernameDetail) { + r.ensUsernameDetails = append(r.ensUsernameDetails, detail) +} + +func (r *MessengerResponse) AddEnsUsernameDetails(details []*ensservice.UsernameDetail) { + r.ensUsernameDetails = append(r.ensUsernameDetails, details...) +} + +func (r *MessengerResponse) EnsUsernameDetails() []*ensservice.UsernameDetail { + return r.ensUsernameDetails +} + func (r *MessengerResponse) AddNotification(n *localnotifications.Notification) { if r.notifications == nil { r.notifications = make(map[string]*localnotifications.Notification) diff --git a/protocol/messenger_sync_raw_messages.go b/protocol/messenger_sync_raw_messages.go index df2970733..4491681f8 100644 --- a/protocol/messenger_sync_raw_messages.go +++ b/protocol/messenger_sync_raw_messages.go @@ -236,6 +236,17 @@ func (m *Messenger) HandleSyncRawMessages(rawMessages []*protobuf.RawMessage) er m.logger.Error("failed to HandleSyncSocialLinkSetting when HandleSyncRawMessages", zap.Error(err)) continue } + case protobuf.ApplicationMetadataMessage_SYNC_ENS_USERNAME_DETAIL: + var message protobuf.SyncEnsUsernameDetail + err := proto.Unmarshal(rawMessage.GetPayload(), &message) + if err != nil { + return err + } + err = m.handleSyncEnsUsernameDetail(state, message) + if err != nil { + m.logger.Error("failed to handleSyncEnsUsernameDetail when HandleSyncRawMessages", zap.Error(err)) + continue + } case protobuf.ApplicationMetadataMessage_PAIR_INSTALLATION: var message protobuf.PairInstallation err := proto.Unmarshal(rawMessage.GetPayload(), &message) diff --git a/protocol/migrations/migrations.go b/protocol/migrations/migrations.go index e4521716c..4380dc8cc 100644 --- a/protocol/migrations/migrations.go +++ b/protocol/migrations/migrations.go @@ -170,7 +170,7 @@ func _000001_initDownDbSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "000001_init.down.db.sql", size: 65, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "000001_init.down.db.sql", size: 65, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 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}} return a, nil } @@ -190,7 +190,7 @@ func _000001_initUpDbSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "000001_init.up.db.sql", size: 2719, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "000001_init.up.db.sql", size: 2719, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 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}} return a, nil } @@ -210,7 +210,7 @@ func _000002_add_last_ens_clock_valueUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "000002_add_last_ens_clock_value.up.sql", size: 77, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "000002_add_last_ens_clock_value.up.sql", size: 77, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 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 } @@ -230,7 +230,7 @@ func _1586358095_add_replaceUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1586358095_add_replace.up.sql", size: 224, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1586358095_add_replace.up.sql", size: 224, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 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 } @@ -250,7 +250,7 @@ func _1588665364_add_image_dataUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1588665364_add_image_data.up.sql", size: 186, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1588665364_add_image_data.up.sql", size: 186, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 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 } @@ -270,7 +270,7 @@ func _1589365189_add_pow_targetUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1589365189_add_pow_target.up.sql", size: 66, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1589365189_add_pow_target.up.sql", size: 66, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 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 } @@ -290,7 +290,7 @@ func _1591277220_add_index_messagesUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1591277220_add_index_messages.up.sql", size: 240, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1591277220_add_index_messages.up.sql", size: 240, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 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 } @@ -310,7 +310,7 @@ func _1593087212_add_mute_chat_and_raw_message_fieldsUpSql() (*asset, error) { 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(1652264632, 0)} + info := bindataFileInfo{name: "1593087212_add_mute_chat_and_raw_message_fields.up.sql", size: 215, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 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}} return a, nil } @@ -330,7 +330,7 @@ func _1595862781_add_audio_dataUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1595862781_add_audio_data.up.sql", size: 246, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1595862781_add_audio_data.up.sql", size: 246, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 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}} return a, nil } @@ -350,7 +350,7 @@ func _1595865249_create_emoji_reactions_tableUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1595865249_create_emoji_reactions_table.up.sql", size: 300, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1595865249_create_emoji_reactions_table.up.sql", size: 300, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 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 } @@ -370,7 +370,7 @@ func _1596805115_create_group_chat_invitations_tableUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1596805115_create_group_chat_invitations_table.up.sql", size: 231, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1596805115_create_group_chat_invitations_table.up.sql", size: 231, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 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}} return a, nil } @@ -390,7 +390,7 @@ func _1597322655_add_invitation_admin_chat_fieldUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1597322655_add_invitation_admin_chat_field.up.sql", size: 54, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1597322655_add_invitation_admin_chat_field.up.sql", size: 54, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 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}} return a, nil } @@ -410,7 +410,7 @@ func _1597757544_add_nicknameUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1597757544_add_nickname.up.sql", size: 52, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1597757544_add_nickname.up.sql", size: 52, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 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}} return a, nil } @@ -430,7 +430,7 @@ func _1598955122_add_mentionsUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1598955122_add_mentions.up.sql", size: 52, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1598955122_add_mentions.up.sql", size: 52, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 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}} return a, nil } @@ -450,7 +450,7 @@ func _1599641390_add_emoji_reactions_indexUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1599641390_add_emoji_reactions_index.up.sql", size: 126, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1599641390_add_emoji_reactions_index.up.sql", size: 126, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 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}} return a, nil } @@ -470,7 +470,7 @@ func _1599720851_add_seen_index_remove_long_messagesUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1599720851_add_seen_index_remove_long_messages.up.sql", size: 150, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1599720851_add_seen_index_remove_long_messages.up.sql", size: 150, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 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 } @@ -490,7 +490,7 @@ func _1603198582_add_profile_chat_fieldUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1603198582_add_profile_chat_field.up.sql", size: 45, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1603198582_add_profile_chat_field.up.sql", size: 45, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 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}} return a, nil } @@ -510,7 +510,7 @@ func _1603816533_add_linksUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1603816533_add_links.up.sql", size: 48, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1603816533_add_links.up.sql", size: 48, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 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}} return a, nil } @@ -530,7 +530,7 @@ func _1603888149_create_chat_identity_last_published_tableUpSql() (*asset, error return nil, err } - info := bindataFileInfo{name: "1603888149_create_chat_identity_last_published_table.up.sql", size: 407, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1603888149_create_chat_identity_last_published_table.up.sql", size: 407, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 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 } @@ -550,7 +550,7 @@ func _1605075346_add_communitiesUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1605075346_add_communities.up.sql", size: 6971, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1605075346_add_communities.up.sql", size: 6971, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 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 } @@ -570,7 +570,7 @@ func _1610117927_add_message_cacheUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1610117927_add_message_cache.up.sql", size: 142, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1610117927_add_message_cache.up.sql", size: 142, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 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 } @@ -590,7 +590,7 @@ func _1610959908_add_dont_wrap_to_raw_messagesUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1610959908_add_dont_wrap_to_raw_messages.up.sql", size: 83, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1610959908_add_dont_wrap_to_raw_messages.up.sql", size: 83, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 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 } @@ -610,7 +610,7 @@ func _1610960912_add_send_on_personal_topicUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1610960912_add_send_on_personal_topic.up.sql", size: 82, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1610960912_add_send_on_personal_topic.up.sql", size: 82, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 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 } @@ -630,7 +630,7 @@ func _1612870480_add_datasync_idUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1612870480_add_datasync_id.up.sql", size: 111, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1612870480_add_datasync_id.up.sql", size: 111, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 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}} return a, nil } @@ -650,7 +650,7 @@ func _1614152139_add_communities_request_to_joinUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1614152139_add_communities_request_to_join.up.sql", size: 831, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1614152139_add_communities_request_to_join.up.sql", size: 831, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 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}} return a, nil } @@ -670,7 +670,7 @@ func _1615374373_add_confirmationsUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1615374373_add_confirmations.up.sql", size: 227, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1615374373_add_confirmations.up.sql", size: 227, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 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 } @@ -690,7 +690,7 @@ func _1617694931_add_notification_centerUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1617694931_add_notification_center.up.sql", size: 572, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1617694931_add_notification_center.up.sql", size: 572, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 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 } @@ -710,7 +710,7 @@ func _1618923660_create_pin_messagesUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1618923660_create_pin_messages.up.sql", size: 265, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1618923660_create_pin_messages.up.sql", size: 265, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 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 } @@ -730,7 +730,7 @@ func _1619094007_add_joined_chat_fieldUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1619094007_add_joined_chat_field.up.sql", size: 101, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1619094007_add_joined_chat_field.up.sql", size: 101, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 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 } @@ -750,7 +750,7 @@ func _1619099821_add_last_synced_fieldUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1619099821_add_last_synced_field.up.sql", size: 226, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1619099821_add_last_synced_field.up.sql", size: 226, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 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}} return a, nil } @@ -770,7 +770,7 @@ func _1621933219_add_mentionedUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1621933219_add_mentioned.up.sql", size: 70, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1621933219_add_mentioned.up.sql", size: 70, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 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 } @@ -790,7 +790,7 @@ func _1622010048_add_unviewed_mentions_countUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1622010048_add_unviewed_mentions_count.up.sql", size: 114, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1622010048_add_unviewed_mentions_count.up.sql", size: 114, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 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 } @@ -810,7 +810,7 @@ func _1622061278_add_message_activity_center_notification_fieldUpSql() (*asset, return nil, err } - info := bindataFileInfo{name: "1622061278_add_message_activity_center_notification_field.up.sql", size: 80, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1622061278_add_message_activity_center_notification_field.up.sql", size: 80, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 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 } @@ -830,7 +830,7 @@ func _1622464518_set_synced_to_fromUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1622464518_set_synced_to_from.up.sql", size: 105, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1622464518_set_synced_to_from.up.sql", size: 105, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 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}} return a, nil } @@ -850,7 +850,7 @@ func _1622464519_add_chat_descriptionUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1622464519_add_chat_description.up.sql", size: 93, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1622464519_add_chat_description.up.sql", size: 93, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 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 } @@ -870,7 +870,7 @@ func _1622622253_add_pinned_by_to_pin_messagesUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1622622253_add_pinned_by_to_pin_messages.up.sql", size: 52, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1622622253_add_pinned_by_to_pin_messages.up.sql", size: 52, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 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 } @@ -890,7 +890,7 @@ func _1623938329_add_author_activity_center_notification_fieldUpSql() (*asset, e return nil, err } - info := bindataFileInfo{name: "1623938329_add_author_activity_center_notification_field.up.sql", size: 66, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1623938329_add_author_activity_center_notification_field.up.sql", size: 66, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 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}} return a, nil } @@ -910,7 +910,7 @@ func _1623938330_add_edit_messagesUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1623938330_add_edit_messages.up.sql", size: 369, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1623938330_add_edit_messages.up.sql", size: 369, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 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 } @@ -930,7 +930,7 @@ func _1624978434_add_muted_communityUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1624978434_add_muted_community.up.sql", size: 82, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1624978434_add_muted_community.up.sql", size: 82, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 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 } @@ -950,7 +950,7 @@ func _1625018910_add_repply_message_activity_center_notification_fieldUpSql() (* 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(1652264632, 0)} + info := bindataFileInfo{name: "1625018910_add_repply_message_activity_center_notification_field.up.sql", size: 86, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 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 } @@ -970,7 +970,7 @@ func _1625762506_add_deleted_messagesUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1625762506_add_deleted_messages.up.sql", size: 357, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1625762506_add_deleted_messages.up.sql", size: 357, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 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 } @@ -990,7 +990,7 @@ func _1627388946_add_communities_synced_atUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1627388946_add_communities_synced_at.up.sql", size: 87, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1627388946_add_communities_synced_at.up.sql", size: 87, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 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 } @@ -1010,7 +1010,7 @@ func _1628280060_createUsermessagesIndexSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1628280060_create-usermessages-index.sql", size: 80, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1628280060_create-usermessages-index.sql", size: 80, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 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 } @@ -1030,7 +1030,7 @@ func _1632303896_modify_contacts_tableUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1632303896_modify_contacts_table.up.sql", size: 1574, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1632303896_modify_contacts_table.up.sql", size: 1574, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 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}} return a, nil } @@ -1050,7 +1050,7 @@ func _1633349838_add_emoji_column_in_chatsUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1633349838_add_emoji_column_in_chats.up.sql", size: 52, mode: os.FileMode(0644), modTime: time.Unix(1654848338, 0)} + info := bindataFileInfo{name: "1633349838_add_emoji_column_in_chats.up.sql", size: 52, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 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 } @@ -1070,7 +1070,7 @@ func _1634831235_add_highlight_column_in_chatsUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1634831235_add_highlight_column_in_chats.up.sql", size: 62, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1634831235_add_highlight_column_in_chats.up.sql", size: 62, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 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 } @@ -1090,7 +1090,7 @@ func _1634896007_add_last_updated_locally_and_removedUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1634896007_add_last_updated_locally_and_removed.up.sql", size: 131, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1634896007_add_last_updated_locally_and_removed.up.sql", size: 131, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 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 } @@ -1110,7 +1110,7 @@ func _1635840039_add_clock_read_at_column_in_chatsUpSql() (*asset, error) { 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(1652264632, 0)} + info := bindataFileInfo{name: "1635840039_add_clock_read_at_column_in_chats.up.sql", size: 245, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 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}} return a, nil } @@ -1130,7 +1130,7 @@ func _1637852321_add_received_invitation_admin_column_in_chatsUpSql() (*asset, e 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(1652264632, 0)} + info := bindataFileInfo{name: "1637852321_add_received_invitation_admin_column_in_chats.up.sql", size: 72, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 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}} return a, nil } @@ -1150,7 +1150,7 @@ func _1645034601_display_nameUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1645034601_display_name.up.sql", size: 110, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1645034601_display_name.up.sql", size: 110, mode: os.FileMode(0644), modTime: time.Unix(1675323803, 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 } @@ -1170,7 +1170,7 @@ func _1645034602_add_mutual_contact_requestUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1645034602_add_mutual_contact_request.up.sql", size: 454, mode: os.FileMode(0644), modTime: time.Unix(1664364467, 0)} + info := bindataFileInfo{name: "1645034602_add_mutual_contact_request.up.sql", size: 454, mode: os.FileMode(0644), modTime: time.Unix(1675323803, 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 } @@ -1190,7 +1190,7 @@ func _1650373957_add_contact_request_stateUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1650373957_add_contact_request_state.up.sql", size: 59, mode: os.FileMode(0644), modTime: time.Unix(1664364467, 0)} + info := bindataFileInfo{name: "1650373957_add_contact_request_state.up.sql", size: 59, mode: os.FileMode(0644), modTime: time.Unix(1675323803, 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 } @@ -1210,7 +1210,7 @@ func _1656958989_contact_verificationUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1656958989_contact_verification.up.sql", size: 624, mode: os.FileMode(0644), modTime: time.Unix(1664364467, 0)} + info := bindataFileInfo{name: "1656958989_contact_verification.up.sql", size: 624, mode: os.FileMode(0644), modTime: time.Unix(1675323803, 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 } @@ -1230,7 +1230,7 @@ func _1658236268_add_discord_message_authors_tableUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1658236268_add_discord_message_authors_table.up.sql", size: 191, mode: os.FileMode(0644), modTime: time.Unix(1664364467, 0)} + info := bindataFileInfo{name: "1658236268_add_discord_message_authors_table.up.sql", size: 191, mode: os.FileMode(0644), modTime: time.Unix(1675323803, 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 } @@ -1250,7 +1250,7 @@ func _1659619997_add_discord_messages_tableUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1659619997_add_discord_messages_table.up.sql", size: 371, mode: os.FileMode(0644), modTime: time.Unix(1664364467, 0)} + info := bindataFileInfo{name: "1659619997_add_discord_messages_table.up.sql", size: 371, mode: os.FileMode(0644), modTime: time.Unix(1675323803, 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 } @@ -1270,7 +1270,7 @@ func _1660226788_create_chat_identity_social_linksUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1660226788_create_chat_identity_social_links.up.sql", size: 318, mode: os.FileMode(0644), modTime: time.Unix(1664364467, 0)} + info := bindataFileInfo{name: "1660226788_create_chat_identity_social_links.up.sql", size: 318, mode: os.FileMode(0644), modTime: time.Unix(1675323803, 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}} return a, nil } @@ -1290,7 +1290,7 @@ func _1660226789_add_walletconnectsessions_tableUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1660226789_add_walletconnectsessions_table.up.sql", size: 215, mode: os.FileMode(0644), modTime: time.Unix(1664364467, 0)} + info := bindataFileInfo{name: "1660226789_add_walletconnectsessions_table.up.sql", size: 215, mode: os.FileMode(0644), modTime: time.Unix(1675323803, 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 } @@ -1310,7 +1310,7 @@ func _1661242854_add_communities_requests_to_leaveUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1661242854_add_communities_requests_to_leave.up.sql", size: 204, mode: os.FileMode(0644), modTime: time.Unix(1666081963, 0)} + info := bindataFileInfo{name: "1661242854_add_communities_requests_to_leave.up.sql", size: 204, mode: os.FileMode(0644), modTime: time.Unix(1675323803, 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 } @@ -1330,7 +1330,7 @@ func _1662044232_add_chat_imageUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1662044232_add_chat_image.up.sql", size: 49, mode: os.FileMode(0644), modTime: time.Unix(1666081963, 0)} + info := bindataFileInfo{name: "1662044232_add_chat_image.up.sql", size: 49, mode: os.FileMode(0644), modTime: time.Unix(1675323803, 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 } @@ -1350,7 +1350,7 @@ func _1662106895_add_chat_first_message_timestampUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1662106895_add_chat_first_message_timestamp.up.sql", size: 113, mode: os.FileMode(0644), modTime: time.Unix(1668711465, 0)} + info := bindataFileInfo{name: "1662106895_add_chat_first_message_timestamp.up.sql", size: 113, mode: os.FileMode(0644), modTime: time.Unix(1675323803, 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 } @@ -1370,7 +1370,7 @@ func _1662723928_add_discord_author_image_fieldsUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1662723928_add_discord_author_image_fields.up.sql", size: 75, mode: os.FileMode(0644), modTime: time.Unix(1668711465, 0)} + info := bindataFileInfo{name: "1662723928_add_discord_author_image_fields.up.sql", size: 75, mode: os.FileMode(0644), modTime: time.Unix(1675323803, 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 } @@ -1390,7 +1390,7 @@ func _1664195977_add_deleted_for_mesUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1664195977_add_deleted_for_mes.up.sql", size: 352, mode: os.FileMode(0644), modTime: time.Unix(1668711465, 0)} + info := bindataFileInfo{name: "1664195977_add_deleted_for_mes.up.sql", size: 352, mode: os.FileMode(0644), modTime: time.Unix(1675323803, 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}} return a, nil } @@ -1410,7 +1410,7 @@ func _1664367420_add_discord_attachments_tableUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1664367420_add_discord_attachments_table.up.sql", size: 350, mode: os.FileMode(0644), modTime: time.Unix(1668711465, 0)} + info := bindataFileInfo{name: "1664367420_add_discord_attachments_table.up.sql", size: 350, mode: os.FileMode(0644), modTime: time.Unix(1675323803, 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 } @@ -1430,7 +1430,7 @@ func _1665079662_add_spectated_column_in_communitiesUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1665079662_add_spectated_column_in_communities.up.sql", size: 86, mode: os.FileMode(0644), modTime: time.Unix(1668711465, 0)} + info := bindataFileInfo{name: "1665079662_add_spectated_column_in_communities.up.sql", size: 86, mode: os.FileMode(0644), modTime: time.Unix(1675323803, 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 } @@ -1450,7 +1450,7 @@ func _1665479047_add_community_id_in_notificationsUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1665479047_add_community_id_in_notifications.up.sql", size: 169, mode: os.FileMode(0644), modTime: time.Unix(1669031482, 0)} + info := bindataFileInfo{name: "1665479047_add_community_id_in_notifications.up.sql", size: 169, mode: os.FileMode(0644), modTime: time.Unix(1675323803, 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 } @@ -1470,7 +1470,7 @@ func _1665484435_add_encrypted_messagesUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1665484435_add_encrypted_messages.up.sql", size: 402, mode: os.FileMode(0644), modTime: time.Unix(1668711465, 0)} + info := bindataFileInfo{name: "1665484435_add_encrypted_messages.up.sql", size: 402, mode: os.FileMode(0644), modTime: time.Unix(1675323803, 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}} return a, nil } @@ -1490,7 +1490,7 @@ func _1665560200_add_contact_verification_individualUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1665560200_add_contact_verification_individual.up.sql", size: 509, mode: os.FileMode(0644), modTime: time.Unix(1669031482, 0)} + info := bindataFileInfo{name: "1665560200_add_contact_verification_individual.up.sql", size: 509, mode: os.FileMode(0644), modTime: time.Unix(1675323803, 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 } @@ -1510,7 +1510,7 @@ func _1670921937_add_album_idUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1670921937_add_album_id.up.sql", size: 55, mode: os.FileMode(0644), modTime: time.Unix(1676035037, 0)} + info := bindataFileInfo{name: "1670921937_add_album_id.up.sql", size: 55, mode: os.FileMode(0644), modTime: time.Unix(1675323803, 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 } @@ -1530,7 +1530,7 @@ func _1673373000_add_repliedUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1673373000_add_replied.up.sql", size: 67, mode: os.FileMode(0644), modTime: time.Unix(1678711803, 0)} + info := bindataFileInfo{name: "1673373000_add_replied.up.sql", size: 67, mode: os.FileMode(0644), modTime: time.Unix(1675323803, 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 } @@ -1550,7 +1550,7 @@ func _1673428910_add_image_width_heightUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1673428910_add_image_width_height.up.sql", size: 117, mode: os.FileMode(0644), modTime: time.Unix(1678711803, 0)} + info := bindataFileInfo{name: "1673428910_add_image_width_height.up.sql", size: 117, mode: os.FileMode(0644), modTime: time.Unix(1675323803, 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 } @@ -1570,7 +1570,7 @@ func _1674210659_add_contact_request_local_clockUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1674210659_add_contact_request_local_clock.up.sql", size: 691, mode: os.FileMode(0644), modTime: time.Unix(1678711803, 0)} + info := bindataFileInfo{name: "1674210659_add_contact_request_local_clock.up.sql", size: 691, mode: os.FileMode(0644), modTime: time.Unix(1675323904, 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}} return a, nil } @@ -1590,7 +1590,7 @@ func _1675212323_add_deleted_byUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1675212323_add_deleted_by.up.sql", size: 57, mode: os.FileMode(0644), modTime: time.Unix(1678711803, 0)} + info := bindataFileInfo{name: "1675212323_add_deleted_by.up.sql", size: 57, mode: os.FileMode(0644), modTime: time.Unix(1675323904, 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 } @@ -1610,7 +1610,7 @@ func _1675247084_add_activity_center_statesUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1675247084_add_activity_center_states.up.sql", size: 136, mode: os.FileMode(0644), modTime: time.Unix(1681203908, 0)} + info := bindataFileInfo{name: "1675247084_add_activity_center_states.up.sql", size: 136, mode: os.FileMode(0644), modTime: time.Unix(1677122376, 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 } @@ -1630,7 +1630,7 @@ func _1675272329_fix_protocol_migrationUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1675272329_fix_protocol_migration.up.sql", size: 183, mode: os.FileMode(0644), modTime: time.Unix(1678711803, 0)} + info := bindataFileInfo{name: "1675272329_fix_protocol_migration.up.sql", size: 183, mode: os.FileMode(0644), modTime: time.Unix(1675323904, 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}} return a, nil } @@ -1650,7 +1650,7 @@ func _1676998418_fix_activity_center_migrationUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1676998418_fix_activity_center_migration.up.sql", size: 178, mode: os.FileMode(0644), modTime: time.Unix(1681203908, 0)} + info := bindataFileInfo{name: "1676998418_fix_activity_center_migration.up.sql", size: 178, mode: os.FileMode(0644), modTime: time.Unix(1677468108, 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 } @@ -1670,7 +1670,7 @@ func _1677278861_add_deleted_column_to_activity_center_notifications_tableUpSql( 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(1681203908, 0)} + info := bindataFileInfo{name: "1677278861_add_deleted_column_to_activity_center_notifications_table.up.sql", size: 381, mode: os.FileMode(0644), modTime: time.Unix(1677468108, 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 } @@ -1690,7 +1690,7 @@ func _1677486338_add_community_tokens_tableUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1677486338_add_community_tokens_table.up.sql", size: 527, mode: os.FileMode(0644), modTime: time.Unix(1681203908, 0)} + info := bindataFileInfo{name: "1677486338_add_community_tokens_table.up.sql", size: 527, mode: os.FileMode(0644), modTime: time.Unix(1677564198, 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 } @@ -1710,7 +1710,7 @@ func _1678292329_add_collapsed_categoriesUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1678292329_add_collapsed_categories.up.sql", size: 170, mode: os.FileMode(0644), modTime: time.Unix(1681203908, 0)} + info := bindataFileInfo{name: "1678292329_add_collapsed_categories.up.sql", size: 170, mode: os.FileMode(0644), modTime: time.Unix(1679051421, 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}} return a, nil } @@ -1730,7 +1730,7 @@ func _1678800760_add_index_to_raw_messagesUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1678800760_add_index_to_raw_messages.up.sql", size: 88, mode: os.FileMode(0644), modTime: time.Unix(1681203908, 0)} + info := bindataFileInfo{name: "1678800760_add_index_to_raw_messages.up.sql", size: 88, mode: os.FileMode(0644), modTime: time.Unix(1679302848, 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}} return a, nil } @@ -1750,7 +1750,7 @@ func _1678877478_add_communities_requests_to_join_revealed_addresses_tableUpSql( 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(1681203908, 0)} + info := bindataFileInfo{name: "1678877478_add_communities_requests_to_join_revealed_addresses_table.up.sql", size: 168, mode: os.FileMode(0644), modTime: time.Unix(1679652393, 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}} return a, nil } @@ -1770,7 +1770,7 @@ func _1679326850_add_community_token_ownersUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1679326850_add_community_token_owners.up.sql", size: 206, mode: os.FileMode(0644), modTime: time.Unix(1681203908, 0)} + info := bindataFileInfo{name: "1679326850_add_community_token_owners.up.sql", size: 206, mode: os.FileMode(0644), modTime: time.Unix(1680000580, 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 } @@ -1790,7 +1790,7 @@ func _1680011500_add_album_images_countUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1680011500_add_album_images_count.up.sql", size: 71, mode: os.FileMode(0644), modTime: time.Unix(1681203908, 0)} + info := bindataFileInfo{name: "1680011500_add_album_images_count.up.sql", size: 71, mode: os.FileMode(0644), modTime: time.Unix(1680260624, 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 } @@ -1810,7 +1810,7 @@ func _1680114896_add_index_on_album_idUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1680114896_add_index_on_album_id.up.sql", size: 83, mode: os.FileMode(0644), modTime: time.Unix(1681203908, 0)} + info := bindataFileInfo{name: "1680114896_add_index_on_album_id.up.sql", size: 83, mode: os.FileMode(0644), modTime: time.Unix(1680260624, 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 } @@ -1830,7 +1830,7 @@ func _1681655289_add_mute_tillUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1681655289_add_mute_till.up.sql", size: 51, mode: os.FileMode(0644), modTime: time.Unix(1681730940, 0)} + info := bindataFileInfo{name: "1681655289_add_mute_till.up.sql", size: 51, mode: os.FileMode(0644), modTime: time.Unix(1681955252, 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}} return a, nil } @@ -1850,7 +1850,7 @@ func _1681934966_add_index_response_toUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1681934966_add_index_response_to.up.sql", size: 70, mode: os.FileMode(0644), modTime: time.Unix(1682331804, 0)} + info := bindataFileInfo{name: "1681934966_add_index_response_to.up.sql", size: 70, mode: os.FileMode(0644), modTime: time.Unix(1682512643, 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 } @@ -1870,7 +1870,7 @@ func readmeMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "README.md", size: 554, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "README.md", size: 554, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 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 } @@ -1890,7 +1890,7 @@ func docGo() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "doc.go", size: 850, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "doc.go", size: 850, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 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}} return a, nil } diff --git a/protocol/protobuf/application_metadata_message.pb.go b/protocol/protobuf/application_metadata_message.pb.go index ab6324c62..8f48514bd 100644 --- a/protocol/protobuf/application_metadata_message.pb.go +++ b/protocol/protobuf/application_metadata_message.pb.go @@ -87,6 +87,7 @@ const ( ApplicationMetadataMessage_SYNC_ALL_KEYCARDS ApplicationMetadataMessage_Type = 62 ApplicationMetadataMessage_SYNC_KEYCARD_ACTION ApplicationMetadataMessage_Type = 63 ApplicationMetadataMessage_SYNC_SOCIAL_LINK_SETTING ApplicationMetadataMessage_Type = 64 + ApplicationMetadataMessage_SYNC_ENS_USERNAME_DETAIL ApplicationMetadataMessage_Type = 65 ) var ApplicationMetadataMessage_Type_name = map[int32]string{ @@ -154,6 +155,7 @@ var ApplicationMetadataMessage_Type_name = map[int32]string{ 62: "SYNC_ALL_KEYCARDS", 63: "SYNC_KEYCARD_ACTION", 64: "SYNC_SOCIAL_LINK_SETTING", + 65: "SYNC_ENS_USERNAME_DETAIL", } var ApplicationMetadataMessage_Type_value = map[string]int32{ @@ -221,6 +223,7 @@ var ApplicationMetadataMessage_Type_value = map[string]int32{ "SYNC_ALL_KEYCARDS": 62, "SYNC_KEYCARD_ACTION": 63, "SYNC_SOCIAL_LINK_SETTING": 64, + "SYNC_ENS_USERNAME_DETAIL": 65, } func (x ApplicationMetadataMessage_Type) String() string { @@ -299,64 +302,65 @@ func init() { } var fileDescriptor_ad09a6406fcf24c7 = []byte{ - // 943 bytes of a gzipped FileDescriptorProto + // 957 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x55, 0x6b, 0x73, 0x13, 0x37, - 0x14, 0x6d, 0x20, 0x4d, 0x40, 0x79, 0x29, 0x22, 0x0f, 0xe7, 0x6d, 0x0c, 0x0d, 0x01, 0x5a, 0xd3, - 0x42, 0xdb, 0x69, 0x4b, 0x69, 0x2b, 0x4b, 0x37, 0xb6, 0xf0, 0xae, 0xb4, 0x48, 0x5a, 0x33, 0xee, - 0x17, 0xcd, 0x52, 0x5c, 0x26, 0x33, 0x40, 0x3c, 0xc4, 0x7c, 0xc8, 0x1f, 0xea, 0xaf, 0xe8, 0x8f, - 0xeb, 0x68, 0x9f, 0x4e, 0xec, 0x34, 0x9f, 0x92, 0xbd, 0xf7, 0xe8, 0x4a, 0xe7, 0xdc, 0x73, 0xaf, - 0x51, 0x23, 0x19, 0x0e, 0xdf, 0x9f, 0xfc, 0x95, 0x8c, 0x4e, 0x4e, 0x3f, 0xba, 0x0f, 0x83, 0x51, - 0xf2, 0x36, 0x19, 0x25, 0xee, 0xc3, 0xe0, 0xec, 0x2c, 0x79, 0x37, 0x68, 0x0e, 0x3f, 0x9d, 0x8e, - 0x4e, 0xc9, 0xad, 0xf4, 0xcf, 0x9b, 0xcf, 0x7f, 0x37, 0xfe, 0x5d, 0x41, 0xdb, 0xb4, 0x3a, 0x10, - 0xe6, 0xf8, 0x30, 0x83, 0x93, 0x5d, 0x74, 0xfb, 0xec, 0xe4, 0xdd, 0xc7, 0x64, 0xf4, 0xf9, 0xd3, - 0xa0, 0x36, 0x53, 0x9f, 0x39, 0x5a, 0xd4, 0x55, 0x80, 0xd4, 0xd0, 0xfc, 0x30, 0x39, 0x7f, 0x7f, - 0x9a, 0xbc, 0xad, 0xdd, 0x48, 0x73, 0xc5, 0x27, 0x79, 0x81, 0x66, 0x47, 0xe7, 0xc3, 0x41, 0xed, - 0x66, 0x7d, 0xe6, 0x68, 0xf9, 0xe9, 0xc3, 0x66, 0x71, 0x5f, 0xf3, 0xea, 0xbb, 0x9a, 0xf6, 0x7c, - 0x38, 0xd0, 0xe9, 0xb1, 0xc6, 0x3f, 0xcb, 0x68, 0xd6, 0x7f, 0x92, 0x05, 0x34, 0x1f, 0xcb, 0xae, - 0x54, 0xaf, 0x25, 0xfe, 0x82, 0x60, 0xb4, 0xc8, 0x3a, 0xd4, 0xba, 0x10, 0x8c, 0xa1, 0x6d, 0xc0, - 0x33, 0x84, 0xa0, 0x65, 0xa6, 0xa4, 0xa5, 0xcc, 0xba, 0x38, 0xe2, 0xd4, 0x02, 0xbe, 0x41, 0xf6, - 0xd0, 0x56, 0x08, 0x61, 0x0b, 0xb4, 0xe9, 0x88, 0x28, 0x0f, 0x97, 0x47, 0x6e, 0x92, 0x75, 0xb4, - 0x1a, 0x51, 0xa1, 0x9d, 0x90, 0xc6, 0xd2, 0x20, 0xa0, 0x56, 0x28, 0x89, 0x67, 0x7d, 0xd8, 0xf4, - 0x25, 0xbb, 0x18, 0xfe, 0x92, 0xdc, 0x43, 0x07, 0x1a, 0x5e, 0xc5, 0x60, 0xac, 0xa3, 0x9c, 0x6b, - 0x30, 0xc6, 0x1d, 0x2b, 0xed, 0xac, 0xa6, 0xd2, 0x50, 0x96, 0x82, 0xe6, 0xc8, 0x23, 0x74, 0x48, - 0x19, 0x83, 0xc8, 0xba, 0xeb, 0xb0, 0xf3, 0xe4, 0x31, 0x7a, 0xc0, 0x81, 0x05, 0x42, 0xc2, 0xb5, - 0xe0, 0x5b, 0x64, 0x13, 0xdd, 0x29, 0x40, 0xe3, 0x89, 0xdb, 0x64, 0x0d, 0x61, 0x03, 0x92, 0x5f, - 0x88, 0x22, 0x72, 0x80, 0x76, 0x2e, 0xd7, 0x1e, 0x07, 0x2c, 0x78, 0x69, 0x26, 0x48, 0xba, 0x5c, - 0x40, 0xbc, 0x38, 0x3d, 0x4d, 0x19, 0x53, 0xb1, 0xb4, 0x78, 0x89, 0xdc, 0x45, 0x7b, 0x93, 0xe9, - 0x28, 0x6e, 0x05, 0x82, 0x39, 0xdf, 0x17, 0xbc, 0x4c, 0xf6, 0xd1, 0x76, 0xd1, 0x0f, 0xa6, 0x38, - 0x38, 0xca, 0x7b, 0xa0, 0xad, 0x30, 0x10, 0x82, 0xb4, 0x78, 0x85, 0x34, 0xd0, 0x7e, 0x14, 0x9b, - 0x8e, 0x93, 0xca, 0x8a, 0x63, 0xc1, 0xb2, 0x12, 0x1a, 0xda, 0xc2, 0x58, 0x9d, 0x49, 0x8e, 0xbd, - 0x42, 0xff, 0x8f, 0x71, 0x1a, 0x4c, 0xa4, 0xa4, 0x01, 0xbc, 0x4a, 0x76, 0xd0, 0xe6, 0x24, 0xf8, - 0x55, 0x0c, 0xba, 0x8f, 0x09, 0xb9, 0x8f, 0xea, 0x57, 0x24, 0xab, 0x12, 0x77, 0x3c, 0xeb, 0x69, - 0xf7, 0xa5, 0xfa, 0xe1, 0x35, 0x4f, 0x69, 0x5a, 0x3a, 0x3f, 0xbe, 0xee, 0x2d, 0x08, 0xa1, 0x7a, - 0x29, 0x9c, 0x86, 0x5c, 0xe7, 0x0d, 0xb2, 0x85, 0xd6, 0xdb, 0x5a, 0xc5, 0x51, 0x2a, 0x8b, 0x13, - 0xb2, 0x27, 0x6c, 0xc6, 0x6e, 0x93, 0xac, 0xa2, 0xa5, 0x2c, 0xc8, 0x41, 0x5a, 0x61, 0xfb, 0xb8, - 0xe6, 0xd1, 0x4c, 0x85, 0x61, 0x2c, 0x85, 0xed, 0x3b, 0x0e, 0x86, 0x69, 0x11, 0xa5, 0xe8, 0x2d, - 0x52, 0x43, 0x6b, 0x55, 0x6a, 0xac, 0xce, 0xb6, 0x7f, 0x75, 0x95, 0x29, 0xbb, 0xad, 0xdc, 0x4b, - 0x25, 0x24, 0xde, 0x21, 0x2b, 0x68, 0x21, 0x12, 0xb2, 0xb4, 0xfd, 0xae, 0x9f, 0x1d, 0xe0, 0xa2, - 0x9a, 0x9d, 0x3d, 0xff, 0x12, 0x63, 0xa9, 0x8d, 0x4d, 0x31, 0x3a, 0xfb, 0x9e, 0x0b, 0x87, 0x00, - 0xc6, 0xe6, 0xe5, 0xc0, 0x9b, 0x6a, 0x9a, 0x67, 0xf2, 0xab, 0x71, 0x9d, 0x6c, 0xa3, 0x0d, 0x2a, - 0x95, 0xec, 0x87, 0x2a, 0x36, 0x2e, 0x04, 0xab, 0x05, 0x73, 0x2d, 0x6a, 0x59, 0x07, 0xdf, 0x2d, - 0xa7, 0x2a, 0xa5, 0xac, 0x21, 0x54, 0x3d, 0xe0, 0xb8, 0xe1, 0xbb, 0x56, 0x85, 0xf3, 0xab, 0x8c, - 0x17, 0x90, 0xe3, 0x7b, 0x04, 0xa1, 0xb9, 0x16, 0x65, 0xdd, 0x38, 0xc2, 0xf7, 0x4b, 0x47, 0x7a, - 0x65, 0x7b, 0x9e, 0x29, 0x03, 0x69, 0x41, 0x67, 0xd0, 0xaf, 0x4a, 0x47, 0x5e, 0x4e, 0x67, 0xd3, - 0x08, 0x1c, 0x1f, 0x7a, 0xc7, 0x4d, 0x85, 0x70, 0x61, 0x42, 0x61, 0x0c, 0x70, 0xfc, 0x20, 0x55, - 0xc2, 0x63, 0x5a, 0x4a, 0x75, 0x43, 0xaa, 0xbb, 0xf8, 0x88, 0x6c, 0x20, 0x92, 0xbd, 0x30, 0x00, - 0xaa, 0x5d, 0x47, 0x18, 0xab, 0x74, 0x1f, 0x3f, 0xf4, 0x32, 0xa6, 0x71, 0x03, 0xd6, 0x0a, 0xd9, - 0xc6, 0x8f, 0x48, 0x1d, 0xed, 0x56, 0x8d, 0xa0, 0x9a, 0x75, 0x44, 0x0f, 0x5c, 0x48, 0xdb, 0x12, - 0x6c, 0x20, 0x64, 0x17, 0x3f, 0xf6, 0x4d, 0x4c, 0xcf, 0x44, 0x5a, 0x1d, 0x8b, 0x00, 0x5c, 0x24, - 0x98, 0x8d, 0x35, 0xe0, 0xaf, 0xfd, 0x7c, 0xa7, 0x99, 0xd7, 0x34, 0x08, 0xc0, 0x96, 0xa3, 0xf6, - 0x4d, 0xaa, 0x69, 0xb6, 0x51, 0x8a, 0x71, 0x2a, 0x0c, 0xd9, 0xf4, 0xe2, 0x69, 0xb0, 0x3a, 0x9b, - 0xb1, 0x8b, 0xc9, 0x27, 0xe4, 0x10, 0x35, 0xae, 0xb4, 0x45, 0xe5, 0xda, 0x6f, 0xab, 0x0e, 0x94, - 0xe0, 0x9c, 0x91, 0xc1, 0xdf, 0x79, 0x4a, 0xc5, 0xd1, 0xe2, 0x86, 0x1e, 0xe8, 0xd2, 0xfd, 0xf8, - 0xa9, 0x37, 0xc5, 0xa5, 0xf7, 0x5d, 0x00, 0x3c, 0xf3, 0x25, 0x8a, 0x55, 0x34, 0x15, 0xf1, 0x7d, - 0x69, 0x0d, 0xab, 0x63, 0x63, 0x81, 0xbb, 0xd8, 0x80, 0xc6, 0x3f, 0x94, 0x1d, 0x1f, 0x47, 0x97, - 0xfc, 0x7e, 0x2c, 0x3b, 0x7e, 0x89, 0xb9, 0xe3, 0xc0, 0x84, 0xf1, 0x85, 0x7f, 0xca, 0x76, 0xd0, - 0x14, 0x09, 0x02, 0xa0, 0x3d, 0xc0, 0x3f, 0xfb, 0x7c, 0x5a, 0x22, 0x77, 0xba, 0xdf, 0xba, 0x61, - 0x65, 0xf8, 0x5f, 0xca, 0xd6, 0x1b, 0xda, 0x03, 0x5e, 0x2c, 0x67, 0xfc, 0xdc, 0x6f, 0x93, 0xaa, - 0x2e, 0xa3, 0x92, 0x41, 0x30, 0x31, 0x78, 0xbf, 0x7a, 0x65, 0xf2, 0xdc, 0x54, 0xde, 0x2f, 0x4a, - 0xde, 0x34, 0x08, 0x5c, 0x17, 0xfa, 0x8c, 0x6a, 0x6e, 0xf0, 0x6f, 0xa5, 0x15, 0xf2, 0x90, 0xcb, - 0x77, 0xc9, 0xef, 0x64, 0x17, 0xd5, 0xb2, 0xe7, 0x28, 0x26, 0x68, 0xe0, 0xbc, 0xa7, 0x4a, 0xf7, - 0xfd, 0xd1, 0x5a, 0xfa, 0x73, 0xa1, 0xf9, 0xe4, 0x79, 0xf1, 0xeb, 0xfa, 0x66, 0x2e, 0xfd, 0xef, - 0xd9, 0x7f, 0x01, 0x00, 0x00, 0xff, 0xff, 0xb6, 0x90, 0xb4, 0x09, 0x04, 0x08, 0x00, 0x00, + 0x14, 0x6d, 0x80, 0x26, 0xa0, 0xbc, 0x14, 0x91, 0x87, 0xf3, 0x36, 0x86, 0x86, 0x00, 0xad, 0x69, + 0xa1, 0xed, 0xb4, 0xa5, 0xb4, 0x95, 0xa5, 0x1b, 0x5b, 0x78, 0x57, 0x5a, 0x24, 0xad, 0x19, 0xf7, + 0x8b, 0xc6, 0x14, 0x97, 0xc9, 0x0c, 0x10, 0x0f, 0x31, 0x1f, 0xf2, 0xff, 0xfa, 0x2b, 0xfa, 0x6b, + 0x3a, 0xda, 0x87, 0xd6, 0x49, 0x9c, 0xf2, 0x29, 0xd9, 0x7b, 0x8e, 0xae, 0x74, 0xcf, 0x3d, 0xf7, + 0x1a, 0x35, 0x06, 0xa3, 0xd1, 0xbb, 0xe3, 0xbf, 0x06, 0xe3, 0xe3, 0x93, 0x0f, 0xee, 0xfd, 0x70, + 0x3c, 0x78, 0x33, 0x18, 0x0f, 0xdc, 0xfb, 0xe1, 0xe9, 0xe9, 0xe0, 0xed, 0xb0, 0x39, 0xfa, 0x78, + 0x32, 0x3e, 0x21, 0x37, 0xb3, 0x3f, 0xaf, 0x3f, 0xfd, 0xdd, 0xf8, 0x77, 0x19, 0x6d, 0xd1, 0xea, + 0x40, 0x5c, 0xf0, 0xe3, 0x9c, 0x4e, 0x76, 0xd0, 0xad, 0xd3, 0xe3, 0xb7, 0x1f, 0x06, 0xe3, 0x4f, + 0x1f, 0x87, 0xb5, 0x99, 0xfa, 0xcc, 0xe1, 0x82, 0xae, 0x02, 0xa4, 0x86, 0xe6, 0x46, 0x83, 0xb3, + 0x77, 0x27, 0x83, 0x37, 0xb5, 0x6b, 0x19, 0x56, 0x7e, 0x92, 0xe7, 0xe8, 0xc6, 0xf8, 0x6c, 0x34, + 0xac, 0x5d, 0xaf, 0xcf, 0x1c, 0x2e, 0x3d, 0x79, 0xd0, 0x2c, 0xef, 0x6b, 0x5e, 0x7d, 0x57, 0xd3, + 0x9e, 0x8d, 0x86, 0x3a, 0x3b, 0xd6, 0xf8, 0x67, 0x09, 0xdd, 0xf0, 0x9f, 0x64, 0x1e, 0xcd, 0xa5, + 0xb2, 0x2b, 0xd5, 0x2b, 0x89, 0xbf, 0x20, 0x18, 0x2d, 0xb0, 0x0e, 0xb5, 0x2e, 0x06, 0x63, 0x68, + 0x1b, 0xf0, 0x0c, 0x21, 0x68, 0x89, 0x29, 0x69, 0x29, 0xb3, 0x2e, 0x4d, 0x38, 0xb5, 0x80, 0xaf, + 0x91, 0x5d, 0xb4, 0x19, 0x43, 0xdc, 0x02, 0x6d, 0x3a, 0x22, 0x29, 0xc2, 0xe1, 0xc8, 0x75, 0xb2, + 0x86, 0x56, 0x12, 0x2a, 0xb4, 0x13, 0xd2, 0x58, 0x1a, 0x45, 0xd4, 0x0a, 0x25, 0xf1, 0x0d, 0x1f, + 0x36, 0x7d, 0xc9, 0xce, 0x87, 0xbf, 0x24, 0x77, 0xd1, 0xbe, 0x86, 0x97, 0x29, 0x18, 0xeb, 0x28, + 0xe7, 0x1a, 0x8c, 0x71, 0x47, 0x4a, 0x3b, 0xab, 0xa9, 0x34, 0x94, 0x65, 0xa4, 0x59, 0xf2, 0x10, + 0x1d, 0x50, 0xc6, 0x20, 0xb1, 0xee, 0x73, 0xdc, 0x39, 0xf2, 0x08, 0xdd, 0xe7, 0xc0, 0x22, 0x21, + 0xe1, 0xb3, 0xe4, 0x9b, 0x64, 0x03, 0xdd, 0x2e, 0x49, 0x93, 0xc0, 0x2d, 0xb2, 0x8a, 0xb0, 0x01, + 0xc9, 0xcf, 0x45, 0x11, 0xd9, 0x47, 0xdb, 0x17, 0x73, 0x4f, 0x12, 0xe6, 0xbd, 0x34, 0x97, 0x8a, + 0x74, 0x85, 0x80, 0x78, 0x61, 0x3a, 0x4c, 0x19, 0x53, 0xa9, 0xb4, 0x78, 0x91, 0xdc, 0x41, 0xbb, + 0x97, 0xe1, 0x24, 0x6d, 0x45, 0x82, 0x39, 0xdf, 0x17, 0xbc, 0x44, 0xf6, 0xd0, 0x56, 0xd9, 0x0f, + 0xa6, 0x38, 0x38, 0xca, 0x7b, 0xa0, 0xad, 0x30, 0x10, 0x83, 0xb4, 0x78, 0x99, 0x34, 0xd0, 0x5e, + 0x92, 0x9a, 0x8e, 0x93, 0xca, 0x8a, 0x23, 0xc1, 0xf2, 0x14, 0x1a, 0xda, 0xc2, 0x58, 0x9d, 0x4b, + 0x8e, 0xbd, 0x42, 0xff, 0xcf, 0x71, 0x1a, 0x4c, 0xa2, 0xa4, 0x01, 0xbc, 0x42, 0xb6, 0xd1, 0xc6, + 0x65, 0xf2, 0xcb, 0x14, 0x74, 0x1f, 0x13, 0x72, 0x0f, 0xd5, 0xaf, 0x00, 0xab, 0x14, 0xb7, 0x7d, + 0xd5, 0xd3, 0xee, 0xcb, 0xf4, 0xc3, 0xab, 0xbe, 0xa4, 0x69, 0x70, 0x71, 0x7c, 0xcd, 0x5b, 0x10, + 0x62, 0xf5, 0x42, 0x38, 0x0d, 0x85, 0xce, 0xeb, 0x64, 0x13, 0xad, 0xb5, 0xb5, 0x4a, 0x93, 0x4c, + 0x16, 0x27, 0x64, 0x4f, 0xd8, 0xbc, 0xba, 0x0d, 0xb2, 0x82, 0x16, 0xf3, 0x20, 0x07, 0x69, 0x85, + 0xed, 0xe3, 0x9a, 0x67, 0x33, 0x15, 0xc7, 0xa9, 0x14, 0xb6, 0xef, 0x38, 0x18, 0xa6, 0x45, 0x92, + 0xb1, 0x37, 0x49, 0x0d, 0xad, 0x56, 0xd0, 0x44, 0x9e, 0x2d, 0xff, 0xea, 0x0a, 0x09, 0xdd, 0x56, + 0xee, 0x85, 0x12, 0x12, 0x6f, 0x93, 0x65, 0x34, 0x9f, 0x08, 0x19, 0x6c, 0xbf, 0xe3, 0x67, 0x07, + 0xb8, 0xa8, 0x66, 0x67, 0xd7, 0xbf, 0xc4, 0x58, 0x6a, 0x53, 0x53, 0x8e, 0xce, 0x9e, 0xaf, 0x85, + 0x43, 0x04, 0x13, 0xf3, 0xb2, 0xef, 0x4d, 0x35, 0xcd, 0x33, 0xc5, 0xd5, 0xb8, 0x4e, 0xb6, 0xd0, + 0x3a, 0x95, 0x4a, 0xf6, 0x63, 0x95, 0x1a, 0x17, 0x83, 0xd5, 0x82, 0xb9, 0x16, 0xb5, 0xac, 0x83, + 0xef, 0x84, 0xa9, 0xca, 0x4a, 0xd6, 0x10, 0xab, 0x1e, 0x70, 0xdc, 0xf0, 0x5d, 0xab, 0xc2, 0xc5, + 0x55, 0xc6, 0x0b, 0xc8, 0xf1, 0x5d, 0x82, 0xd0, 0x6c, 0x8b, 0xb2, 0x6e, 0x9a, 0xe0, 0x7b, 0xc1, + 0x91, 0x5e, 0xd9, 0x9e, 0xaf, 0x94, 0x81, 0xb4, 0xa0, 0x73, 0xea, 0x57, 0xc1, 0x91, 0x17, 0xe1, + 0x7c, 0x1a, 0x81, 0xe3, 0x03, 0xef, 0xb8, 0xa9, 0x14, 0x2e, 0x4c, 0x2c, 0x8c, 0x01, 0x8e, 0xef, + 0x67, 0x4a, 0x78, 0x4e, 0x4b, 0xa9, 0x6e, 0x4c, 0x75, 0x17, 0x1f, 0x92, 0x75, 0x44, 0xf2, 0x17, + 0x46, 0x40, 0xb5, 0xeb, 0x08, 0x63, 0x95, 0xee, 0xe3, 0x07, 0x5e, 0xc6, 0x2c, 0x6e, 0xc0, 0x5a, + 0x21, 0xdb, 0xf8, 0x21, 0xa9, 0xa3, 0x9d, 0xaa, 0x11, 0x54, 0xb3, 0x8e, 0xe8, 0x81, 0x8b, 0x69, + 0x5b, 0x82, 0x8d, 0x84, 0xec, 0xe2, 0x47, 0xbe, 0x89, 0xd9, 0x99, 0x44, 0xab, 0x23, 0x11, 0x81, + 0x4b, 0x04, 0xb3, 0xa9, 0x06, 0xfc, 0xb5, 0x9f, 0xef, 0x0c, 0x79, 0x45, 0xa3, 0x08, 0x6c, 0x18, + 0xb5, 0x6f, 0x32, 0x4d, 0xf3, 0x8d, 0x52, 0x8e, 0x53, 0x69, 0xc8, 0xa6, 0x17, 0x4f, 0x83, 0xd5, + 0xf9, 0x8c, 0x9d, 0x07, 0x1f, 0x93, 0x03, 0xd4, 0xb8, 0xd2, 0x16, 0x95, 0x6b, 0xbf, 0xad, 0x3a, + 0x10, 0xc8, 0x45, 0x45, 0x06, 0x7f, 0xe7, 0x4b, 0x2a, 0x8f, 0x96, 0x37, 0xf4, 0x40, 0x07, 0xf7, + 0xe3, 0x27, 0xde, 0x14, 0x17, 0xde, 0x77, 0x8e, 0xf0, 0xd4, 0xa7, 0x28, 0x57, 0xd1, 0x54, 0xc6, + 0xf7, 0xc1, 0x1a, 0x56, 0xa7, 0xc6, 0x02, 0x77, 0xa9, 0x01, 0x8d, 0x7f, 0x08, 0x1d, 0x9f, 0x64, + 0x87, 0xfa, 0x7e, 0x0c, 0x1d, 0xbf, 0x50, 0xb9, 0xe3, 0xc0, 0x84, 0xf1, 0x89, 0x7f, 0xca, 0x77, + 0xd0, 0x14, 0x09, 0x22, 0xa0, 0x3d, 0xc0, 0x3f, 0x7b, 0x3c, 0x4b, 0x51, 0x38, 0xdd, 0x6f, 0xdd, + 0xb8, 0x32, 0xfc, 0x2f, 0xa1, 0xf5, 0x86, 0xf6, 0x80, 0x97, 0xcb, 0x19, 0x3f, 0xf3, 0xdb, 0xa4, + 0xca, 0xcb, 0xa8, 0x64, 0x10, 0x5d, 0x1a, 0xbc, 0x5f, 0xbd, 0x32, 0x05, 0x36, 0xb5, 0xee, 0xe7, + 0xa1, 0x6e, 0x1a, 0x45, 0xae, 0x0b, 0x7d, 0x46, 0x35, 0x37, 0xf8, 0xb7, 0x60, 0x85, 0x22, 0xe4, + 0x8a, 0x5d, 0xf2, 0x3b, 0xd9, 0x41, 0xb5, 0xfc, 0x39, 0x8a, 0x09, 0x1a, 0x39, 0xef, 0xa9, 0xe0, + 0xbe, 0x3f, 0x02, 0x0a, 0xd2, 0x64, 0x0a, 0x4a, 0x1a, 0x83, 0xe3, 0x60, 0xa9, 0x88, 0x30, 0x6d, + 0x2d, 0xfe, 0x39, 0xdf, 0x7c, 0xfc, 0xac, 0xfc, 0xed, 0x7d, 0x3d, 0x9b, 0xfd, 0xf7, 0xf4, 0xbf, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x3a, 0x4f, 0x6a, 0x93, 0x22, 0x08, 0x00, 0x00, } diff --git a/protocol/protobuf/application_metadata_message.proto b/protocol/protobuf/application_metadata_message.proto index 3ea9ed3f2..0cedde848 100644 --- a/protocol/protobuf/application_metadata_message.proto +++ b/protocol/protobuf/application_metadata_message.proto @@ -77,5 +77,6 @@ message ApplicationMetadataMessage { SYNC_ALL_KEYCARDS = 62; SYNC_KEYCARD_ACTION = 63; SYNC_SOCIAL_LINK_SETTING = 64; + SYNC_ENS_USERNAME_DETAIL = 65; } } diff --git a/protocol/protobuf/chat_message.pb.go b/protocol/protobuf/chat_message.pb.go index 5d72f0295..2aeb34cbd 100644 --- a/protocol/protobuf/chat_message.pb.go +++ b/protocol/protobuf/chat_message.pb.go @@ -869,6 +869,7 @@ type ChatMessage struct { // The type of the content of the message ContentType ChatMessage_ContentType `protobuf:"varint,8,opt,name=content_type,json=contentType,proto3,enum=protobuf.ChatMessage_ContentType" json:"content_type,omitempty"` // Types that are valid to be assigned to Payload: + // // *ChatMessage_Sticker // *ChatMessage_Image // *ChatMessage_Audio diff --git a/protocol/protobuf/membership_update_message.pb.go b/protocol/protobuf/membership_update_message.pb.go index 418cb7cfe..f49cfcd0e 100644 --- a/protocol/protobuf/membership_update_message.pb.go +++ b/protocol/protobuf/membership_update_message.pb.go @@ -166,6 +166,7 @@ type MembershipUpdateMessage struct { // An optional chat message // // Types that are valid to be assigned to ChatEntity: + // // *MembershipUpdateMessage_Message // *MembershipUpdateMessage_EmojiReaction ChatEntity isMembershipUpdateMessage_ChatEntity `protobuf_oneof:"chat_entity"` diff --git a/protocol/protobuf/pairing.pb.go b/protocol/protobuf/pairing.pb.go index ac0f0af0e..1c4855695 100644 --- a/protocol/protobuf/pairing.pb.go +++ b/protocol/protobuf/pairing.pb.go @@ -45,7 +45,7 @@ func (x SyncTrustedUser_TrustStatus) String() string { } func (SyncTrustedUser_TrustStatus) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_d61ab7221f0b5518, []int{26, 0} + return fileDescriptor_d61ab7221f0b5518, []int{27, 0} } type SyncVerificationRequest_VerificationStatus int32 @@ -79,7 +79,7 @@ func (x SyncVerificationRequest_VerificationStatus) String() string { } func (SyncVerificationRequest_VerificationStatus) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_d61ab7221f0b5518, []int{27, 0} + return fileDescriptor_d61ab7221f0b5518, []int{28, 0} } type SyncContactRequestDecision_DecisionStatus int32 @@ -104,7 +104,7 @@ func (x SyncContactRequestDecision_DecisionStatus) String() string { } func (SyncContactRequestDecision_DecisionStatus) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_d61ab7221f0b5518, []int{28, 0} + return fileDescriptor_d61ab7221f0b5518, []int{29, 0} } type SyncKeycardAction_Action int32 @@ -147,7 +147,7 @@ func (x SyncKeycardAction_Action) String() string { } func (SyncKeycardAction_Action) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_d61ab7221f0b5518, []int{33, 0} + return fileDescriptor_d61ab7221f0b5518, []int{34, 0} } // `FetchingBackedUpDataDetails` is used to describe how many messages a single backup data structure consists of @@ -1796,6 +1796,69 @@ func (m *SyncBookmark) GetDeletedAt() uint64 { return 0 } +type SyncEnsUsernameDetail struct { + Clock uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"` + Username string `protobuf:"bytes,2,opt,name=username,proto3" json:"username,omitempty"` + ChainId uint64 `protobuf:"varint,3,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"` + Removed bool `protobuf:"varint,4,opt,name=removed,proto3" json:"removed,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SyncEnsUsernameDetail) Reset() { *m = SyncEnsUsernameDetail{} } +func (m *SyncEnsUsernameDetail) String() string { return proto.CompactTextString(m) } +func (*SyncEnsUsernameDetail) ProtoMessage() {} +func (*SyncEnsUsernameDetail) Descriptor() ([]byte, []int) { + return fileDescriptor_d61ab7221f0b5518, []int{19} +} + +func (m *SyncEnsUsernameDetail) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SyncEnsUsernameDetail.Unmarshal(m, b) +} +func (m *SyncEnsUsernameDetail) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SyncEnsUsernameDetail.Marshal(b, m, deterministic) +} +func (m *SyncEnsUsernameDetail) XXX_Merge(src proto.Message) { + xxx_messageInfo_SyncEnsUsernameDetail.Merge(m, src) +} +func (m *SyncEnsUsernameDetail) XXX_Size() int { + return xxx_messageInfo_SyncEnsUsernameDetail.Size(m) +} +func (m *SyncEnsUsernameDetail) XXX_DiscardUnknown() { + xxx_messageInfo_SyncEnsUsernameDetail.DiscardUnknown(m) +} + +var xxx_messageInfo_SyncEnsUsernameDetail proto.InternalMessageInfo + +func (m *SyncEnsUsernameDetail) GetClock() uint64 { + if m != nil { + return m.Clock + } + return 0 +} + +func (m *SyncEnsUsernameDetail) GetUsername() string { + if m != nil { + return m.Username + } + return "" +} + +func (m *SyncEnsUsernameDetail) GetChainId() uint64 { + if m != nil { + return m.ChainId + } + return 0 +} + +func (m *SyncEnsUsernameDetail) GetRemoved() bool { + if m != nil { + return m.Removed + } + return false +} + type SyncClearHistory struct { ChatId string `protobuf:"bytes,1,opt,name=chat_id,json=chatId,proto3" json:"chat_id,omitempty"` ClearedAt uint64 `protobuf:"varint,2,opt,name=cleared_at,json=clearedAt,proto3" json:"cleared_at,omitempty"` @@ -1808,7 +1871,7 @@ func (m *SyncClearHistory) Reset() { *m = SyncClearHistory{} } func (m *SyncClearHistory) String() string { return proto.CompactTextString(m) } func (*SyncClearHistory) ProtoMessage() {} func (*SyncClearHistory) Descriptor() ([]byte, []int) { - return fileDescriptor_d61ab7221f0b5518, []int{19} + return fileDescriptor_d61ab7221f0b5518, []int{20} } func (m *SyncClearHistory) XXX_Unmarshal(b []byte) error { @@ -1860,7 +1923,7 @@ func (m *SyncProfilePicture) Reset() { *m = SyncProfilePicture{} } func (m *SyncProfilePicture) String() string { return proto.CompactTextString(m) } func (*SyncProfilePicture) ProtoMessage() {} func (*SyncProfilePicture) Descriptor() ([]byte, []int) { - return fileDescriptor_d61ab7221f0b5518, []int{20} + return fileDescriptor_d61ab7221f0b5518, []int{21} } func (m *SyncProfilePicture) XXX_Unmarshal(b []byte) error { @@ -1942,7 +2005,7 @@ func (m *SyncProfilePictures) Reset() { *m = SyncProfilePictures{} } func (m *SyncProfilePictures) String() string { return proto.CompactTextString(m) } func (*SyncProfilePictures) ProtoMessage() {} func (*SyncProfilePictures) Descriptor() ([]byte, []int) { - return fileDescriptor_d61ab7221f0b5518, []int{21} + return fileDescriptor_d61ab7221f0b5518, []int{22} } func (m *SyncProfilePictures) XXX_Unmarshal(b []byte) error { @@ -2004,7 +2067,7 @@ func (m *SyncWalletAccount) Reset() { *m = SyncWalletAccount{} } func (m *SyncWalletAccount) String() string { return proto.CompactTextString(m) } func (*SyncWalletAccount) ProtoMessage() {} func (*SyncWalletAccount) Descriptor() ([]byte, []int) { - return fileDescriptor_d61ab7221f0b5518, []int{22} + return fileDescriptor_d61ab7221f0b5518, []int{23} } func (m *SyncWalletAccount) XXX_Unmarshal(b []byte) error { @@ -2155,7 +2218,7 @@ func (m *SyncWalletAccounts) Reset() { *m = SyncWalletAccounts{} } func (m *SyncWalletAccounts) String() string { return proto.CompactTextString(m) } func (*SyncWalletAccounts) ProtoMessage() {} func (*SyncWalletAccounts) Descriptor() ([]byte, []int) { - return fileDescriptor_d61ab7221f0b5518, []int{23} + return fileDescriptor_d61ab7221f0b5518, []int{24} } func (m *SyncWalletAccounts) XXX_Unmarshal(b []byte) error { @@ -2201,7 +2264,7 @@ func (m *SyncSavedAddress) Reset() { *m = SyncSavedAddress{} } func (m *SyncSavedAddress) String() string { return proto.CompactTextString(m) } func (*SyncSavedAddress) ProtoMessage() {} func (*SyncSavedAddress) Descriptor() ([]byte, []int) { - return fileDescriptor_d61ab7221f0b5518, []int{24} + return fileDescriptor_d61ab7221f0b5518, []int{25} } func (m *SyncSavedAddress) XXX_Unmarshal(b []byte) error { @@ -2291,7 +2354,7 @@ func (m *SyncCommunitySettings) Reset() { *m = SyncCommunitySettings{} } func (m *SyncCommunitySettings) String() string { return proto.CompactTextString(m) } func (*SyncCommunitySettings) ProtoMessage() {} func (*SyncCommunitySettings) Descriptor() ([]byte, []int) { - return fileDescriptor_d61ab7221f0b5518, []int{25} + return fileDescriptor_d61ab7221f0b5518, []int{26} } func (m *SyncCommunitySettings) XXX_Unmarshal(b []byte) error { @@ -2346,7 +2409,7 @@ func (m *SyncTrustedUser) Reset() { *m = SyncTrustedUser{} } func (m *SyncTrustedUser) String() string { return proto.CompactTextString(m) } func (*SyncTrustedUser) ProtoMessage() {} func (*SyncTrustedUser) Descriptor() ([]byte, []int) { - return fileDescriptor_d61ab7221f0b5518, []int{26} + return fileDescriptor_d61ab7221f0b5518, []int{27} } func (m *SyncTrustedUser) XXX_Unmarshal(b []byte) error { @@ -2407,7 +2470,7 @@ func (m *SyncVerificationRequest) Reset() { *m = SyncVerificationRequest func (m *SyncVerificationRequest) String() string { return proto.CompactTextString(m) } func (*SyncVerificationRequest) ProtoMessage() {} func (*SyncVerificationRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_d61ab7221f0b5518, []int{27} + return fileDescriptor_d61ab7221f0b5518, []int{28} } func (m *SyncVerificationRequest) XXX_Unmarshal(b []byte) error { @@ -2504,7 +2567,7 @@ func (m *SyncContactRequestDecision) Reset() { *m = SyncContactRequestDe func (m *SyncContactRequestDecision) String() string { return proto.CompactTextString(m) } func (*SyncContactRequestDecision) ProtoMessage() {} func (*SyncContactRequestDecision) Descriptor() ([]byte, []int) { - return fileDescriptor_d61ab7221f0b5518, []int{28} + return fileDescriptor_d61ab7221f0b5518, []int{29} } func (m *SyncContactRequestDecision) XXX_Unmarshal(b []byte) error { @@ -2553,6 +2616,7 @@ type BackedUpProfile struct { DisplayNameClock uint64 `protobuf:"varint,3,opt,name=display_name_clock,json=displayNameClock,proto3" json:"display_name_clock,omitempty"` Pictures []*SyncProfilePicture `protobuf:"bytes,4,rep,name=pictures,proto3" json:"pictures,omitempty"` SocialLinkSettings []*SyncSocialLinkSetting `protobuf:"bytes,5,rep,name=social_link_settings,json=socialLinkSettings,proto3" json:"social_link_settings,omitempty"` + EnsUsernameDetails []*SyncEnsUsernameDetail `protobuf:"bytes,6,rep,name=ens_username_details,json=ensUsernameDetails,proto3" json:"ens_username_details,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -2562,7 +2626,7 @@ func (m *BackedUpProfile) Reset() { *m = BackedUpProfile{} } func (m *BackedUpProfile) String() string { return proto.CompactTextString(m) } func (*BackedUpProfile) ProtoMessage() {} func (*BackedUpProfile) Descriptor() ([]byte, []int) { - return fileDescriptor_d61ab7221f0b5518, []int{29} + return fileDescriptor_d61ab7221f0b5518, []int{30} } func (m *BackedUpProfile) XXX_Unmarshal(b []byte) error { @@ -2618,6 +2682,13 @@ func (m *BackedUpProfile) GetSocialLinkSettings() []*SyncSocialLinkSetting { return nil } +func (m *BackedUpProfile) GetEnsUsernameDetails() []*SyncEnsUsernameDetail { + if m != nil { + return m.EnsUsernameDetails + } + return nil +} + type RawMessage struct { Payload []byte `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"` MessageType ApplicationMetadataMessage_Type `protobuf:"varint,2,opt,name=messageType,proto3,enum=protobuf.ApplicationMetadataMessage_Type" json:"messageType,omitempty"` @@ -2630,7 +2701,7 @@ func (m *RawMessage) Reset() { *m = RawMessage{} } func (m *RawMessage) String() string { return proto.CompactTextString(m) } func (*RawMessage) ProtoMessage() {} func (*RawMessage) Descriptor() ([]byte, []int) { - return fileDescriptor_d61ab7221f0b5518, []int{30} + return fileDescriptor_d61ab7221f0b5518, []int{31} } func (m *RawMessage) XXX_Unmarshal(b []byte) error { @@ -2679,7 +2750,7 @@ func (m *SyncRawMessage) Reset() { *m = SyncRawMessage{} } func (m *SyncRawMessage) String() string { return proto.CompactTextString(m) } func (*SyncRawMessage) ProtoMessage() {} func (*SyncRawMessage) Descriptor() ([]byte, []int) { - return fileDescriptor_d61ab7221f0b5518, []int{31} + return fileDescriptor_d61ab7221f0b5518, []int{32} } func (m *SyncRawMessage) XXX_Unmarshal(b []byte) error { @@ -2737,7 +2808,7 @@ func (m *SyncKeycard) Reset() { *m = SyncKeycard{} } func (m *SyncKeycard) String() string { return proto.CompactTextString(m) } func (*SyncKeycard) ProtoMessage() {} func (*SyncKeycard) Descriptor() ([]byte, []int) { - return fileDescriptor_d61ab7221f0b5518, []int{32} + return fileDescriptor_d61ab7221f0b5518, []int{33} } func (m *SyncKeycard) XXX_Unmarshal(b []byte) error { @@ -2813,7 +2884,7 @@ func (m *SyncKeycardAction) Reset() { *m = SyncKeycardAction{} } func (m *SyncKeycardAction) String() string { return proto.CompactTextString(m) } func (*SyncKeycardAction) ProtoMessage() {} func (*SyncKeycardAction) Descriptor() ([]byte, []int) { - return fileDescriptor_d61ab7221f0b5518, []int{33} + return fileDescriptor_d61ab7221f0b5518, []int{34} } func (m *SyncKeycardAction) XXX_Unmarshal(b []byte) error { @@ -2867,7 +2938,7 @@ func (m *SyncAllKeycards) Reset() { *m = SyncAllKeycards{} } func (m *SyncAllKeycards) String() string { return proto.CompactTextString(m) } func (*SyncAllKeycards) ProtoMessage() {} func (*SyncAllKeycards) Descriptor() ([]byte, []int) { - return fileDescriptor_d61ab7221f0b5518, []int{34} + return fileDescriptor_d61ab7221f0b5518, []int{35} } func (m *SyncAllKeycards) XXX_Unmarshal(b []byte) error { @@ -2915,7 +2986,7 @@ func (m *SyncSocialLinkSetting) Reset() { *m = SyncSocialLinkSetting{} } func (m *SyncSocialLinkSetting) String() string { return proto.CompactTextString(m) } func (*SyncSocialLinkSetting) ProtoMessage() {} func (*SyncSocialLinkSetting) Descriptor() ([]byte, []int) { - return fileDescriptor_d61ab7221f0b5518, []int{35} + return fileDescriptor_d61ab7221f0b5518, []int{36} } func (m *SyncSocialLinkSetting) XXX_Unmarshal(b []byte) error { @@ -2985,6 +3056,7 @@ func init() { proto.RegisterType((*SyncActivityCenterAccepted)(nil), "protobuf.SyncActivityCenterAccepted") proto.RegisterType((*SyncActivityCenterDismissed)(nil), "protobuf.SyncActivityCenterDismissed") proto.RegisterType((*SyncBookmark)(nil), "protobuf.SyncBookmark") + proto.RegisterType((*SyncEnsUsernameDetail)(nil), "protobuf.SyncEnsUsernameDetail") proto.RegisterType((*SyncClearHistory)(nil), "protobuf.SyncClearHistory") proto.RegisterType((*SyncProfilePicture)(nil), "protobuf.SyncProfilePicture") proto.RegisterType((*SyncProfilePictures)(nil), "protobuf.SyncProfilePictures") @@ -3009,192 +3081,196 @@ func init() { } var fileDescriptor_d61ab7221f0b5518 = []byte{ - // 2985 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x19, 0x4d, 0x97, 0x1b, 0x47, - 0x31, 0xfa, 0x58, 0x7d, 0x94, 0xb4, 0x5a, 0x6d, 0x7b, 0x6d, 0xcb, 0x6b, 0xe7, 0xd9, 0x9e, 0x24, - 0x2f, 0x86, 0x17, 0xd6, 0xe0, 0x10, 0x12, 0xec, 0xe4, 0x05, 0x59, 0x52, 0xe2, 0xf5, 0xda, 0xf2, - 0xd2, 0xbb, 0xeb, 0x90, 0xc0, 0x7b, 0xf3, 0xda, 0x33, 0xed, 0x55, 0x67, 0x47, 0x33, 0x62, 0xba, - 0xb5, 0x8e, 0x72, 0x02, 0x4e, 0x9c, 0xb9, 0xc0, 0x31, 0x67, 0x8e, 0xbc, 0xc7, 0x81, 0x1b, 0x47, - 0xee, 0x1c, 0x81, 0x3f, 0xc0, 0xe3, 0x07, 0x70, 0xe4, 0x75, 0x75, 0xcf, 0x68, 0x46, 0x2b, 0x2d, - 0xf6, 0xe3, 0xc4, 0x49, 0x5d, 0x35, 0x55, 0xd5, 0xd5, 0xf5, 0xd1, 0x55, 0xd5, 0x82, 0xf5, 0x09, - 0x13, 0xb1, 0x08, 0x8f, 0x77, 0x26, 0x71, 0xa4, 0x22, 0x52, 0xc3, 0x9f, 0x67, 0xd3, 0xe7, 0xdb, - 0x17, 0xe4, 0x2c, 0xf4, 0x5c, 0xc9, 0x95, 0x12, 0xe1, 0xb1, 0x34, 0x9f, 0xb7, 0x1d, 0x36, 0x99, - 0x04, 0xc2, 0x63, 0x4a, 0x44, 0xa1, 0x3b, 0xe6, 0x8a, 0xf9, 0x4c, 0x31, 0x77, 0xcc, 0xa5, 0x64, - 0xc7, 0xdc, 0xd0, 0x38, 0x0c, 0xae, 0x7e, 0xc2, 0x95, 0x37, 0x12, 0xe1, 0xf1, 0x7d, 0xe6, 0x9d, - 0x70, 0xff, 0x68, 0xd2, 0x67, 0x8a, 0xf5, 0xb9, 0x62, 0x22, 0x90, 0xe4, 0x3a, 0x34, 0x90, 0x29, - 0x9c, 0x8e, 0x9f, 0xf1, 0xb8, 0x53, 0xb8, 0x51, 0xb8, 0xb5, 0x4e, 0x41, 0xa3, 0x86, 0x88, 0x21, - 0x37, 0xa1, 0xa9, 0x22, 0xc5, 0x82, 0x84, 0xa2, 0x88, 0x14, 0x0d, 0xc4, 0x19, 0x12, 0xe7, 0x17, - 0x55, 0xa8, 0x68, 0xd9, 0xd3, 0x09, 0xd9, 0x82, 0x35, 0x2f, 0x88, 0xbc, 0x13, 0x14, 0x54, 0xa6, - 0x06, 0x20, 0x2d, 0x28, 0x0a, 0x1f, 0x39, 0xeb, 0xb4, 0x28, 0x7c, 0xf2, 0x31, 0xd4, 0xbc, 0x28, - 0x54, 0xcc, 0x53, 0xb2, 0x53, 0xba, 0x51, 0xba, 0xd5, 0xb8, 0xf3, 0xc6, 0x4e, 0x72, 0xd2, 0x9d, - 0x83, 0x59, 0xe8, 0xed, 0x86, 0x52, 0xb1, 0x20, 0xc0, 0x83, 0xf5, 0x0c, 0xe5, 0xd3, 0x3b, 0x34, - 0x65, 0x22, 0x3f, 0x84, 0x86, 0x17, 0x8d, 0xc7, 0xd3, 0x50, 0x28, 0xc1, 0x65, 0xa7, 0x8c, 0x32, - 0x2e, 0xe7, 0x65, 0xf4, 0x2c, 0xc1, 0x8c, 0x66, 0x69, 0xc9, 0x13, 0xd8, 0x48, 0xc4, 0x58, 0x1b, - 0x74, 0xd6, 0x6e, 0x14, 0x6e, 0x35, 0xee, 0xbc, 0x35, 0x67, 0x3f, 0xc7, 0x60, 0x74, 0x91, 0x9b, - 0x1c, 0x01, 0xc9, 0xc8, 0x4f, 0x64, 0x56, 0x5e, 0x45, 0xe6, 0x12, 0x01, 0xe4, 0x5d, 0xa8, 0x4e, - 0xe2, 0xe8, 0xb9, 0x08, 0x78, 0xa7, 0x8a, 0xb2, 0xae, 0xcc, 0x65, 0x25, 0x32, 0xf6, 0x0d, 0x01, - 0x4d, 0x28, 0xc9, 0x63, 0x68, 0xd9, 0x65, 0xa2, 0x47, 0xed, 0x55, 0xf4, 0x58, 0x60, 0x26, 0xb7, - 0xa1, 0x6a, 0x23, 0xae, 0x53, 0x47, 0x39, 0x17, 0xf3, 0x26, 0x3e, 0x30, 0x1f, 0x69, 0x42, 0xa5, - 0x8d, 0x9b, 0x84, 0x68, 0xa2, 0x00, 0xbc, 0x92, 0x71, 0x17, 0xb8, 0xc9, 0x7b, 0x50, 0x3b, 0xe1, - 0x33, 0x8f, 0xc5, 0xbe, 0xec, 0x34, 0x16, 0xcd, 0xa0, 0x55, 0xe8, 0x06, 0xc1, 0x9e, 0x25, 0xa0, - 0x29, 0xa9, 0xd6, 0x23, 0x59, 0x27, 0x7a, 0x34, 0x5f, 0x49, 0x8f, 0x05, 0x6e, 0xd2, 0x85, 0xf5, - 0x17, 0x2c, 0x08, 0xb8, 0xea, 0x7a, 0x5e, 0x34, 0x0d, 0x55, 0x67, 0x1d, 0xc5, 0x5d, 0xcd, 0x2b, - 0xf3, 0x59, 0x96, 0x84, 0xe6, 0x39, 0xc8, 0x4f, 0xe1, 0x62, 0x0e, 0x91, 0x6a, 0xd6, 0x7a, 0x15, - 0xcd, 0x96, 0xcb, 0x70, 0xfe, 0x55, 0x86, 0xe6, 0xe3, 0x69, 0xa0, 0x44, 0xb2, 0x1b, 0x81, 0x72, - 0xc8, 0xc6, 0x1c, 0xf3, 0xb0, 0x4e, 0x71, 0x4d, 0xae, 0x41, 0x5d, 0x89, 0x31, 0x97, 0x8a, 0x8d, - 0x27, 0x98, 0x8d, 0x25, 0x3a, 0x47, 0xe8, 0xaf, 0xc2, 0xe7, 0xa1, 0x12, 0x5e, 0x14, 0x76, 0x4a, - 0xc8, 0x36, 0x47, 0x90, 0x8f, 0x01, 0xbc, 0x28, 0x88, 0x62, 0x77, 0xc4, 0xe4, 0xc8, 0x26, 0xdc, - 0x8d, 0xb9, 0xca, 0xd9, 0xbd, 0x77, 0x7a, 0x9a, 0xf0, 0x01, 0x93, 0x23, 0x5a, 0xf7, 0x92, 0x25, - 0xb9, 0xa2, 0x73, 0x5e, 0x0b, 0x10, 0x3e, 0x26, 0x5c, 0x89, 0x56, 0x11, 0xde, 0xf5, 0xc9, 0xdb, - 0xa9, 0xb7, 0x5c, 0x7b, 0xfd, 0x61, 0xfa, 0xd4, 0x69, 0xcb, 0xa2, 0xf7, 0x0d, 0x96, 0x5c, 0x86, - 0xea, 0x09, 0x9f, 0xb9, 0x53, 0xe1, 0x63, 0x4e, 0xd4, 0x69, 0xe5, 0x84, 0xcf, 0x8e, 0x84, 0x4f, - 0x3e, 0x84, 0x8a, 0x18, 0xb3, 0x63, 0xae, 0xe3, 0x5d, 0x6b, 0xf6, 0xe6, 0x0a, 0xcd, 0x76, 0xf1, - 0x3c, 0x6a, 0xb6, 0xab, 0x89, 0xa9, 0xe5, 0x21, 0xb7, 0xe1, 0x82, 0x37, 0x95, 0x2a, 0x1a, 0x8b, - 0xaf, 0xcd, 0x55, 0x8a, 0x8a, 0x61, 0xc8, 0xd7, 0x29, 0xc9, 0x7d, 0xc2, 0xa3, 0x6d, 0xdf, 0x84, - 0x7a, 0x7a, 0x46, 0x7d, 0xe5, 0x89, 0xd0, 0xe7, 0x5f, 0x75, 0x0a, 0x37, 0x4a, 0xb7, 0x4a, 0xd4, - 0x00, 0xdb, 0x7f, 0x2b, 0xc0, 0x7a, 0x6e, 0xb7, 0xac, 0xf2, 0x85, 0x9c, 0xf2, 0x89, 0xab, 0x8a, - 0x19, 0x57, 0x75, 0xa0, 0x3a, 0x61, 0xb3, 0x20, 0x62, 0x3e, 0xba, 0xa2, 0x49, 0x13, 0x50, 0x6f, - 0xf7, 0x42, 0xf8, 0x4a, 0xfb, 0x40, 0x1b, 0xd1, 0x00, 0xe4, 0x12, 0x54, 0x46, 0x5c, 0x1c, 0x8f, - 0x94, 0xb5, 0xad, 0x85, 0xc8, 0x36, 0xd4, 0x74, 0x42, 0x4b, 0xf1, 0x35, 0x47, 0x9b, 0x96, 0x68, - 0x0a, 0x93, 0x37, 0x60, 0x3d, 0xc6, 0x95, 0xab, 0x58, 0x7c, 0xcc, 0x15, 0xda, 0xb4, 0x44, 0x9b, - 0x06, 0x79, 0x88, 0xb8, 0xf9, 0x85, 0x5e, 0xcb, 0x5c, 0xe8, 0xce, 0x5f, 0x0b, 0x70, 0xe1, 0x51, - 0xe4, 0xb1, 0xc0, 0x7a, 0x66, 0xdf, 0x2a, 0xf7, 0x1e, 0x94, 0x4f, 0xf8, 0x4c, 0xa2, 0x29, 0x1a, - 0x77, 0x6e, 0xce, 0xbd, 0xb0, 0x84, 0x78, 0x67, 0x8f, 0xcf, 0x28, 0x92, 0x93, 0xbb, 0xd0, 0x1c, - 0x6b, 0x37, 0x31, 0x9b, 0x5c, 0x45, 0xcc, 0x88, 0x4b, 0xcb, 0x9d, 0x48, 0x73, 0xb4, 0xfa, 0x84, - 0x13, 0x26, 0xe5, 0x8b, 0x28, 0xf6, 0x6d, 0xd4, 0xa6, 0xf0, 0xf6, 0x77, 0xa0, 0xb4, 0xc7, 0x67, - 0x4b, 0x73, 0x81, 0x40, 0x59, 0x17, 0x39, 0xdc, 0xaa, 0x49, 0x71, 0xed, 0xfc, 0xa9, 0x00, 0x17, - 0x73, 0x8a, 0x72, 0x1e, 0x3f, 0xe0, 0x41, 0x10, 0xe9, 0x08, 0xb5, 0x91, 0xe9, 0x9e, 0xf2, 0x58, - 0x8a, 0x28, 0x44, 0x61, 0x6b, 0xb4, 0x65, 0xd1, 0x4f, 0x0d, 0x56, 0x3b, 0x79, 0xc2, 0x39, 0x06, - 0xb9, 0x91, 0x5c, 0xd1, 0xe0, 0xae, 0x8f, 0x75, 0x96, 0x9f, 0x0a, 0x8f, 0xbb, 0xa8, 0x8a, 0xd1, - 0x14, 0x0c, 0x6a, 0xa8, 0x15, 0x9a, 0x13, 0xa8, 0xd9, 0x84, 0xa3, 0x77, 0x53, 0x82, 0xc3, 0xd9, - 0x04, 0xb3, 0x57, 0x8a, 0xe3, 0x90, 0xa9, 0x69, 0xcc, 0xd1, 0xcb, 0x4d, 0x3a, 0x47, 0x38, 0xdf, - 0x14, 0xa0, 0xad, 0xd5, 0xce, 0x56, 0xce, 0x15, 0xd5, 0xf8, 0x6d, 0xd8, 0x10, 0x19, 0x2a, 0x37, - 0x2d, 0xcd, 0xad, 0x2c, 0x3a, 0xa7, 0x33, 0xaa, 0x54, 0x3a, 0xa3, 0x52, 0x62, 0xd8, 0x72, 0x3e, - 0x72, 0x13, 0x13, 0xad, 0x61, 0xab, 0x90, 0x80, 0xce, 0x3f, 0x0b, 0x70, 0x79, 0x45, 0x71, 0x7f, - 0xc9, 0xbe, 0xe1, 0x0d, 0x58, 0xb7, 0x15, 0xca, 0xc5, 0xd4, 0xb5, 0x2a, 0x35, 0x2d, 0xd2, 0xe4, - 0xd9, 0x15, 0xa8, 0xf1, 0x50, 0xba, 0x19, 0xc5, 0xaa, 0x3c, 0x94, 0x68, 0xe3, 0x9b, 0xd0, 0x0c, - 0x98, 0x54, 0xee, 0x74, 0xe2, 0x33, 0xc5, 0xcd, 0x3d, 0x54, 0xa6, 0x0d, 0x8d, 0x3b, 0x32, 0x28, - 0x7d, 0x66, 0x39, 0x93, 0x8a, 0x8f, 0x5d, 0xc5, 0x8e, 0x75, 0x19, 0x2f, 0xe9, 0x33, 0x1b, 0xd4, - 0x21, 0x3b, 0x96, 0xe4, 0x2d, 0x68, 0x05, 0x3a, 0x46, 0xdc, 0x50, 0x78, 0x27, 0xb8, 0x89, 0xb9, - 0x8a, 0xd6, 0x11, 0x3b, 0xb4, 0x48, 0xe7, 0x97, 0x15, 0xb8, 0xb2, 0xb2, 0x93, 0x21, 0xdf, 0x85, - 0xad, 0xac, 0x22, 0x2e, 0xf2, 0x06, 0x33, 0x7b, 0x7a, 0x92, 0x51, 0xe8, 0x91, 0xf9, 0xf2, 0x7f, - 0x6c, 0x0a, 0xed, 0x5b, 0xe6, 0xfb, 0xdc, 0xc7, 0x0b, 0xb5, 0x46, 0x0d, 0xa0, 0xe3, 0xe4, 0x99, - 0x76, 0x32, 0xf7, 0xb1, 0x45, 0xa8, 0xd1, 0x04, 0xd4, 0xf4, 0xe3, 0xa9, 0xd6, 0xa9, 0x61, 0xe8, - 0x11, 0xd0, 0xf4, 0x31, 0x1f, 0x47, 0xa7, 0xdc, 0xc7, 0x52, 0x5e, 0xa3, 0x09, 0x48, 0x6e, 0x40, - 0x73, 0xc4, 0xa4, 0x8b, 0x62, 0xdd, 0xa9, 0xc4, 0xd2, 0x5c, 0xa3, 0x30, 0x62, 0xb2, 0xab, 0x51, - 0x47, 0x78, 0xc1, 0x9f, 0xf2, 0x58, 0x3c, 0x4f, 0x5a, 0x65, 0xa9, 0x98, 0x9a, 0x9a, 0xc2, 0x5b, - 0xa2, 0x24, 0xfb, 0xe9, 0x00, 0xbf, 0x60, 0xd3, 0x1b, 0x4f, 0xa5, 0x4a, 0x28, 0x37, 0x90, 0xb2, - 0x81, 0x38, 0x4b, 0xf2, 0x11, 0x5c, 0xb5, 0x9d, 0xa0, 0x1b, 0xf3, 0x9f, 0x4f, 0xb9, 0x54, 0xc6, - 0x8b, 0xc8, 0xc2, 0x3b, 0x6d, 0xe4, 0xe8, 0x58, 0x12, 0x6a, 0x28, 0xd0, 0x99, 0x9a, 0x9f, 0xaf, - 0x66, 0x37, 0x69, 0xb0, 0xb9, 0x92, 0xbd, 0x87, 0x99, 0xf1, 0x31, 0x5c, 0x5b, 0x64, 0xd7, 0xe6, - 0x50, 0xdc, 0x6e, 0x4f, 0x90, 0xff, 0x4a, 0x9e, 0x9f, 0x22, 0x85, 0xd9, 0x7f, 0xb5, 0x00, 0xa3, - 0xc0, 0x85, 0xd5, 0x02, 0x8c, 0x06, 0x37, 0xa1, 0xe9, 0x0b, 0x39, 0x09, 0xd8, 0xcc, 0xc4, 0xd7, - 0x16, 0xba, 0xbe, 0x61, 0x71, 0x3a, 0xc6, 0x9c, 0x17, 0x67, 0xf3, 0x3d, 0x69, 0x4f, 0x96, 0xe7, - 0xfb, 0x99, 0xa0, 0x2e, 0x2e, 0x09, 0xea, 0xc5, 0xc8, 0x2d, 0x9d, 0x89, 0x5c, 0xe7, 0x3e, 0x6c, - 0x2f, 0x6e, 0xbc, 0x3f, 0x7d, 0x16, 0x08, 0xaf, 0x37, 0x62, 0x2f, 0x79, 0xd7, 0x38, 0x7f, 0x2c, - 0xc1, 0x7a, 0x6e, 0x8c, 0xf8, 0xaf, 0x7c, 0x4d, 0x4c, 0xcc, 0xeb, 0xd0, 0x98, 0xc4, 0xe2, 0x94, - 0x29, 0xee, 0x9e, 0xf0, 0x99, 0xad, 0xde, 0x60, 0x51, 0xba, 0x1a, 0xdd, 0xd0, 0xb7, 0xaa, 0xf4, - 0x62, 0x31, 0xd1, 0x7a, 0x61, 0x5e, 0x36, 0x69, 0x16, 0xa5, 0x8b, 0xf9, 0x97, 0x91, 0x08, 0x6d, - 0x56, 0xd6, 0xa8, 0x85, 0x74, 0xa9, 0x33, 0xb1, 0xca, 0x7d, 0x2c, 0xe6, 0x35, 0x9a, 0xc2, 0xf3, - 0xa4, 0xa9, 0x66, 0x93, 0xe6, 0x09, 0xb4, 0xad, 0x77, 0xa5, 0xab, 0x22, 0x57, 0xcb, 0xb1, 0x1d, - 0xd2, 0x5b, 0xab, 0x86, 0x25, 0x4b, 0x7e, 0x18, 0x3d, 0x8c, 0x44, 0x48, 0x5b, 0x71, 0x0e, 0x26, - 0xf7, 0xa0, 0x96, 0xb4, 0xe8, 0x76, 0x24, 0xb8, 0xbe, 0x42, 0x90, 0x9d, 0x0d, 0x24, 0x4d, 0x19, - 0x74, 0x05, 0xe3, 0xa1, 0x17, 0xcf, 0x26, 0x2a, 0x4d, 0xfa, 0x39, 0x02, 0xeb, 0xdb, 0x84, 0x7b, - 0x8a, 0xcd, 0x53, 0x7f, 0x8e, 0xd0, 0x45, 0xcb, 0x92, 0xea, 0x04, 0xc6, 0x26, 0xa3, 0x89, 0x96, - 0x6b, 0xcd, 0xd1, 0x7b, 0x7c, 0x26, 0x9d, 0x5f, 0x95, 0xe0, 0xea, 0x39, 0x27, 0xb2, 0xfe, 0x2a, - 0xa4, 0xfe, 0x7a, 0x1d, 0x60, 0x82, 0xb1, 0x81, 0xee, 0x32, 0xfe, 0xaf, 0x1b, 0x8c, 0xf6, 0x56, - 0xea, 0xf4, 0x52, 0xd6, 0xe9, 0xe7, 0x5c, 0xac, 0x97, 0xa1, 0xea, 0x8d, 0x98, 0x4a, 0xda, 0xdc, - 0x3a, 0xad, 0x68, 0x70, 0xd7, 0xd7, 0x71, 0x9b, 0x8c, 0x79, 0x33, 0xfd, 0xb5, 0x62, 0x1c, 0x9f, - 0xe2, 0x76, 0xd1, 0x89, 0x26, 0x7d, 0xab, 0x66, 0x33, 0x04, 0xc8, 0x09, 0x90, 0x98, 0x9f, 0x72, - 0x16, 0x70, 0x5f, 0x5f, 0x72, 0x31, 0x97, 0x32, 0x6d, 0x74, 0x3f, 0x7c, 0x29, 0x37, 0xee, 0x50, - 0xcb, 0xdf, 0x4d, 0xd8, 0x07, 0xa1, 0x8a, 0x67, 0x74, 0x33, 0x5e, 0xc4, 0x6f, 0xf7, 0xe1, 0xd2, - 0x72, 0x62, 0xd2, 0x86, 0x92, 0xb6, 0x90, 0x69, 0xa2, 0xf4, 0x52, 0xab, 0x7b, 0xca, 0x82, 0x29, - 0xb7, 0xd1, 0x6f, 0x80, 0xbb, 0xc5, 0x0f, 0x0a, 0xce, 0x6f, 0x8a, 0xd0, 0x5e, 0xcc, 0x40, 0xf2, - 0x51, 0x66, 0xea, 0x3f, 0xd3, 0x20, 0xae, 0xa8, 0x95, 0x99, 0x99, 0xff, 0x53, 0x68, 0x5a, 0x47, - 0x69, 0x83, 0xca, 0x4e, 0x71, 0xb1, 0xd3, 0x5f, 0x9d, 0xf2, 0xb4, 0x31, 0x49, 0xd7, 0x92, 0xdc, - 0x83, 0x6a, 0xd2, 0x68, 0x96, 0x30, 0x84, 0xcf, 0x51, 0x23, 0xe9, 0x39, 0x13, 0x8e, 0xff, 0xe1, - 0xe5, 0xc1, 0x79, 0x1f, 0x36, 0xf0, 0xab, 0x56, 0xc8, 0x96, 0xae, 0x97, 0xbb, 0x8a, 0x3e, 0x84, - 0xad, 0x84, 0xf1, 0xb1, 0x79, 0xdb, 0x91, 0x94, 0xb3, 0x97, 0xe5, 0xfe, 0x11, 0x5c, 0xc2, 0x41, - 0xd9, 0x53, 0xe2, 0x54, 0xa8, 0x59, 0x8f, 0x87, 0x8a, 0xc7, 0xe7, 0xf0, 0xb7, 0xa1, 0x24, 0x7c, - 0x63, 0xde, 0x26, 0xd5, 0x4b, 0xa7, 0x6f, 0xae, 0xd3, 0xbc, 0x84, 0xae, 0xe7, 0x71, 0xcc, 0xdb, - 0x97, 0x95, 0x32, 0x30, 0x79, 0x99, 0x97, 0xd2, 0x17, 0x72, 0x2c, 0xa4, 0x7c, 0x05, 0x31, 0xdf, - 0x14, 0xa0, 0xa9, 0xe5, 0xdc, 0x8f, 0xa2, 0x93, 0x31, 0x8b, 0x4f, 0x56, 0x33, 0x4e, 0xe3, 0xc0, - 0x9a, 0x41, 0x2f, 0xd3, 0x66, 0xb5, 0x94, 0x69, 0x56, 0xaf, 0x42, 0x1d, 0x0b, 0x8d, 0xab, 0x69, - 0x4d, 0x22, 0xd7, 0x10, 0x71, 0x14, 0x07, 0xd9, 0x8e, 0x63, 0x2d, 0xdf, 0x71, 0xbc, 0x0e, 0xe0, - 0xf3, 0x80, 0xeb, 0xce, 0x8d, 0x29, 0x4c, 0xe4, 0x32, 0xad, 0x5b, 0x4c, 0x57, 0x39, 0x0f, 0x4d, - 0xf0, 0xf7, 0x02, 0xce, 0xe2, 0x07, 0x42, 0xaa, 0x28, 0x9e, 0x65, 0xaf, 0x85, 0x42, 0xee, 0x5a, - 0x78, 0x1d, 0xc0, 0xd3, 0x84, 0x46, 0x56, 0xd1, 0xc8, 0xb2, 0x98, 0xae, 0x72, 0xfe, 0x52, 0x00, - 0xa2, 0x85, 0xd9, 0xa7, 0x9e, 0x7d, 0xe1, 0xe9, 0x76, 0x7f, 0xe9, 0x48, 0x93, 0x99, 0x19, 0x8b, - 0x2b, 0x66, 0xc6, 0x12, 0x76, 0xe4, 0x67, 0x66, 0xc6, 0x32, 0xa2, 0x93, 0x99, 0xf1, 0x2a, 0xd4, - 0xb1, 0x04, 0xe3, 0xd0, 0x68, 0x7a, 0x78, 0x1c, 0x1a, 0x0f, 0x96, 0x0e, 0x8d, 0x15, 0x24, 0x58, - 0x31, 0x34, 0x56, 0xb3, 0x43, 0xe3, 0x08, 0x2e, 0x9c, 0x3d, 0x89, 0x5c, 0x3d, 0x17, 0x7f, 0x00, - 0xb5, 0x89, 0x25, 0xb2, 0xc9, 0x7e, 0x2d, 0x9f, 0x67, 0x79, 0x49, 0x34, 0xa5, 0x76, 0xfe, 0x51, - 0x82, 0xcd, 0x33, 0xef, 0x31, 0x2b, 0x02, 0xa5, 0x03, 0x55, 0x7b, 0xa9, 0x26, 0x56, 0xb3, 0xa0, - 0xb6, 0x8f, 0x79, 0x6c, 0x41, 0xb3, 0xd5, 0xa8, 0x85, 0xb4, 0xed, 0xb5, 0xef, 0xd0, 0x6a, 0x35, - 0x8a, 0x6b, 0x8d, 0xc3, 0x19, 0xc9, 0x5c, 0xf9, 0xb8, 0xd6, 0x92, 0xb5, 0xef, 0x75, 0x1f, 0x63, - 0x9e, 0x33, 0x12, 0x50, 0x53, 0x4f, 0x98, 0x1a, 0xd9, 0x76, 0x19, 0xd7, 0xba, 0xfc, 0xa5, 0x55, - 0x07, 0x87, 0xed, 0x66, 0xb6, 0x0c, 0x25, 0xfe, 0xae, 0x67, 0xfc, 0xad, 0xcf, 0x83, 0x0f, 0x15, - 0x80, 0x48, 0x03, 0xa0, 0x57, 0x85, 0xef, 0xf3, 0xd0, 0xd6, 0x50, 0x0b, 0x9d, 0xd3, 0x3f, 0x6f, - 0xc1, 0x1a, 0x1f, 0x47, 0x5f, 0x0a, 0x6c, 0x9c, 0xeb, 0xd4, 0x00, 0xd8, 0xdf, 0xf1, 0x58, 0x9c, - 0x72, 0xdf, 0x7d, 0x1e, 0x47, 0x63, 0x6c, 0x96, 0x75, 0x7f, 0x67, 0x70, 0x9f, 0xc4, 0xd1, 0x38, - 0xeb, 0xb9, 0x8d, 0x9c, 0xe7, 0x6e, 0x42, 0xf3, 0x84, 0xcf, 0xf4, 0x68, 0x6c, 0x4a, 0x64, 0xdb, - 0xf0, 0x5a, 0x1c, 0x96, 0xc9, 0x7b, 0xb0, 0x6d, 0xba, 0x38, 0xc9, 0x7d, 0x17, 0x85, 0xda, 0x61, - 0x14, 0x9f, 0x52, 0x36, 0xd1, 0x43, 0x97, 0xb1, 0xa7, 0x93, 0xdc, 0xef, 0xa7, 0xdf, 0x77, 0xf5, - 0x67, 0xe7, 0xb1, 0xc9, 0x89, 0x9c, 0x7b, 0x25, 0x79, 0x1f, 0x6a, 0xf6, 0x96, 0x4e, 0xea, 0xcb, - 0xb9, 0xcf, 0x73, 0x29, 0xb1, 0xf3, 0xef, 0x82, 0x49, 0xd8, 0x03, 0x76, 0x9a, 0x56, 0xbd, 0x6c, - 0x5c, 0x14, 0xf2, 0x71, 0xb1, 0xec, 0xbd, 0xe6, 0x1a, 0xd4, 0x9f, 0xb3, 0xd3, 0x68, 0x1a, 0x0b, - 0xc5, 0x6d, 0xb8, 0xcc, 0x11, 0xe7, 0xdc, 0x24, 0x37, 0xa1, 0x69, 0xfa, 0x58, 0x37, 0x9b, 0x30, - 0x0d, 0x83, 0x33, 0x8d, 0xf6, 0xb7, 0x61, 0xd3, 0x1b, 0x31, 0x11, 0xba, 0x72, 0x14, 0xc5, 0x0a, - 0x0d, 0x6a, 0x9e, 0x75, 0xeb, 0x74, 0x03, 0x3f, 0x1c, 0x68, 0xbc, 0x36, 0xaa, 0xd4, 0xb7, 0x1e, - 0x0f, 0xa5, 0x8d, 0x12, 0xbd, 0xd4, 0x3e, 0x12, 0xd2, 0x55, 0x5c, 0x2a, 0xdb, 0x71, 0x55, 0x84, - 0x3c, 0xe4, 0x52, 0x3d, 0x2c, 0xd7, 0xca, 0xed, 0x35, 0xe7, 0xb7, 0x05, 0xb8, 0xb8, 0xb4, 0x6d, - 0x5b, 0x91, 0x2d, 0x8b, 0x4d, 0x8c, 0xb1, 0x41, 0xae, 0x89, 0x19, 0xc0, 0xf5, 0x91, 0xb9, 0xf4, - 0x5c, 0x16, 0x7b, 0x23, 0x71, 0xca, 0x5d, 0x39, 0x9d, 0x4c, 0xb4, 0xee, 0x3c, 0x64, 0xcf, 0x02, - 0xdb, 0xb2, 0xd7, 0xe8, 0x35, 0x4b, 0xd6, 0x35, 0x54, 0x07, 0x86, 0x68, 0x60, 0x68, 0x9c, 0x3f, - 0x14, 0x4c, 0xb9, 0x3c, 0xd4, 0x33, 0x97, 0x9e, 0xe2, 0x78, 0xfc, 0x92, 0xaf, 0x04, 0x1f, 0x41, - 0xc5, 0x8e, 0x6d, 0x7a, 0x9f, 0xd6, 0x62, 0xab, 0x9b, 0x11, 0xb8, 0x73, 0x38, 0x1f, 0xe8, 0xa8, - 0x65, 0x72, 0xee, 0x42, 0x23, 0x83, 0x26, 0x0d, 0xa8, 0x1e, 0x0d, 0xf7, 0x86, 0x4f, 0x3e, 0x1b, - 0xb6, 0x5f, 0xd3, 0xc0, 0x21, 0x3d, 0x3a, 0x38, 0x1c, 0xf4, 0xdb, 0x05, 0xb2, 0x09, 0xeb, 0x47, - 0x43, 0x04, 0x3f, 0x7b, 0x42, 0x0f, 0x1f, 0x7c, 0xde, 0x2e, 0x3a, 0xdf, 0x94, 0xcc, 0xc8, 0xf3, - 0x34, 0x33, 0x52, 0xda, 0x56, 0x6c, 0x85, 0xf2, 0x04, 0xca, 0x98, 0x5e, 0x36, 0x98, 0xf4, 0x5a, - 0x1f, 0x48, 0x45, 0xb6, 0x4e, 0x15, 0x55, 0xa4, 0x83, 0xcb, 0x1b, 0xe9, 0xd8, 0x0d, 0x8f, 0x93, - 0x76, 0x73, 0x8e, 0xd0, 0x2e, 0xb1, 0x4d, 0xba, 0x29, 0x21, 0x76, 0x92, 0x4f, 0x71, 0x5d, 0x7c, - 0x23, 0x8b, 0xb9, 0x9c, 0x44, 0xa1, 0x4c, 0xae, 0xa2, 0x14, 0xd6, 0xf5, 0x27, 0xe6, 0x93, 0x40, - 0x18, 0x66, 0x13, 0x7f, 0x75, 0x8b, 0xe9, 0x2a, 0xc2, 0x97, 0x8f, 0xce, 0x35, 0xb4, 0xec, 0xf7, - 0xf3, 0x96, 0x5d, 0x72, 0xea, 0x9d, 0xa7, 0x67, 0x86, 0xeb, 0xa5, 0x03, 0xb7, 0xf1, 0x61, 0x3d, - 0x6d, 0x5a, 0x7e, 0x02, 0xe4, 0x2c, 0xe7, 0x19, 0x5f, 0xec, 0x0f, 0x86, 0xfd, 0xdd, 0xe1, 0xa7, - 0xed, 0x02, 0x69, 0x42, 0xad, 0xdb, 0xeb, 0x0d, 0xf6, 0xb5, 0x67, 0x8a, 0x1a, 0xea, 0x0f, 0x7a, - 0x8f, 0x76, 0x87, 0x83, 0x7e, 0xbb, 0xa4, 0xa1, 0x5e, 0x77, 0xd8, 0x1b, 0x3c, 0x1a, 0xf4, 0xdb, - 0x65, 0xe7, 0xef, 0x05, 0xd3, 0xcd, 0xf4, 0x72, 0x93, 0x6d, 0x9f, 0x7b, 0x42, 0xae, 0x7e, 0x32, - 0xbb, 0x06, 0x75, 0x6b, 0xcf, 0xdd, 0x24, 0xd2, 0xe6, 0x08, 0xf2, 0x33, 0xd8, 0xf0, 0x2d, 0xbf, - 0x9b, 0x8b, 0xbc, 0x77, 0x17, 0xfb, 0xc2, 0x65, 0x5b, 0xee, 0x24, 0x0b, 0x6b, 0x9e, 0x96, 0x9f, - 0x83, 0x9d, 0x77, 0xa0, 0x95, 0xa7, 0xc8, 0x1d, 0xf6, 0xb5, 0xdc, 0x61, 0x0b, 0xce, 0xaf, 0x8b, - 0xb0, 0xb1, 0xf0, 0xf7, 0xd0, 0xea, 0x0a, 0xbb, 0x38, 0xc3, 0x17, 0xcf, 0xcc, 0xf0, 0xe4, 0x1d, - 0x20, 0x59, 0x12, 0x37, 0x3b, 0x0c, 0xb5, 0x33, 0x84, 0xe6, 0xae, 0xca, 0x96, 0xec, 0xf2, 0xab, - 0x94, 0x6c, 0xf2, 0x63, 0xd8, 0x92, 0x91, 0x27, 0x58, 0xe0, 0x06, 0x22, 0x3c, 0x49, 0xff, 0xe8, - 0xec, 0xac, 0xa1, 0x94, 0x85, 0x21, 0xf3, 0x00, 0x29, 0x1f, 0x89, 0xf0, 0x24, 0xf9, 0x07, 0x8a, - 0xc8, 0x45, 0x94, 0x74, 0x24, 0x00, 0x65, 0x2f, 0x6c, 0xc7, 0x9c, 0xed, 0x8e, 0x0a, 0xf9, 0xee, - 0x68, 0x0f, 0x1a, 0xf6, 0x2f, 0xd3, 0x43, 0x5d, 0xc2, 0x8b, 0xe8, 0xba, 0x6f, 0xcd, 0x77, 0xec, - 0xce, 0xff, 0x64, 0x7d, 0x6c, 0xff, 0x63, 0xb5, 0x42, 0x77, 0x34, 0x03, 0xcd, 0x72, 0x3b, 0xbf, - 0x2f, 0x40, 0x4b, 0xab, 0x98, 0xd9, 0xf9, 0x07, 0xd0, 0x88, 0x53, 0x28, 0x29, 0x4d, 0x5b, 0x73, - 0xf9, 0x73, 0x52, 0x9a, 0x25, 0x24, 0x77, 0x60, 0x4b, 0x4e, 0x9f, 0x25, 0xe5, 0xed, 0xa1, 0x8c, - 0xc2, 0xfb, 0x33, 0xc5, 0x93, 0x36, 0x65, 0xe9, 0x37, 0xf2, 0x0e, 0x6c, 0x26, 0xa6, 0x9b, 0x33, - 0x98, 0x37, 0x88, 0xb3, 0x1f, 0x9c, 0xdf, 0x15, 0xa0, 0xa1, 0x95, 0xb5, 0xff, 0xa0, 0x61, 0xd3, - 0x9c, 0x06, 0x89, 0x5e, 0x2e, 0xad, 0x75, 0x97, 0xa0, 0x62, 0x1f, 0xee, 0x6c, 0x5f, 0x64, 0xdf, - 0xed, 0x32, 0x61, 0x56, 0xce, 0x85, 0xd9, 0x35, 0xa8, 0xcf, 0xe7, 0xd6, 0x35, 0x6c, 0xe5, 0xe7, - 0x88, 0x79, 0xc6, 0x55, 0xb2, 0xcd, 0xe2, 0x9f, 0x8b, 0xa6, 0x85, 0xb3, 0xaa, 0xe9, 0xa9, 0x21, - 0x0a, 0xc9, 0x5d, 0xa8, 0x30, 0x5c, 0xa1, 0x8e, 0xad, 0x3b, 0x4e, 0x3e, 0x2e, 0x72, 0xc4, 0x3b, - 0xe6, 0x87, 0x5a, 0x0e, 0xf2, 0x26, 0xac, 0x47, 0x81, 0x6f, 0x49, 0x8e, 0xd2, 0x8a, 0x91, 0x47, - 0x92, 0xdb, 0x78, 0x08, 0x0d, 0xd9, 0xe1, 0xf0, 0xe2, 0xd2, 0x2d, 0x68, 0x42, 0xa5, 0x2b, 0x68, - 0xc5, 0x6a, 0xb7, 0x09, 0xeb, 0x7b, 0x83, 0xcf, 0x7b, 0x5d, 0xda, 0x77, 0xbb, 0xfd, 0x3e, 0x26, - 0x27, 0x81, 0x56, 0xb7, 0xd7, 0x7b, 0x72, 0x34, 0x3c, 0x3c, 0xb0, 0xb8, 0x02, 0xb9, 0x00, 0x1b, - 0x09, 0x59, 0x7f, 0xf0, 0x68, 0x60, 0xae, 0xac, 0x2d, 0x68, 0xa7, 0x84, 0x74, 0xf0, 0xf8, 0xc9, - 0x53, 0xbc, 0xba, 0x00, 0x2a, 0x8f, 0x9e, 0xf4, 0xf6, 0xf4, 0xc5, 0xa5, 0xf3, 0xfc, 0x68, 0x68, - 0xa1, 0x35, 0xb2, 0x01, 0x8d, 0xa3, 0xdd, 0xbe, 0x7b, 0xb4, 0xdf, 0xef, 0x6a, 0x01, 0x15, 0xd2, - 0x86, 0xe6, 0xb0, 0xfb, 0x78, 0xe0, 0xf6, 0x1e, 0x74, 0x87, 0x9f, 0x0e, 0xfa, 0xed, 0xaa, 0xf3, - 0x85, 0x29, 0xa0, 0x99, 0x7f, 0x48, 0xc9, 0xf7, 0x32, 0x7f, 0xa7, 0x9a, 0x38, 0x5c, 0x71, 0xbc, - 0xf9, 0x5f, 0xa9, 0xa9, 0x7b, 0x8a, 0x59, 0xf7, 0x1c, 0x98, 0xb6, 0xe1, 0x4c, 0x22, 0x62, 0x23, - 0xcc, 0xbf, 0x52, 0xc9, 0x60, 0xa2, 0xd7, 0x4b, 0x66, 0xb1, 0xa5, 0xaf, 0x2a, 0xf7, 0xd7, 0xbf, - 0x68, 0xec, 0xdc, 0xbe, 0x97, 0xe8, 0xf3, 0xac, 0x82, 0xab, 0x77, 0xff, 0x13, 0x00, 0x00, 0xff, - 0xff, 0x61, 0x1a, 0x00, 0xa2, 0x14, 0x21, 0x00, 0x00, + // 3049 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x39, 0x4b, 0x73, 0x1b, 0xc7, + 0xd1, 0xc6, 0x83, 0x78, 0x34, 0x40, 0x10, 0x1c, 0x51, 0x12, 0x44, 0xc9, 0x25, 0x69, 0x6d, 0x97, + 0xf5, 0x7d, 0xe5, 0x50, 0x89, 0x1c, 0xc7, 0x8e, 0x64, 0x97, 0x03, 0x01, 0xb0, 0x45, 0x51, 0x82, + 0x98, 0x21, 0x21, 0xc7, 0x4e, 0xaa, 0xb6, 0x56, 0xbb, 0x23, 0x62, 0x8c, 0xc5, 0x2e, 0xb2, 0x33, + 0xa0, 0x0c, 0x1f, 0x52, 0x49, 0x7e, 0x42, 0x2e, 0xc9, 0xd1, 0xe7, 0x1c, 0x53, 0x95, 0x43, 0x6e, + 0x39, 0xe6, 0x9e, 0xa3, 0x93, 0x3f, 0x90, 0xca, 0x0f, 0xc8, 0x31, 0x35, 0x3d, 0xb3, 0x8b, 0x5d, + 0x3c, 0x18, 0xb2, 0x72, 0xca, 0x09, 0xd3, 0xbd, 0xdd, 0x3d, 0x3d, 0xfd, 0x98, 0xee, 0x1e, 0xc0, + 0xe6, 0xc4, 0xe1, 0x11, 0x0f, 0x4e, 0xf6, 0x26, 0x51, 0x28, 0x43, 0x52, 0xc1, 0x9f, 0x17, 0xd3, + 0x97, 0xbb, 0x97, 0xc4, 0x2c, 0x70, 0x6d, 0xc1, 0xa4, 0xe4, 0xc1, 0x89, 0xd0, 0x9f, 0x77, 0x2d, + 0x67, 0x32, 0xf1, 0xb9, 0xeb, 0x48, 0x1e, 0x06, 0xf6, 0x98, 0x49, 0xc7, 0x73, 0xa4, 0x63, 0x8f, + 0x99, 0x10, 0xce, 0x09, 0xd3, 0x34, 0x96, 0x03, 0xd7, 0x3f, 0x61, 0xd2, 0x1d, 0xf2, 0xe0, 0xe4, + 0xa1, 0xe3, 0x8e, 0x98, 0x37, 0x98, 0x74, 0x1d, 0xe9, 0x74, 0x99, 0x74, 0xb8, 0x2f, 0xc8, 0x4d, + 0xa8, 0x21, 0x53, 0x30, 0x1d, 0xbf, 0x60, 0x51, 0x2b, 0x77, 0x2b, 0x77, 0x67, 0x93, 0x82, 0x42, + 0xf5, 0x11, 0x43, 0x6e, 0x43, 0x5d, 0x86, 0xd2, 0xf1, 0x63, 0x8a, 0x3c, 0x52, 0xd4, 0x10, 0xa7, + 0x49, 0xac, 0x5f, 0x96, 0xa1, 0xa4, 0x64, 0x4f, 0x27, 0x64, 0x07, 0x36, 0x5c, 0x3f, 0x74, 0x47, + 0x28, 0xa8, 0x48, 0x35, 0x40, 0x1a, 0x90, 0xe7, 0x1e, 0x72, 0x56, 0x69, 0x9e, 0x7b, 0xe4, 0x63, + 0xa8, 0xb8, 0x61, 0x20, 0x1d, 0x57, 0x8a, 0x56, 0xe1, 0x56, 0xe1, 0x4e, 0xed, 0xde, 0x1b, 0x7b, + 0xf1, 0x49, 0xf7, 0x8e, 0x66, 0x81, 0xbb, 0x1f, 0x08, 0xe9, 0xf8, 0x3e, 0x1e, 0xac, 0xa3, 0x29, + 0x9f, 0xdf, 0xa3, 0x09, 0x13, 0xf9, 0x21, 0xd4, 0xdc, 0x70, 0x3c, 0x9e, 0x06, 0x5c, 0x72, 0x26, + 0x5a, 0x45, 0x94, 0x71, 0x35, 0x2b, 0xa3, 0x63, 0x08, 0x66, 0x34, 0x4d, 0x4b, 0x9e, 0xc1, 0x56, + 0x2c, 0xc6, 0xd8, 0xa0, 0xb5, 0x71, 0x2b, 0x77, 0xa7, 0x76, 0xef, 0xad, 0x39, 0xfb, 0x19, 0x06, + 0xa3, 0x8b, 0xdc, 0x64, 0x00, 0x24, 0x25, 0x3f, 0x96, 0x59, 0xba, 0x88, 0xcc, 0x15, 0x02, 0xc8, + 0xbb, 0x50, 0x9e, 0x44, 0xe1, 0x4b, 0xee, 0xb3, 0x56, 0x19, 0x65, 0x5d, 0x9b, 0xcb, 0x8a, 0x65, + 0x1c, 0x6a, 0x02, 0x1a, 0x53, 0x92, 0xa7, 0xd0, 0x30, 0xcb, 0x58, 0x8f, 0xca, 0x45, 0xf4, 0x58, + 0x60, 0x26, 0x77, 0xa1, 0x6c, 0x22, 0xae, 0x55, 0x45, 0x39, 0x97, 0xb3, 0x26, 0x3e, 0xd2, 0x1f, + 0x69, 0x4c, 0xa5, 0x8c, 0x1b, 0x87, 0x68, 0xac, 0x00, 0x5c, 0xc8, 0xb8, 0x0b, 0xdc, 0xe4, 0x3d, + 0xa8, 0x8c, 0xd8, 0xcc, 0x75, 0x22, 0x4f, 0xb4, 0x6a, 0x8b, 0x66, 0x50, 0x2a, 0xb4, 0x7d, 0xff, + 0xc0, 0x10, 0xd0, 0x84, 0x54, 0xe9, 0x11, 0xaf, 0x63, 0x3d, 0xea, 0x17, 0xd2, 0x63, 0x81, 0x9b, + 0xb4, 0x61, 0xf3, 0x95, 0xe3, 0xfb, 0x4c, 0xb6, 0x5d, 0x37, 0x9c, 0x06, 0xb2, 0xb5, 0x89, 0xe2, + 0xae, 0x67, 0x95, 0xf9, 0x2c, 0x4d, 0x42, 0xb3, 0x1c, 0xe4, 0xa7, 0x70, 0x39, 0x83, 0x48, 0x34, + 0x6b, 0x5c, 0x44, 0xb3, 0xd5, 0x32, 0xac, 0x7f, 0x16, 0xa1, 0xfe, 0x74, 0xea, 0x4b, 0x1e, 0xef, + 0x46, 0xa0, 0x18, 0x38, 0x63, 0x86, 0x79, 0x58, 0xa5, 0xb8, 0x26, 0x37, 0xa0, 0x2a, 0xf9, 0x98, + 0x09, 0xe9, 0x8c, 0x27, 0x98, 0x8d, 0x05, 0x3a, 0x47, 0xa8, 0xaf, 0xdc, 0x63, 0x81, 0xe4, 0x6e, + 0x18, 0xb4, 0x0a, 0xc8, 0x36, 0x47, 0x90, 0x8f, 0x01, 0xdc, 0xd0, 0x0f, 0x23, 0x7b, 0xe8, 0x88, + 0xa1, 0x49, 0xb8, 0x5b, 0x73, 0x95, 0xd3, 0x7b, 0xef, 0x75, 0x14, 0xe1, 0x23, 0x47, 0x0c, 0x69, + 0xd5, 0x8d, 0x97, 0xe4, 0x9a, 0xca, 0x79, 0x25, 0x80, 0x7b, 0x98, 0x70, 0x05, 0x5a, 0x46, 0x78, + 0xdf, 0x23, 0x6f, 0x27, 0xde, 0xb2, 0xcd, 0xf5, 0x87, 0xe9, 0x53, 0xa5, 0x0d, 0x83, 0x3e, 0xd4, + 0x58, 0x72, 0x15, 0xca, 0x23, 0x36, 0xb3, 0xa7, 0xdc, 0xc3, 0x9c, 0xa8, 0xd2, 0xd2, 0x88, 0xcd, + 0x06, 0xdc, 0x23, 0x1f, 0x42, 0x89, 0x8f, 0x9d, 0x13, 0xa6, 0xe2, 0x5d, 0x69, 0xf6, 0xe6, 0x1a, + 0xcd, 0xf6, 0xf1, 0x3c, 0x72, 0xb6, 0xaf, 0x88, 0xa9, 0xe1, 0x21, 0x77, 0xe1, 0x92, 0x3b, 0x15, + 0x32, 0x1c, 0xf3, 0xaf, 0xf5, 0x55, 0x8a, 0x8a, 0x61, 0xc8, 0x57, 0x29, 0xc9, 0x7c, 0xc2, 0xa3, + 0xed, 0xde, 0x86, 0x6a, 0x72, 0x46, 0x75, 0xe5, 0xf1, 0xc0, 0x63, 0x5f, 0xb5, 0x72, 0xb7, 0x0a, + 0x77, 0x0a, 0x54, 0x03, 0xbb, 0xdf, 0xe6, 0x60, 0x33, 0xb3, 0x5b, 0x5a, 0xf9, 0x5c, 0x46, 0xf9, + 0xd8, 0x55, 0xf9, 0x94, 0xab, 0x5a, 0x50, 0x9e, 0x38, 0x33, 0x3f, 0x74, 0x3c, 0x74, 0x45, 0x9d, + 0xc6, 0xa0, 0xda, 0xee, 0x15, 0xf7, 0xa4, 0xf2, 0x81, 0x32, 0xa2, 0x06, 0xc8, 0x15, 0x28, 0x0d, + 0x19, 0x3f, 0x19, 0x4a, 0x63, 0x5b, 0x03, 0x91, 0x5d, 0xa8, 0xa8, 0x84, 0x16, 0xfc, 0x6b, 0x86, + 0x36, 0x2d, 0xd0, 0x04, 0x26, 0x6f, 0xc0, 0x66, 0x84, 0x2b, 0x5b, 0x3a, 0xd1, 0x09, 0x93, 0x68, + 0xd3, 0x02, 0xad, 0x6b, 0xe4, 0x31, 0xe2, 0xe6, 0x17, 0x7a, 0x25, 0x75, 0xa1, 0x5b, 0x7f, 0xcd, + 0xc1, 0xa5, 0x27, 0xa1, 0xeb, 0xf8, 0xc6, 0x33, 0x87, 0x46, 0xb9, 0xf7, 0xa0, 0x38, 0x62, 0x33, + 0x81, 0xa6, 0xa8, 0xdd, 0xbb, 0x3d, 0xf7, 0xc2, 0x0a, 0xe2, 0xbd, 0x03, 0x36, 0xa3, 0x48, 0x4e, + 0xee, 0x43, 0x7d, 0xac, 0xdc, 0xe4, 0x98, 0xe4, 0xca, 0x63, 0x46, 0x5c, 0x59, 0xed, 0x44, 0x9a, + 0xa1, 0x55, 0x27, 0x9c, 0x38, 0x42, 0xbc, 0x0a, 0x23, 0xcf, 0x44, 0x6d, 0x02, 0xef, 0x7e, 0x07, + 0x0a, 0x07, 0x6c, 0xb6, 0x32, 0x17, 0x08, 0x14, 0x55, 0x91, 0xc3, 0xad, 0xea, 0x14, 0xd7, 0xd6, + 0x9f, 0x72, 0x70, 0x39, 0xa3, 0x28, 0x63, 0xd1, 0x23, 0xe6, 0xfb, 0xa1, 0x8a, 0x50, 0x13, 0x99, + 0xf6, 0x29, 0x8b, 0x04, 0x0f, 0x03, 0x14, 0xb6, 0x41, 0x1b, 0x06, 0xfd, 0x5c, 0x63, 0x95, 0x93, + 0x27, 0x8c, 0x61, 0x90, 0x6b, 0xc9, 0x25, 0x05, 0xee, 0x7b, 0x58, 0x67, 0xd9, 0x29, 0x77, 0x99, + 0x8d, 0xaa, 0x68, 0x4d, 0x41, 0xa3, 0xfa, 0x4a, 0xa1, 0x39, 0x81, 0x9c, 0x4d, 0x18, 0x7a, 0x37, + 0x21, 0x38, 0x9e, 0x4d, 0x30, 0x7b, 0x05, 0x3f, 0x09, 0x1c, 0x39, 0x8d, 0x18, 0x7a, 0xb9, 0x4e, + 0xe7, 0x08, 0xeb, 0x9b, 0x1c, 0x34, 0x95, 0xda, 0xe9, 0xca, 0xb9, 0xa6, 0x1a, 0xbf, 0x0d, 0x5b, + 0x3c, 0x45, 0x65, 0x27, 0xa5, 0xb9, 0x91, 0x46, 0x67, 0x74, 0x46, 0x95, 0x0a, 0x4b, 0x2a, 0xc5, + 0x86, 0x2d, 0x66, 0x23, 0x37, 0x36, 0xd1, 0x06, 0xb6, 0x0a, 0x31, 0x68, 0xfd, 0x23, 0x07, 0x57, + 0xd7, 0x14, 0xf7, 0x73, 0xf6, 0x0d, 0x6f, 0xc0, 0xa6, 0xa9, 0x50, 0x36, 0xa6, 0xae, 0x51, 0xa9, + 0x6e, 0x90, 0x3a, 0xcf, 0xae, 0x41, 0x85, 0x05, 0xc2, 0x4e, 0x29, 0x56, 0x66, 0x81, 0x40, 0x1b, + 0xdf, 0x86, 0xba, 0xef, 0x08, 0x69, 0x4f, 0x27, 0x9e, 0x23, 0x99, 0xbe, 0x87, 0x8a, 0xb4, 0xa6, + 0x70, 0x03, 0x8d, 0x52, 0x67, 0x16, 0x33, 0x21, 0xd9, 0xd8, 0x96, 0xce, 0x89, 0x2a, 0xe3, 0x05, + 0x75, 0x66, 0x8d, 0x3a, 0x76, 0x4e, 0x04, 0x79, 0x0b, 0x1a, 0xbe, 0x8a, 0x11, 0x3b, 0xe0, 0xee, + 0x08, 0x37, 0xd1, 0x57, 0xd1, 0x26, 0x62, 0xfb, 0x06, 0x69, 0xfd, 0xaa, 0x04, 0xd7, 0xd6, 0x76, + 0x32, 0xe4, 0xbb, 0xb0, 0x93, 0x56, 0xc4, 0x46, 0x5e, 0x7f, 0x66, 0x4e, 0x4f, 0x52, 0x0a, 0x3d, + 0xd1, 0x5f, 0xfe, 0x87, 0x4d, 0xa1, 0x7c, 0xeb, 0x78, 0x1e, 0xf3, 0xf0, 0x42, 0xad, 0x50, 0x0d, + 0xa8, 0x38, 0x79, 0xa1, 0x9c, 0xcc, 0x3c, 0x6c, 0x11, 0x2a, 0x34, 0x06, 0x15, 0xfd, 0x78, 0xaa, + 0x74, 0xaa, 0x69, 0x7a, 0x04, 0x14, 0x7d, 0xc4, 0xc6, 0xe1, 0x29, 0xf3, 0xb0, 0x94, 0x57, 0x68, + 0x0c, 0x92, 0x5b, 0x50, 0x1f, 0x3a, 0xc2, 0x46, 0xb1, 0xf6, 0x54, 0x60, 0x69, 0xae, 0x50, 0x18, + 0x3a, 0xa2, 0xad, 0x50, 0x03, 0xbc, 0xe0, 0x4f, 0x59, 0xc4, 0x5f, 0xc6, 0xad, 0xb2, 0x90, 0x8e, + 0x9c, 0xea, 0xc2, 0x5b, 0xa0, 0x24, 0xfd, 0xe9, 0x08, 0xbf, 0x60, 0xd3, 0x1b, 0x4d, 0x85, 0x8c, + 0x29, 0xb7, 0x90, 0xb2, 0x86, 0x38, 0x43, 0xf2, 0x11, 0x5c, 0x37, 0x9d, 0xa0, 0x1d, 0xb1, 0x9f, + 0x4f, 0x99, 0x90, 0xda, 0x8b, 0xc8, 0xc2, 0x5a, 0x4d, 0xe4, 0x68, 0x19, 0x12, 0xaa, 0x29, 0xd0, + 0x99, 0x8a, 0x9f, 0xad, 0x67, 0xd7, 0x69, 0xb0, 0xbd, 0x96, 0xbd, 0x83, 0x99, 0xf1, 0x31, 0xdc, + 0x58, 0x64, 0x57, 0xe6, 0x90, 0xcc, 0x6c, 0x4f, 0x90, 0xff, 0x5a, 0x96, 0x9f, 0x22, 0x85, 0xde, + 0x7f, 0xbd, 0x00, 0xad, 0xc0, 0xa5, 0xf5, 0x02, 0xb4, 0x06, 0xb7, 0xa1, 0xee, 0x71, 0x31, 0xf1, + 0x9d, 0x99, 0x8e, 0xaf, 0x1d, 0x74, 0x7d, 0xcd, 0xe0, 0x54, 0x8c, 0x59, 0xaf, 0x96, 0xf3, 0x3d, + 0x6e, 0x4f, 0x56, 0xe7, 0xfb, 0x52, 0x50, 0xe7, 0x57, 0x04, 0xf5, 0x62, 0xe4, 0x16, 0x96, 0x22, + 0xd7, 0x7a, 0x08, 0xbb, 0x8b, 0x1b, 0x1f, 0x4e, 0x5f, 0xf8, 0xdc, 0xed, 0x0c, 0x9d, 0x73, 0xde, + 0x35, 0xd6, 0x1f, 0x0b, 0xb0, 0x99, 0x19, 0x23, 0xfe, 0x23, 0x5f, 0x1d, 0x13, 0xf3, 0x26, 0xd4, + 0x26, 0x11, 0x3f, 0x75, 0x24, 0xb3, 0x47, 0x6c, 0x66, 0xaa, 0x37, 0x18, 0x94, 0xaa, 0x46, 0xb7, + 0xd4, 0xad, 0x2a, 0xdc, 0x88, 0x4f, 0x94, 0x5e, 0x98, 0x97, 0x75, 0x9a, 0x46, 0xa9, 0x62, 0xfe, + 0x65, 0xc8, 0x03, 0x93, 0x95, 0x15, 0x6a, 0x20, 0x55, 0xea, 0x74, 0xac, 0x32, 0x0f, 0x8b, 0x79, + 0x85, 0x26, 0xf0, 0x3c, 0x69, 0xca, 0xe9, 0xa4, 0x79, 0x06, 0x4d, 0xe3, 0x5d, 0x61, 0xcb, 0xd0, + 0x56, 0x72, 0x4c, 0x87, 0xf4, 0xd6, 0xba, 0x61, 0xc9, 0x90, 0x1f, 0x87, 0x8f, 0x43, 0x1e, 0xd0, + 0x46, 0x94, 0x81, 0xc9, 0x03, 0xa8, 0xc4, 0x2d, 0xba, 0x19, 0x09, 0x6e, 0xae, 0x11, 0x64, 0x66, + 0x03, 0x41, 0x13, 0x06, 0x55, 0xc1, 0x58, 0xe0, 0x46, 0xb3, 0x89, 0x4c, 0x92, 0x7e, 0x8e, 0xc0, + 0xfa, 0x36, 0x61, 0xae, 0x74, 0xe6, 0xa9, 0x3f, 0x47, 0xa8, 0xa2, 0x65, 0x48, 0x55, 0x02, 0x63, + 0x93, 0x51, 0x47, 0xcb, 0x35, 0xe6, 0xe8, 0x03, 0x36, 0x13, 0xd6, 0xaf, 0x0b, 0x70, 0xfd, 0x8c, + 0x13, 0x19, 0x7f, 0xe5, 0x12, 0x7f, 0xbd, 0x0e, 0x30, 0xc1, 0xd8, 0x40, 0x77, 0x69, 0xff, 0x57, + 0x35, 0x46, 0x79, 0x2b, 0x71, 0x7a, 0x21, 0xed, 0xf4, 0x33, 0x2e, 0xd6, 0xab, 0x50, 0x76, 0x87, + 0x8e, 0x8c, 0xdb, 0xdc, 0x2a, 0x2d, 0x29, 0x70, 0xdf, 0x53, 0x71, 0x1b, 0x8f, 0x79, 0x33, 0xf5, + 0xb5, 0xa4, 0x1d, 0x9f, 0xe0, 0xf6, 0xd1, 0x89, 0x3a, 0x7d, 0xcb, 0x7a, 0x33, 0x04, 0xc8, 0x08, + 0x48, 0xc4, 0x4e, 0x99, 0xe3, 0x33, 0x4f, 0x5d, 0x72, 0x11, 0x13, 0x22, 0x69, 0x74, 0x3f, 0x3c, + 0x97, 0x1b, 0xf7, 0xa8, 0xe1, 0x6f, 0xc7, 0xec, 0xbd, 0x40, 0x46, 0x33, 0xba, 0x1d, 0x2d, 0xe2, + 0x77, 0xbb, 0x70, 0x65, 0x35, 0x31, 0x69, 0x42, 0x41, 0x59, 0x48, 0x37, 0x51, 0x6a, 0xa9, 0xd4, + 0x3d, 0x75, 0xfc, 0x29, 0x33, 0xd1, 0xaf, 0x81, 0xfb, 0xf9, 0x0f, 0x72, 0xd6, 0x6f, 0xf2, 0xd0, + 0x5c, 0xcc, 0x40, 0xf2, 0x51, 0x6a, 0xea, 0x5f, 0x6a, 0x10, 0xd7, 0xd4, 0xca, 0xd4, 0xcc, 0xff, + 0x29, 0xd4, 0x8d, 0xa3, 0x94, 0x41, 0x45, 0x2b, 0xbf, 0xd8, 0xe9, 0xaf, 0x4f, 0x79, 0x5a, 0x9b, + 0x24, 0x6b, 0x41, 0x1e, 0x40, 0x39, 0x6e, 0x34, 0x0b, 0x18, 0xc2, 0x67, 0xa8, 0x11, 0xf7, 0x9c, + 0x31, 0xc7, 0x7f, 0xf1, 0xf2, 0x60, 0xbd, 0x0f, 0x5b, 0xf8, 0x55, 0x29, 0x64, 0x4a, 0xd7, 0xf9, + 0xae, 0xa2, 0x0f, 0x61, 0x27, 0x66, 0x7c, 0xaa, 0xdf, 0x76, 0x04, 0x65, 0xce, 0x79, 0xb9, 0x7f, + 0x04, 0x57, 0x70, 0x50, 0x76, 0x25, 0x3f, 0xe5, 0x72, 0xd6, 0x61, 0x81, 0x64, 0xd1, 0x19, 0xfc, + 0x4d, 0x28, 0x70, 0x4f, 0x9b, 0xb7, 0x4e, 0xd5, 0xd2, 0xea, 0xea, 0xeb, 0x34, 0x2b, 0xa1, 0xed, + 0xba, 0x0c, 0xf3, 0xf6, 0xbc, 0x52, 0x7a, 0x3a, 0x2f, 0xb3, 0x52, 0xba, 0x5c, 0x8c, 0xb9, 0x10, + 0x17, 0x10, 0xf3, 0x4d, 0x0e, 0xea, 0x4a, 0xce, 0xc3, 0x30, 0x1c, 0x8d, 0x9d, 0x68, 0xb4, 0x9e, + 0x71, 0x1a, 0xf9, 0xc6, 0x0c, 0x6a, 0x99, 0x34, 0xab, 0x85, 0x54, 0xb3, 0x7a, 0x1d, 0xaa, 0x58, + 0x68, 0x6c, 0x45, 0xab, 0x13, 0xb9, 0x82, 0x88, 0x41, 0xe4, 0xa7, 0x3b, 0x8e, 0x8d, 0x6c, 0xc7, + 0xf1, 0x3a, 0x80, 0xc7, 0x7c, 0xa6, 0x3a, 0x37, 0x47, 0x62, 0x22, 0x17, 0x69, 0xd5, 0x60, 0xda, + 0xd2, 0xfa, 0x05, 0x5c, 0x56, 0x1a, 0xf6, 0x02, 0x31, 0x10, 0x2c, 0x52, 0x1b, 0xe9, 0x31, 0x7d, + 0x8d, 0xaa, 0xbb, 0x50, 0x99, 0x1a, 0x3a, 0xa3, 0x6f, 0x02, 0xe3, 0xd4, 0x3c, 0x74, 0x38, 0x36, + 0xe9, 0xfa, 0x06, 0x2a, 0x23, 0xbc, 0x9f, 0x69, 0x88, 0x8a, 0x19, 0xf5, 0xac, 0xc7, 0x3a, 0xf9, + 0x3a, 0x3e, 0x73, 0xa2, 0x47, 0x5c, 0xc8, 0x30, 0x9a, 0xa5, 0xaf, 0xa5, 0x5c, 0xe6, 0x5a, 0x7a, + 0x1d, 0xc0, 0x55, 0x84, 0xfa, 0x2c, 0x79, 0x7d, 0x16, 0x83, 0x69, 0x4b, 0xeb, 0x2f, 0x39, 0x20, + 0x4a, 0x98, 0x79, 0x6a, 0x3a, 0xe4, 0xae, 0x1a, 0x37, 0x56, 0x8e, 0x54, 0xa9, 0x99, 0x35, 0xbf, + 0x66, 0x66, 0x2d, 0xe0, 0x44, 0xb0, 0x34, 0xb3, 0x16, 0x11, 0x1d, 0xcf, 0xac, 0xd7, 0xa1, 0x8a, + 0x2d, 0x00, 0x0e, 0xad, 0x7a, 0x86, 0xc0, 0xa1, 0xf5, 0x68, 0xe5, 0xd0, 0x5a, 0x42, 0x82, 0x35, + 0x43, 0x6b, 0x39, 0x3d, 0xb4, 0x0e, 0xe1, 0xd2, 0xf2, 0x49, 0xc4, 0xfa, 0xb9, 0xfc, 0x03, 0xa8, + 0x4c, 0x0c, 0x91, 0xb9, 0x6c, 0x6e, 0x64, 0xf3, 0x3c, 0x2b, 0x89, 0x26, 0xd4, 0xd6, 0xdf, 0x0b, + 0xb0, 0xbd, 0xf4, 0x1e, 0xb4, 0xc6, 0xfb, 0x2d, 0x28, 0x9b, 0x4b, 0x3d, 0xb6, 0x9a, 0x01, 0x95, + 0x7d, 0xf4, 0x63, 0x0f, 0x9a, 0xad, 0x42, 0x0d, 0xa4, 0x6c, 0xaf, 0x7c, 0x67, 0xbc, 0x8e, 0x6b, + 0x85, 0xc3, 0x19, 0x4d, 0x97, 0x1c, 0x5c, 0x2b, 0xc9, 0xca, 0xf7, 0xaa, 0x8f, 0xd2, 0xcf, 0x29, + 0x31, 0xa8, 0xa8, 0x27, 0x8e, 0x1c, 0x9a, 0x76, 0x1d, 0xd7, 0xaa, 0xfc, 0x26, 0x55, 0x0f, 0x87, + 0xfd, 0x7a, 0xba, 0x0c, 0xc6, 0xfe, 0xae, 0xa6, 0xfc, 0xad, 0xce, 0x83, 0x0f, 0x25, 0x80, 0x48, + 0x0d, 0xa0, 0x57, 0xb9, 0xe7, 0xb1, 0xc0, 0xd4, 0x70, 0x03, 0x9d, 0xd1, 0xbf, 0xef, 0xc0, 0x06, + 0x1b, 0x87, 0x5f, 0x72, 0x6c, 0xdc, 0xab, 0x54, 0x03, 0xd8, 0x5f, 0xb2, 0x88, 0x9f, 0x32, 0xcf, + 0x7e, 0x19, 0x85, 0x63, 0x6c, 0xd6, 0x55, 0x7f, 0xa9, 0x71, 0x9f, 0x44, 0xe1, 0x38, 0xed, 0xb9, + 0xad, 0x8c, 0xe7, 0x6e, 0x43, 0x7d, 0xc4, 0x66, 0x6a, 0x34, 0xd7, 0x25, 0xba, 0xa9, 0x79, 0x0d, + 0x0e, 0xcb, 0xf4, 0x03, 0xd8, 0xd5, 0x5d, 0xa4, 0x60, 0x9e, 0x8d, 0x42, 0xcd, 0x30, 0x8c, 0x4f, + 0x39, 0xdb, 0xe8, 0xa1, 0xab, 0xd8, 0x53, 0x0a, 0xe6, 0x75, 0x93, 0xef, 0xfb, 0xea, 0xb3, 0xf5, + 0x54, 0xe7, 0x44, 0xc6, 0xbd, 0x82, 0xbc, 0x0f, 0x15, 0x53, 0x25, 0xe2, 0xfa, 0x76, 0xe6, 0xf3, + 0x60, 0x42, 0x6c, 0xfd, 0x2b, 0xa7, 0x13, 0xf6, 0xc8, 0x39, 0x4d, 0xaa, 0x6e, 0x3a, 0x2e, 0x72, + 0xd9, 0xb8, 0x58, 0xf5, 0x5e, 0x74, 0x03, 0xaa, 0x2f, 0x9d, 0xd3, 0x70, 0x1a, 0x71, 0xc9, 0x4c, + 0xb8, 0xcc, 0x11, 0x67, 0xdc, 0x64, 0xb7, 0xa1, 0xae, 0xfb, 0x68, 0x3b, 0x9d, 0x30, 0x35, 0x8d, + 0xd3, 0x8d, 0xfe, 0xff, 0xc3, 0xb6, 0xbe, 0x82, 0xc4, 0x30, 0x8c, 0x24, 0x1a, 0x54, 0x3f, 0x2b, + 0x57, 0xe9, 0x16, 0x7e, 0x38, 0x52, 0x78, 0x65, 0x54, 0xa1, 0x6e, 0x5d, 0x16, 0x08, 0x13, 0x25, + 0x6a, 0xa9, 0x7c, 0xc4, 0x85, 0x2d, 0x99, 0x90, 0xa6, 0xe3, 0x2b, 0x71, 0x71, 0xcc, 0x84, 0x7c, + 0x5c, 0xac, 0x14, 0x9b, 0x1b, 0xd6, 0x6f, 0x73, 0xfa, 0xae, 0x5c, 0x6a, 0x1b, 0xd7, 0x64, 0xcb, + 0x62, 0x13, 0xa5, 0x6d, 0x90, 0x69, 0xa2, 0x7a, 0x70, 0x73, 0xa8, 0x2f, 0x3d, 0xdb, 0x89, 0xdc, + 0x21, 0x3f, 0x65, 0xb6, 0x98, 0x4e, 0x26, 0x4a, 0x77, 0x16, 0x38, 0x2f, 0x7c, 0x33, 0x32, 0x54, + 0xe8, 0x0d, 0x43, 0xd6, 0xd6, 0x54, 0x47, 0x9a, 0xa8, 0xa7, 0x69, 0xac, 0x3f, 0xe4, 0x74, 0xb9, + 0x3e, 0x56, 0x33, 0x9f, 0x9a, 0x22, 0x59, 0x74, 0xce, 0x57, 0x8a, 0x8f, 0xa0, 0x64, 0xc6, 0x46, + 0xb5, 0x4f, 0x63, 0xb1, 0xd5, 0x4e, 0x09, 0xdc, 0x3b, 0x9e, 0x0f, 0x94, 0xd4, 0x30, 0x59, 0xf7, + 0xa1, 0x96, 0x42, 0x93, 0x1a, 0x94, 0x07, 0xfd, 0x83, 0xfe, 0xb3, 0xcf, 0xfa, 0xcd, 0xd7, 0x14, + 0x70, 0x4c, 0x07, 0x47, 0xc7, 0xbd, 0x6e, 0x33, 0x47, 0xb6, 0x61, 0x73, 0xd0, 0x47, 0xf0, 0xb3, + 0x67, 0xf4, 0xf8, 0xd1, 0xe7, 0xcd, 0xbc, 0xf5, 0x4d, 0x41, 0x8f, 0x5c, 0xcf, 0x53, 0x23, 0xad, + 0x69, 0x05, 0xd7, 0x28, 0x4f, 0xa0, 0x88, 0xe9, 0x65, 0x82, 0x49, 0xad, 0xd5, 0x81, 0x64, 0x68, + 0xea, 0x64, 0x5e, 0x86, 0x2a, 0xb8, 0xdc, 0xa1, 0x8a, 0xdd, 0xe0, 0x24, 0x6e, 0x77, 0xe7, 0x08, + 0xe5, 0x12, 0x33, 0x24, 0xe8, 0x12, 0x62, 0x5e, 0x12, 0x12, 0x5c, 0x1b, 0xdf, 0xe8, 0x22, 0x26, + 0x26, 0x61, 0x20, 0xe2, 0xab, 0x28, 0x81, 0x55, 0xfd, 0x89, 0xd8, 0xc4, 0xe7, 0x9a, 0x59, 0xc7, + 0x5f, 0xd5, 0x60, 0xda, 0x92, 0xb0, 0xd5, 0xa3, 0x7b, 0x05, 0x2d, 0xfb, 0xfd, 0xac, 0x65, 0x57, + 0x9c, 0x7a, 0xef, 0xf9, 0xd2, 0x70, 0xbf, 0x72, 0xe0, 0xd7, 0x3e, 0xac, 0x26, 0x4d, 0xd3, 0x4f, + 0x80, 0x2c, 0x73, 0x2e, 0xf9, 0xe2, 0xb0, 0xd7, 0xef, 0xee, 0xf7, 0x3f, 0x6d, 0xe6, 0x48, 0x1d, + 0x2a, 0xed, 0x4e, 0xa7, 0x77, 0xa8, 0x3c, 0x93, 0x57, 0x50, 0xb7, 0xd7, 0x79, 0xb2, 0xdf, 0xef, + 0x75, 0x9b, 0x05, 0x05, 0x75, 0xda, 0xfd, 0x4e, 0xef, 0x49, 0xaf, 0xdb, 0x2c, 0x5a, 0x7f, 0xcb, + 0xe9, 0x6e, 0xaa, 0x93, 0x99, 0xac, 0xbb, 0xcc, 0xe5, 0x62, 0xfd, 0x93, 0xdd, 0x0d, 0xa8, 0x1a, + 0x7b, 0xee, 0xc7, 0x91, 0x36, 0x47, 0x90, 0x9f, 0xc1, 0x96, 0x67, 0xf8, 0xed, 0x4c, 0xe4, 0xbd, + 0xbb, 0xd8, 0x97, 0xae, 0xda, 0x72, 0x2f, 0x5e, 0x18, 0xf3, 0x34, 0xbc, 0x0c, 0x6c, 0xbd, 0x03, + 0x8d, 0x2c, 0x45, 0xe6, 0xb0, 0xaf, 0x65, 0x0e, 0x9b, 0xb3, 0xbe, 0xcd, 0xc3, 0xd6, 0xc2, 0xdf, + 0x53, 0xeb, 0x2b, 0xec, 0xe2, 0x1b, 0x42, 0x7e, 0xe9, 0x0d, 0x81, 0xbc, 0x03, 0x24, 0x4d, 0x62, + 0xa7, 0x87, 0xb1, 0x66, 0x8a, 0x50, 0xdf, 0x55, 0xe9, 0x92, 0x5d, 0xbc, 0x48, 0xc9, 0x26, 0x3f, + 0x86, 0x1d, 0x11, 0xba, 0xdc, 0xf1, 0x6d, 0x9f, 0x07, 0xa3, 0xe4, 0x8f, 0xd6, 0xd6, 0x06, 0x4a, + 0x59, 0x18, 0x72, 0x8f, 0x90, 0xf2, 0x09, 0x0f, 0x46, 0xf1, 0x3f, 0x60, 0x44, 0x2c, 0xa2, 0x50, + 0xa4, 0x1a, 0x12, 0xe3, 0x5e, 0xce, 0xf6, 0x92, 0xbf, 0x06, 0x57, 0x88, 0x5c, 0x6a, 0x16, 0x29, + 0x61, 0x8b, 0x28, 0x61, 0x09, 0x00, 0xea, 0xbc, 0x32, 0x43, 0x40, 0xba, 0xe1, 0xca, 0x65, 0x1b, + 0xae, 0x03, 0xa8, 0x99, 0x7f, 0x81, 0x8f, 0x55, 0x57, 0x90, 0xc7, 0x68, 0xf8, 0xbf, 0xf9, 0x8e, + 0xed, 0xf9, 0xff, 0xc6, 0x4f, 0xcd, 0xdf, 0xc6, 0x46, 0xe8, 0x9e, 0x62, 0xa0, 0x69, 0x6e, 0xeb, + 0xf7, 0x39, 0x68, 0x28, 0x15, 0x53, 0x3b, 0xff, 0x00, 0x6a, 0x51, 0x02, 0xc5, 0xd5, 0x6e, 0x67, + 0x2e, 0x7f, 0x4e, 0x4a, 0xd3, 0x84, 0xe4, 0x1e, 0xec, 0x88, 0xe9, 0x8b, 0xb8, 0x62, 0x3e, 0x16, + 0x61, 0xf0, 0x70, 0x26, 0x59, 0xdc, 0xf9, 0xac, 0xfc, 0x46, 0xde, 0x81, 0xed, 0xd8, 0x1b, 0x73, + 0x06, 0xfd, 0xac, 0xb2, 0xfc, 0xc1, 0xfa, 0x5d, 0x0e, 0x6a, 0x4a, 0x59, 0xf3, 0xa7, 0x20, 0xce, + 0x01, 0x49, 0xdc, 0xa9, 0xe5, 0xca, 0xf2, 0x79, 0x05, 0x4a, 0xe6, 0x2d, 0xd2, 0xb4, 0x5a, 0xe6, + 0x29, 0x32, 0x15, 0xb9, 0xc5, 0x4c, 0xe4, 0xde, 0x80, 0xea, 0x7c, 0x14, 0xdf, 0xc0, 0xe9, 0x64, + 0x8e, 0x98, 0x27, 0x71, 0x29, 0xdd, 0x7f, 0xfe, 0x39, 0xaf, 0xbb, 0x42, 0xa3, 0x9a, 0x1a, 0x84, + 0xc2, 0x80, 0xdc, 0x87, 0x92, 0x83, 0x2b, 0xd4, 0xb1, 0x71, 0xcf, 0xca, 0xc6, 0x45, 0x86, 0x78, + 0x4f, 0xff, 0x50, 0xc3, 0x41, 0xde, 0x84, 0xcd, 0xd0, 0xf7, 0x0c, 0xc9, 0x20, 0x29, 0x42, 0x59, + 0x24, 0xb9, 0x8b, 0x87, 0x50, 0x90, 0x99, 0x77, 0x2f, 0xaf, 0xdc, 0x82, 0xc6, 0x54, 0xaa, 0x28, + 0x97, 0x8c, 0x76, 0xdb, 0xb0, 0x79, 0xd0, 0xfb, 0xbc, 0xd3, 0xa6, 0x5d, 0xbb, 0xdd, 0xed, 0x62, + 0xbe, 0x13, 0x68, 0xb4, 0x3b, 0x9d, 0x67, 0x83, 0xfe, 0xf1, 0x91, 0xc1, 0xe5, 0xc8, 0x25, 0xd8, + 0x8a, 0xc9, 0xba, 0xbd, 0x27, 0x3d, 0x7d, 0x0b, 0xee, 0x40, 0x33, 0x21, 0xa4, 0xbd, 0xa7, 0xcf, + 0x9e, 0xe3, 0x6d, 0x08, 0x50, 0x7a, 0xf2, 0xac, 0x73, 0xa0, 0xee, 0x42, 0x75, 0x75, 0x0c, 0xfa, + 0x06, 0xda, 0x20, 0x5b, 0x50, 0x1b, 0xec, 0x77, 0xed, 0xc1, 0x61, 0xb7, 0xad, 0x04, 0x94, 0x48, + 0x13, 0xea, 0xfd, 0xf6, 0xd3, 0x9e, 0xdd, 0x79, 0xd4, 0xee, 0x7f, 0xda, 0xeb, 0x36, 0xcb, 0xd6, + 0x17, 0xba, 0x26, 0xa7, 0xfe, 0xf4, 0x25, 0xdf, 0x4b, 0xfd, 0x43, 0xac, 0xe3, 0x70, 0xcd, 0xf1, + 0xe6, 0xff, 0x0e, 0x27, 0xee, 0xc9, 0xa7, 0xdd, 0x73, 0xa4, 0x3b, 0x91, 0xa5, 0xdc, 0xc6, 0xde, + 0x9a, 0x7d, 0x25, 0xe3, 0x59, 0x47, 0xad, 0x57, 0x8c, 0x97, 0x2b, 0x1f, 0x8a, 0x1e, 0x6e, 0x7e, + 0x51, 0xdb, 0xbb, 0xfb, 0x20, 0xd6, 0xe7, 0x45, 0x09, 0x57, 0xef, 0xfe, 0x3b, 0x00, 0x00, 0xff, + 0xff, 0x61, 0xa9, 0xef, 0xf8, 0xe7, 0x21, 0x00, 0x00, } diff --git a/protocol/protobuf/pairing.proto b/protocol/protobuf/pairing.proto index 41efd6d87..b837a76de 100644 --- a/protocol/protobuf/pairing.proto +++ b/protocol/protobuf/pairing.proto @@ -197,6 +197,13 @@ message SyncBookmark { uint64 deleted_at = 6; } +message SyncEnsUsernameDetail { + uint64 clock = 1; + string username = 2; + uint64 chain_id = 3; + bool removed = 4; +} + message SyncClearHistory { string chat_id = 1; uint64 cleared_at = 2; @@ -309,6 +316,7 @@ message BackedUpProfile { uint64 display_name_clock = 3; repeated SyncProfilePicture pictures = 4; repeated SyncSocialLinkSetting social_link_settings = 5; + repeated SyncEnsUsernameDetail ens_username_details = 6; } message RawMessage { diff --git a/protocol/protobuf/status_update.pb.go b/protocol/protobuf/status_update.pb.go index 8a6358c5c..399b7d5a1 100644 --- a/protocol/protobuf/status_update.pb.go +++ b/protocol/protobuf/status_update.pb.go @@ -55,16 +55,16 @@ func (StatusUpdate_StatusType) EnumDescriptor() ([]byte, []int) { } // Specs: -//:AUTOMATIC -//To Send - "AUTOMATIC" status ping every 5 minutes -//Display - Online for up to 5 minutes from the last clock, after that Offline -//:ALWAYS_ONLINE -//To Send - "ALWAYS_ONLINE" status ping every 5 minutes -//Display - Online for up to 2 weeks from the last clock, after that Offline -//:INACTIVE -//To Send - A single "INACTIVE" status ping -//Display - Offline forever -//Note: Only send pings if the user interacted with the app in the last x minutes. +// :AUTOMATIC +// To Send - "AUTOMATIC" status ping every 5 minutes +// Display - Online for up to 5 minutes from the last clock, after that Offline +// :ALWAYS_ONLINE +// To Send - "ALWAYS_ONLINE" status ping every 5 minutes +// Display - Online for up to 2 weeks from the last clock, after that Offline +// :INACTIVE +// To Send - A single "INACTIVE" status ping +// Display - Offline forever +// Note: Only send pings if the user interacted with the app in the last x minutes. type StatusUpdate struct { Clock uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"` StatusType StatusUpdate_StatusType `protobuf:"varint,2,opt,name=status_type,json=statusType,proto3,enum=protobuf.StatusUpdate_StatusType" json:"status_type,omitempty"` diff --git a/protocol/protobuf/sync_settings.pb.go b/protocol/protobuf/sync_settings.pb.go index cc494d781..f43fefca7 100644 --- a/protocol/protobuf/sync_settings.pb.go +++ b/protocol/protobuf/sync_settings.pb.go @@ -39,6 +39,7 @@ const ( SyncSetting_DISPLAY_NAME SyncSetting_Type = 13 SyncSetting_BIO SyncSetting_Type = 14 SyncSetting_MNEMONIC_REMOVED SyncSetting_Type = 15 + SyncSetting_ENS_USERNAMES SyncSetting_Type = 16 ) var SyncSetting_Type_name = map[int32]string{ @@ -58,6 +59,7 @@ var SyncSetting_Type_name = map[int32]string{ 13: "DISPLAY_NAME", 14: "BIO", 15: "MNEMONIC_REMOVED", + 16: "ENS_USERNAMES", } var SyncSetting_Type_value = map[string]int32{ @@ -77,6 +79,7 @@ var SyncSetting_Type_value = map[string]int32{ "DISPLAY_NAME": 13, "BIO": 14, "MNEMONIC_REMOVED": 15, + "ENS_USERNAMES": 16, } func (x SyncSetting_Type) String() string { @@ -91,6 +94,7 @@ type SyncSetting struct { Type SyncSetting_Type `protobuf:"varint,1,opt,name=type,proto3,enum=protobuf.SyncSetting_Type" json:"type,omitempty"` Clock uint64 `protobuf:"varint,2,opt,name=clock,proto3" json:"clock,omitempty"` // Types that are valid to be assigned to Value: + // // *SyncSetting_ValueString // *SyncSetting_ValueBytes // *SyncSetting_ValueBool @@ -223,35 +227,36 @@ func init() { } var fileDescriptor_e2f7a0bce2873c78 = []byte{ - // 480 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x64, 0x92, 0xcd, 0x8e, 0xda, 0x30, - 0x10, 0x80, 0x09, 0x84, 0xbf, 0x09, 0x0b, 0x96, 0x59, 0xb5, 0xd1, 0xb6, 0xd2, 0xa6, 0xdb, 0x4b, - 0x4e, 0xa9, 0xd4, 0x56, 0xbd, 0xf4, 0x14, 0x12, 0x03, 0x16, 0x89, 0x1d, 0xd9, 0x0e, 0x88, 0x5e, - 0xac, 0x82, 0xe8, 0x0a, 0x15, 0x11, 0xb4, 0x64, 0x2b, 0xe5, 0x5d, 0xfb, 0x12, 0x7d, 0x83, 0x2a, - 0x49, 0xe9, 0xdf, 0x9e, 0x92, 0xf9, 0xe6, 0x9b, 0xf1, 0xf8, 0x07, 0xc6, 0xe7, 0xe2, 0xb8, 0xd5, - 0xe7, 0x5d, 0x9e, 0xef, 0x8f, 0xf7, 0x67, 0xef, 0xf4, 0x90, 0xe5, 0x19, 0xee, 0x55, 0x9f, 0xcd, - 0xe3, 0x97, 0xbb, 0xef, 0x26, 0x58, 0xb2, 0x38, 0x6e, 0x65, 0x2d, 0x60, 0x0f, 0xcc, 0xbc, 0x38, - 0xed, 0x6c, 0xc3, 0x31, 0xdc, 0xe1, 0xdb, 0x1b, 0xef, 0x22, 0x7a, 0x7f, 0x49, 0x9e, 0x2a, 0x4e, - 0x3b, 0x51, 0x79, 0xf8, 0x1a, 0xda, 0xdb, 0x43, 0xb6, 0xfd, 0x6a, 0x37, 0x1d, 0xc3, 0x35, 0x45, - 0x1d, 0xe0, 0xd7, 0x30, 0xf8, 0xf6, 0xf9, 0xf0, 0xb8, 0xd3, 0xe7, 0xfc, 0x61, 0x7f, 0xbc, 0xb7, - 0x5b, 0x8e, 0xe1, 0xf6, 0xe7, 0x0d, 0x61, 0x55, 0x54, 0x56, 0x10, 0xbf, 0x82, 0x3a, 0xd4, 0x9b, - 0x22, 0xdf, 0x9d, 0x6d, 0xd3, 0x31, 0xdc, 0xc1, 0xbc, 0x21, 0xa0, 0x82, 0x93, 0x92, 0xe1, 0x5b, - 0x80, 0x5f, 0x4a, 0x96, 0x1d, 0xec, 0xb6, 0x63, 0xb8, 0xbd, 0x79, 0x43, 0xf4, 0x6b, 0x23, 0xcb, - 0x0e, 0x7f, 0x7a, 0xec, 0x8f, 0xf9, 0x87, 0xf7, 0x76, 0xc7, 0x31, 0xdc, 0xd6, 0xef, 0x1e, 0xb4, - 0x64, 0x77, 0x3f, 0x9a, 0x60, 0x96, 0x03, 0x63, 0x0b, 0xba, 0x29, 0x5b, 0x30, 0xbe, 0x62, 0xa8, - 0x81, 0x07, 0xd0, 0x0b, 0x52, 0x21, 0x08, 0x0b, 0xd6, 0xc8, 0xc0, 0x23, 0xb0, 0x66, 0x74, 0xaa, - 0x05, 0x09, 0x08, 0x53, 0x12, 0x35, 0x31, 0x86, 0x61, 0x09, 0xa6, 0xfe, 0x92, 0xa7, 0x82, 0x2a, - 0x22, 0x51, 0x0b, 0xdf, 0xc2, 0x8b, 0x98, 0x48, 0xe9, 0xcf, 0x88, 0xd4, 0x53, 0xc1, 0x63, 0x1d, - 0x70, 0xa6, 0xfc, 0x40, 0x49, 0xcd, 0x59, 0xb4, 0x46, 0x66, 0x59, 0x94, 0x08, 0x32, 0x25, 0x42, - 0x90, 0x50, 0x33, 0x3f, 0x26, 0xa8, 0x8d, 0xc7, 0x30, 0x4a, 0x04, 0x59, 0x52, 0xb2, 0xd2, 0x89, - 0xa0, 0x4b, 0x3f, 0x58, 0xa3, 0x0e, 0x7e, 0x09, 0x76, 0x22, 0xf8, 0x94, 0x46, 0x44, 0x27, 0x34, - 0x50, 0xa9, 0x20, 0x52, 0xcb, 0x39, 0x5f, 0x69, 0xc5, 0x51, 0xb7, 0x5c, 0xe7, 0x49, 0x76, 0x49, - 0x25, 0x9d, 0xd0, 0x88, 0xaa, 0x35, 0xea, 0xe1, 0xe7, 0x30, 0x96, 0x84, 0x85, 0x5a, 0x2a, 0x5f, - 0xa5, 0x52, 0xa7, 0x49, 0xe8, 0x97, 0x13, 0xf6, 0xcb, 0xbe, 0x52, 0xd1, 0x60, 0x41, 0x84, 0xd4, - 0x89, 0x1f, 0x2c, 0xa4, 0xa6, 0x4c, 0x2a, 0x3f, 0x8a, 0x48, 0x88, 0x00, 0xdf, 0xc0, 0xb3, 0xff, - 0xb2, 0x09, 0x61, 0x21, 0x65, 0x33, 0x64, 0xfd, 0x53, 0x59, 0x9f, 0x82, 0xbe, 0xc4, 0x68, 0x80, - 0x11, 0x0c, 0x42, 0x2a, 0x93, 0xc8, 0x5f, 0xd7, 0xdb, 0xba, 0xc2, 0x5d, 0x68, 0x4d, 0x28, 0x47, - 0x43, 0x7c, 0x0d, 0x28, 0x66, 0x24, 0xe6, 0x8c, 0x06, 0x5a, 0x90, 0x98, 0x2f, 0x49, 0x88, 0x46, - 0x93, 0x2e, 0xb4, 0xeb, 0x3b, 0xba, 0xfa, 0x64, 0x79, 0x6f, 0x3e, 0x5e, 0x1e, 0xd1, 0xa6, 0x53, - 0xfd, 0xbd, 0xfb, 0x19, 0x00, 0x00, 0xff, 0xff, 0x49, 0x3b, 0x2e, 0xac, 0x95, 0x02, 0x00, 0x00, + // 492 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x64, 0x92, 0x4b, 0x6f, 0xda, 0x40, + 0x10, 0x80, 0x71, 0x30, 0x81, 0x8c, 0x79, 0x6c, 0x97, 0xa8, 0xb5, 0xd2, 0x4a, 0x71, 0xd3, 0x8b, + 0x4f, 0xae, 0xd4, 0x56, 0xbd, 0xf4, 0x64, 0xec, 0x05, 0x56, 0xd8, 0x6b, 0x6b, 0x67, 0x0d, 0xa2, + 0x97, 0x55, 0x41, 0x34, 0x42, 0x45, 0x18, 0x05, 0xa7, 0x12, 0xf7, 0xfe, 0xdf, 0xfe, 0x85, 0xca, + 0x76, 0xe9, 0xf3, 0x64, 0xcf, 0x37, 0xdf, 0xcc, 0xce, 0x3e, 0x60, 0x78, 0x3c, 0xed, 0xd7, 0xfa, + 0xb8, 0x29, 0x8a, 0xed, 0xfe, 0xfe, 0xe8, 0x1d, 0x1e, 0xf2, 0x22, 0xa7, 0x9d, 0xea, 0xb3, 0x7a, + 0xfc, 0x7c, 0xf7, 0xdd, 0x04, 0x0b, 0x4f, 0xfb, 0x35, 0xd6, 0x02, 0xf5, 0xc0, 0x2c, 0x4e, 0x87, + 0x8d, 0x6d, 0x38, 0x86, 0xdb, 0x7f, 0x73, 0xe3, 0x9d, 0x45, 0xef, 0x0f, 0xc9, 0x53, 0xa7, 0xc3, + 0x46, 0x56, 0x1e, 0xbd, 0x86, 0xd6, 0x7a, 0x97, 0xaf, 0xbf, 0xd8, 0x17, 0x8e, 0xe1, 0x9a, 0xb2, + 0x0e, 0xe8, 0x2b, 0xe8, 0x7e, 0xfd, 0xb4, 0x7b, 0xdc, 0xe8, 0x63, 0xf1, 0xb0, 0xdd, 0xdf, 0xdb, + 0x4d, 0xc7, 0x70, 0xaf, 0xa6, 0x0d, 0x69, 0x55, 0x14, 0x2b, 0x48, 0x5f, 0x42, 0x1d, 0xea, 0xd5, + 0xa9, 0xd8, 0x1c, 0x6d, 0xd3, 0x31, 0xdc, 0xee, 0xb4, 0x21, 0xa1, 0x82, 0xa3, 0x92, 0xd1, 0x5b, + 0x80, 0x9f, 0x4a, 0x9e, 0xef, 0xec, 0x96, 0x63, 0xb8, 0x9d, 0x69, 0x43, 0x5e, 0xd5, 0x46, 0x9e, + 0xef, 0x7e, 0xf7, 0xd8, 0xee, 0x8b, 0xf7, 0xef, 0xec, 0x4b, 0xc7, 0x70, 0x9b, 0xbf, 0x7a, 0xf0, + 0x92, 0xdd, 0x7d, 0x6b, 0x82, 0x59, 0x0e, 0x4c, 0x2d, 0x68, 0x67, 0x62, 0x26, 0x92, 0x85, 0x20, + 0x0d, 0xda, 0x85, 0x4e, 0x90, 0x49, 0xc9, 0x44, 0xb0, 0x24, 0x06, 0x1d, 0x80, 0x35, 0xe1, 0x63, + 0x2d, 0x59, 0xc0, 0x84, 0x42, 0x72, 0x41, 0x29, 0xf4, 0x4b, 0x30, 0xf6, 0xe7, 0x49, 0x26, 0xb9, + 0x62, 0x48, 0x9a, 0xf4, 0x16, 0x9e, 0xc7, 0x0c, 0xd1, 0x9f, 0x30, 0xd4, 0x63, 0x99, 0xc4, 0x3a, + 0x48, 0x84, 0xf2, 0x03, 0x85, 0x3a, 0x11, 0xd1, 0x92, 0x98, 0x65, 0x51, 0x2a, 0xd9, 0x98, 0x49, + 0xc9, 0x42, 0x2d, 0xfc, 0x98, 0x91, 0x16, 0x1d, 0xc2, 0x20, 0x95, 0x6c, 0xce, 0xd9, 0x42, 0xa7, + 0x92, 0xcf, 0xfd, 0x60, 0x49, 0x2e, 0xe9, 0x0b, 0xb0, 0x53, 0x99, 0x8c, 0x79, 0xc4, 0x74, 0xca, + 0x03, 0x95, 0x49, 0x86, 0x1a, 0xa7, 0xc9, 0x42, 0xab, 0x84, 0xb4, 0xcb, 0x75, 0xfe, 0xcb, 0xce, + 0x39, 0xf2, 0x11, 0x8f, 0xb8, 0x5a, 0x92, 0x0e, 0x7d, 0x06, 0x43, 0x64, 0x22, 0xd4, 0xa8, 0x7c, + 0x95, 0xa1, 0xce, 0xd2, 0xd0, 0x2f, 0x27, 0xbc, 0x2a, 0xfb, 0xa2, 0xe2, 0xc1, 0x8c, 0x49, 0xd4, + 0xa9, 0x1f, 0xcc, 0x50, 0x73, 0x81, 0xca, 0x8f, 0x22, 0x16, 0x12, 0xa0, 0x37, 0xf0, 0xf4, 0x9f, + 0x6c, 0xca, 0x44, 0xc8, 0xc5, 0x84, 0x58, 0x7f, 0x55, 0xd6, 0xa7, 0xa0, 0xcf, 0x31, 0xe9, 0x52, + 0x02, 0xdd, 0x90, 0x63, 0x1a, 0xf9, 0xcb, 0x7a, 0x5b, 0x3d, 0xda, 0x86, 0xe6, 0x88, 0x27, 0xa4, + 0x4f, 0xaf, 0x81, 0xc4, 0x82, 0xc5, 0x89, 0xe0, 0x81, 0x96, 0x2c, 0x4e, 0xe6, 0x2c, 0x24, 0x03, + 0xfa, 0x04, 0x7a, 0x4c, 0xa0, 0xce, 0x90, 0xc9, 0xb2, 0x00, 0x09, 0x19, 0xb5, 0xa1, 0x55, 0x5f, + 0x5b, 0xef, 0xa3, 0xe5, 0xbd, 0xfe, 0x70, 0x7e, 0x57, 0xab, 0xcb, 0xea, 0xef, 0xed, 0x8f, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xe0, 0x88, 0x38, 0xbe, 0xa8, 0x02, 0x00, 0x00, } diff --git a/protocol/protobuf/sync_settings.proto b/protocol/protobuf/sync_settings.proto index 43f59918e..e944a4e48 100644 --- a/protocol/protobuf/sync_settings.proto +++ b/protocol/protobuf/sync_settings.proto @@ -31,6 +31,7 @@ message SyncSetting { DISPLAY_NAME = 13; BIO = 14; MNEMONIC_REMOVED = 15; + ENS_USERNAMES = 16; } } diff --git a/protocol/pushnotificationclient/migrations/migrations.go b/protocol/pushnotificationclient/migrations/migrations.go index 6c77eeda1..55f53d37f 100644 --- a/protocol/pushnotificationclient/migrations/migrations.go +++ b/protocol/pushnotificationclient/migrations/migrations.go @@ -90,7 +90,7 @@ func _1593601729_initial_schemaDownSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1593601729_initial_schema.down.sql", size: 144, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1593601729_initial_schema.down.sql", size: 144, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa, 0x95, 0x55, 0x64, 0x38, 0x40, 0x16, 0xbf, 0x8b, 0x1c, 0x18, 0xb4, 0xc5, 0x7f, 0xd0, 0xb8, 0xf0, 0x3c, 0xa2, 0x82, 0xf8, 0x8d, 0x5a, 0xd3, 0xb6, 0x6e, 0xa3, 0xb4, 0xc, 0x9, 0x33, 0x0}} return a, nil } @@ -110,7 +110,7 @@ func _1593601729_initial_schemaUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1593601729_initial_schema.up.sql", size: 1773, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1593601729_initial_schema.up.sql", size: 1773, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x4e, 0x1e, 0x5, 0x35, 0x9, 0xb2, 0x2d, 0x6f, 0x33, 0x63, 0xa2, 0x7a, 0x5b, 0xd2, 0x2d, 0xcb, 0x79, 0x7e, 0x6, 0xb4, 0x9d, 0x35, 0xd8, 0x9b, 0x55, 0xe5, 0xf8, 0x44, 0xca, 0xa6, 0xf3, 0xd3}} return a, nil } @@ -130,7 +130,7 @@ func _1597909626_add_server_typeDownSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1597909626_add_server_type.down.sql", size: 0, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1597909626_add_server_type.down.sql", size: 0, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe3, 0xb0, 0xc4, 0x42, 0x98, 0xfc, 0x1c, 0x14, 0x9a, 0xfb, 0xf4, 0xc8, 0x99, 0x6f, 0xb9, 0x24, 0x27, 0xae, 0x41, 0xe4, 0x64, 0x9b, 0x93, 0x4c, 0xa4, 0x95, 0x99, 0x1b, 0x78, 0x52, 0xb8, 0x55}} return a, nil } @@ -150,7 +150,7 @@ func _1597909626_add_server_typeUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1597909626_add_server_type.up.sql", size: 145, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1597909626_add_server_type.up.sql", size: 145, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc8, 0x3f, 0xe0, 0xe7, 0x57, 0x0, 0x5d, 0x60, 0xf3, 0x55, 0x64, 0x71, 0x80, 0x3c, 0xca, 0x8, 0x61, 0xb5, 0x3c, 0xe, 0xa1, 0xe4, 0x61, 0xd1, 0x4e, 0xd8, 0xb2, 0x55, 0xdd, 0x87, 0x62, 0x9b}} return a, nil } @@ -170,7 +170,7 @@ func _1599053776_add_chat_id_and_typeDownSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1599053776_add_chat_id_and_type.down.sql", size: 0, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1599053776_add_chat_id_and_type.down.sql", size: 0, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe3, 0xb0, 0xc4, 0x42, 0x98, 0xfc, 0x1c, 0x14, 0x9a, 0xfb, 0xf4, 0xc8, 0x99, 0x6f, 0xb9, 0x24, 0x27, 0xae, 0x41, 0xe4, 0x64, 0x9b, 0x93, 0x4c, 0xa4, 0x95, 0x99, 0x1b, 0x78, 0x52, 0xb8, 0x55}} return a, nil } @@ -190,7 +190,7 @@ func _1599053776_add_chat_id_and_typeUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1599053776_add_chat_id_and_type.up.sql", size: 264, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1599053776_add_chat_id_and_type.up.sql", size: 264, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xea, 0x7a, 0xf9, 0xc4, 0xa2, 0x96, 0x2e, 0xf9, 0x8f, 0x7, 0xf1, 0x1e, 0x73, 0x8a, 0xa6, 0x3a, 0x13, 0x4, 0x73, 0x82, 0x83, 0xb, 0xe3, 0xb5, 0x3b, 0x7e, 0xd, 0x23, 0xce, 0x98, 0xd4, 0xdc}} return a, nil } @@ -210,7 +210,7 @@ func docGo() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "doc.go", size: 382, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "doc.go", size: 382, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc0, 0x2f, 0x1e, 0x64, 0x9, 0x93, 0xe4, 0x8b, 0xf2, 0x98, 0x5a, 0x45, 0xe2, 0x80, 0x88, 0x67, 0x7a, 0x2d, 0xd7, 0x4b, 0xd1, 0x73, 0xb6, 0x6d, 0x15, 0xc2, 0x0, 0x34, 0xcd, 0xa0, 0xdb, 0x20}} return a, nil } diff --git a/protocol/pushnotificationserver/migrations/migrations.go b/protocol/pushnotificationserver/migrations/migrations.go index 7183c741e..5c5d0f8a2 100644 --- a/protocol/pushnotificationserver/migrations/migrations.go +++ b/protocol/pushnotificationserver/migrations/migrations.go @@ -88,7 +88,7 @@ func _1593601728_initial_schemaDownSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1593601728_initial_schema.down.sql", size: 200, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1593601728_initial_schema.down.sql", size: 200, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x88, 0x8a, 0x61, 0x81, 0x57, 0x45, 0x9b, 0x97, 0x9b, 0x1f, 0xf6, 0x94, 0x8a, 0x20, 0xb3, 0x2b, 0xff, 0x69, 0x49, 0xf4, 0x58, 0xcc, 0xd0, 0x55, 0xcc, 0x9a, 0x8b, 0xb6, 0x7f, 0x29, 0x53, 0xc1}} return a, nil } @@ -108,7 +108,7 @@ func _1593601728_initial_schemaUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1593601728_initial_schema.up.sql", size: 675, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1593601728_initial_schema.up.sql", size: 675, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xfd, 0x61, 0x90, 0x79, 0xd9, 0x14, 0x65, 0xe9, 0x96, 0x53, 0x17, 0x33, 0x54, 0xeb, 0x8b, 0x5d, 0x95, 0x99, 0x10, 0x36, 0x58, 0xdd, 0xb2, 0xbf, 0x45, 0xd9, 0xbb, 0xc4, 0x92, 0xe, 0xce, 0x2}} return a, nil } @@ -128,7 +128,7 @@ func _1598419937_add_push_notifications_tableDownSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1598419937_add_push_notifications_table.down.sql", size: 51, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1598419937_add_push_notifications_table.down.sql", size: 51, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc, 0x98, 0xc8, 0x30, 0x45, 0x5b, 0xc5, 0x7d, 0x13, 0x5d, 0xe7, 0xc8, 0x23, 0x43, 0xf7, 0xdc, 0x9c, 0xe2, 0xdd, 0x63, 0xf0, 0xb7, 0x16, 0x40, 0xc, 0xda, 0xb9, 0x16, 0x70, 0x2b, 0x5a, 0x7e}} return a, nil } @@ -148,7 +148,7 @@ func _1598419937_add_push_notifications_tableUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1598419937_add_push_notifications_table.up.sql", size: 104, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1598419937_add_push_notifications_table.up.sql", size: 104, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x2, 0x3e, 0xef, 0xf, 0xc2, 0xdf, 0xbc, 0x99, 0x7a, 0xc2, 0xd3, 0x64, 0x4f, 0x4c, 0x7e, 0xfc, 0x2e, 0x8c, 0xa7, 0x54, 0xd3, 0x4d, 0x25, 0x98, 0x41, 0xbc, 0xea, 0xd7, 0x2, 0xc1, 0xd0, 0x52}} return a, nil } @@ -168,7 +168,7 @@ func docGo() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "doc.go", size: 382, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "doc.go", size: 382, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc0, 0x2f, 0x1e, 0x64, 0x9, 0x93, 0xe4, 0x8b, 0xf2, 0x98, 0x5a, 0x45, 0xe2, 0x80, 0x88, 0x67, 0x7a, 0x2d, 0xd7, 0x4b, 0xd1, 0x73, 0xb6, 0x6d, 0x15, 0xc2, 0x0, 0x34, 0xcd, 0xa0, 0xdb, 0x20}} return a, nil } diff --git a/protocol/transport/migrations/migrations.go b/protocol/transport/migrations/migrations.go index 41ec048c6..2c70b03f5 100644 --- a/protocol/transport/migrations/migrations.go +++ b/protocol/transport/migrations/migrations.go @@ -89,7 +89,7 @@ func _1561059284_add_waku_keysDownSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1561059284_add_waku_keys.down.sql", size: 22, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1561059284_add_waku_keys.down.sql", size: 22, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe5, 0x2a, 0x7e, 0x9, 0xa3, 0xdd, 0xc6, 0x3, 0xfa, 0xaa, 0x98, 0xa0, 0x26, 0x5e, 0x67, 0x43, 0xe6, 0x20, 0xfd, 0x10, 0xfd, 0x60, 0x89, 0x17, 0x13, 0x87, 0x1b, 0x44, 0x36, 0x79, 0xb6, 0x60}} return a, nil } @@ -109,7 +109,7 @@ func _1561059284_add_waku_keysUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1561059284_add_waku_keys.up.sql", size: 109, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1561059284_add_waku_keys.up.sql", size: 109, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa9, 0x5c, 0x8, 0x32, 0xef, 0x12, 0x88, 0x21, 0xd, 0x7a, 0x42, 0x4d, 0xe7, 0x2d, 0x6c, 0x99, 0xb6, 0x1, 0xf1, 0xba, 0x2c, 0x40, 0x8d, 0xa9, 0x4b, 0xe6, 0xc4, 0x21, 0xec, 0x47, 0x6b, 0xf7}} return a, nil } @@ -129,7 +129,7 @@ func _1616691080_add_wakuv2_keysDownSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1616691080_add_wakuV2_keys.down.sql", size: 24, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1616691080_add_wakuV2_keys.down.sql", size: 24, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x42, 0xb6, 0x23, 0x70, 0xb8, 0x63, 0x18, 0x61, 0xea, 0x35, 0x6e, 0xae, 0xe9, 0x71, 0x89, 0xa, 0xa5, 0x72, 0xa2, 0x64, 0xaa, 0x45, 0x1, 0xf, 0xfc, 0xee, 0x1b, 0xd9, 0xd2, 0x27, 0xf4, 0xe2}} return a, nil } @@ -149,7 +149,7 @@ func _1616691080_add_wakuv2_keysUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1616691080_add_wakuV2_keys.up.sql", size: 111, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1616691080_add_wakuV2_keys.up.sql", size: 111, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x10, 0xf0, 0x97, 0x25, 0xfe, 0x96, 0x2c, 0xa8, 0x62, 0x4a, 0x71, 0x75, 0xff, 0x5f, 0x43, 0x1e, 0x71, 0x53, 0xf1, 0xde, 0xf, 0xcf, 0xcd, 0x87, 0x15, 0x61, 0x9d, 0x25, 0x2e, 0xaf, 0x18, 0x99}} return a, nil } @@ -169,7 +169,7 @@ func _1634723014_add_wakuv2_keysUpSql() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "1634723014_add_wakuV2_keys.up.sql", size: 125, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "1634723014_add_wakuV2_keys.up.sql", size: 125, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7e, 0xe1, 0x7a, 0x1e, 0x6, 0xad, 0x1b, 0x37, 0xdb, 0xea, 0x94, 0xaf, 0xe0, 0x7d, 0xc9, 0xd6, 0xda, 0x52, 0x71, 0x8a, 0x44, 0xb3, 0xa6, 0x7b, 0x1e, 0x90, 0xdb, 0x1e, 0x5a, 0xa, 0x40, 0x26}} return a, nil } @@ -189,7 +189,7 @@ func docGo() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "doc.go", size: 373, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)} + info := bindataFileInfo{name: "doc.go", size: 373, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x23, 0x6a, 0xc1, 0xce, 0x94, 0xf6, 0xef, 0xf1, 0x97, 0x95, 0xb, 0x35, 0xaf, 0x5f, 0xe7, 0x5f, 0xac, 0x6e, 0xb8, 0xab, 0xba, 0xb5, 0x35, 0x97, 0x22, 0x36, 0x11, 0xce, 0x44, 0xfc, 0xfa, 0xac}} return a, nil } diff --git a/protocol/v1/status_message.go b/protocol/v1/status_message.go index 7830566ac..aa81015f7 100644 --- a/protocol/v1/status_message.go +++ b/protocol/v1/status_message.go @@ -324,6 +324,8 @@ func (m *StatusMessage) HandleApplication() error { return m.unmarshalProtobufData(new(protobuf.SyncKeycardAction)) case protobuf.ApplicationMetadataMessage_SYNC_SOCIAL_LINK_SETTING: return m.unmarshalProtobufData(new(protobuf.SyncSocialLinkSetting)) + case protobuf.ApplicationMetadataMessage_SYNC_ENS_USERNAME_DETAIL: + return m.unmarshalProtobufData(new(protobuf.SyncEnsUsernameDetail)) } return nil } diff --git a/protocol/wakusync/profile_response.go b/protocol/wakusync/profile_response.go index 0a964a613..0f8aa3a32 100644 --- a/protocol/wakusync/profile_response.go +++ b/protocol/wakusync/profile_response.go @@ -3,12 +3,14 @@ package wakusync import ( "github.com/status-im/status-go/images" "github.com/status-im/status-go/protocol/identity" + "github.com/status-im/status-go/services/ens" ) type BackedUpProfile struct { - DisplayName string `json:"displayName,omitempty"` - Images []images.IdentityImage `json:"images,omitempty"` - SocialLinks identity.SocialLinks `json:"socialLinks,omitempty"` + DisplayName string `json:"displayName,omitempty"` + Images []images.IdentityImage `json:"images,omitempty"` + SocialLinks identity.SocialLinks `json:"socialLinks,omitempty"` + EnsUsernameDetails []*ens.UsernameDetail `json:"ensUsernameDetails,omitempty"` } func (sfwr *WakuBackedUpDataResponse) SetDisplayName(displayName string) { @@ -22,3 +24,7 @@ func (sfwr *WakuBackedUpDataResponse) SetImages(images []images.IdentityImage) { func (sfwr *WakuBackedUpDataResponse) SetSocialLinks(socialLinks identity.SocialLinks) { sfwr.Profile.SocialLinks = socialLinks } + +func (sfwr *WakuBackedUpDataResponse) SetEnsUsernameDetails(ensUsernameDetails []*ens.UsernameDetail) { + sfwr.Profile.EnsUsernameDetails = ensUsernameDetails +} diff --git a/server/pairing/sync_device_test.go b/server/pairing/sync_device_test.go index d8cf54d05..c654acf12 100644 --- a/server/pairing/sync_device_test.go +++ b/server/pairing/sync_device_test.go @@ -32,6 +32,8 @@ const ( pathDefaultWallet = pathWalletRoot + "/0" currentNetwork = "mainnet_rpc" socialLinkURL = "https://github.com/status-im" + ensUsername = "bob.stateofus.eth" + ensChainID = 1 ) var paths = []string{pathWalletRoot, pathEIP1581, pathDefaultChat, pathDefaultWallet} @@ -168,6 +170,8 @@ func (s *SyncDeviceSuite) TestPairingSyncDeviceClientAsSender() { require.NoError(s.T(), err) err = clientBackend.Messenger().SetSocialLinks(&identity.SocialLinks{{Text: identity.GithubID, URL: socialLinkURL, Clock: 1}}) require.NoError(s.T(), err) + err = clientBackend.StatusNode().EnsService().API().Add(context.Background(), ensChainID, ensUsername) + require.NoError(s.T(), err) clientActiveAccount, err := clientBackend.GetActiveAccount() require.NoError(s.T(), err) @@ -195,6 +199,13 @@ func (s *SyncDeviceSuite) TestPairingSyncDeviceClientAsSender() { serverSocialLink, err := serverBackend.Messenger().GetSocialLink(identity.GithubID) require.NoError(s.T(), err) require.Equal(s.T(), socialLinkURL, serverSocialLink.URL) + uds, err := serverBackend.StatusNode().EnsService().API().GetEnsUsernames(context.Background()) + require.NoError(s.T(), err) + require.Equal(s.T(), 1, len(uds)) + require.Equal(s.T(), ensUsername, uds[0].Username) + require.Equal(s.T(), uint64(ensChainID), uds[0].ChainID) + require.False(s.T(), uds[0].Removed) + require.Greater(s.T(), uds[0].Clock, uint64(0)) serverActiveAccount, err := serverBackend.GetActiveAccount() require.NoError(s.T(), err) @@ -268,6 +279,8 @@ func (s *SyncDeviceSuite) TestPairingSyncDeviceClientAsReceiver() { require.NoError(s.T(), err) err = serverBackend.Messenger().SetSocialLinks(&identity.SocialLinks{{Text: identity.GithubID, URL: socialLinkURL, Clock: 1}}) require.NoError(s.T(), err) + err = serverBackend.StatusNode().EnsService().API().Add(context.Background(), ensChainID, ensUsername) + require.NoError(s.T(), err) err = clientBackend.AccountManager().InitKeystore(filepath.Join(clientTmpDir, keystoreDir)) require.NoError(s.T(), err) @@ -302,6 +315,11 @@ func (s *SyncDeviceSuite) TestPairingSyncDeviceClientAsReceiver() { clientSocialLink, err := clientBackend.Messenger().GetSocialLink(identity.GithubID) require.NoError(s.T(), err) require.Equal(s.T(), socialLinkURL, clientSocialLink.URL) + uds, err := clientBackend.StatusNode().EnsService().API().GetEnsUsernames(context.Background()) + require.NoError(s.T(), err) + require.Equal(s.T(), 1, len(uds)) + require.Equal(s.T(), ensUsername, uds[0].Username) + require.Equal(s.T(), uint64(ensChainID), uds[0].ChainID) clientActiveAccount, err := clientBackend.GetActiveAccount() require.NoError(s.T(), err) diff --git a/services/ens/api.go b/services/ens/api.go index 170a2fd0a..601068937 100644 --- a/services/ens/api.go +++ b/services/ens/api.go @@ -10,6 +10,7 @@ import ( "net/url" "strings" "sync" + "time" "github.com/ipfs/go-cid" "github.com/multiformats/go-multibase" @@ -39,7 +40,7 @@ import ( const StatusDomain = "stateofus.eth" -func NewAPI(rpcClient *rpc.Client, accountsManager *account.GethManager, rpcFiltersSrvc *rpcfilters.Service, config *params.NodeConfig, appDb *sql.DB) *API { +func NewAPI(rpcClient *rpc.Client, accountsManager *account.GethManager, rpcFiltersSrvc *rpcfilters.Service, config *params.NodeConfig, appDb *sql.DB, timeSource func() time.Time, syncUserDetailFunc *syncUsernameDetail) *API { return &API{ contractMaker: &contracts.ContractMaker{ RPCClient: rpcClient, @@ -50,7 +51,9 @@ func NewAPI(rpcClient *rpc.Client, accountsManager *account.GethManager, rpcFilt addrPerChain: make(map[uint64]common.Address), db: NewEnsDatabase(appDb), - quit: make(chan struct{}), + quit: make(chan struct{}), + timeSource: timeSource, + syncUserDetailFunc: syncUserDetailFunc, } } @@ -60,6 +63,9 @@ type URI struct { Path string } +// use this to avoid using messenger directly to avoid circular dependency (protocol->ens->protocol) +type syncUsernameDetail func(context.Context, *UsernameDetail) error + type API struct { contractMaker *contracts.ContractMaker accountsManager *account.GethManager @@ -72,7 +78,10 @@ type API struct { quitOnce sync.Once quit chan struct{} - db *Database + db *Database + syncUserDetailFunc *syncUsernameDetail + + timeSource func() time.Time } func (api *API) Stop() { @@ -81,16 +90,34 @@ func (api *API) Stop() { }) } -func (api *API) GetEnsUsernames(ctx context.Context) ([]*UsernameDetails, error) { - return api.db.GetEnsUsernames() +func (api *API) unixTime() uint64 { + return uint64(api.timeSource().Unix()) +} + +func (api *API) GetEnsUsernames(ctx context.Context) ([]*UsernameDetail, error) { + removed := false + return api.db.GetEnsUsernames(&removed) } func (api *API) Add(ctx context.Context, chainID uint64, username string) error { - return api.db.AddEnsUsername(UsernameDetails{username, chainID}) + ud := &UsernameDetail{Username: username, ChainID: chainID, Clock: api.unixTime()} + err := api.db.AddEnsUsername(ud) + if err != nil { + return err + } + return (*api.syncUserDetailFunc)(ctx, ud) } func (api *API) Remove(ctx context.Context, chainID uint64, username string) error { - return api.db.RemoveEnsUsername(username, chainID) + ud := &UsernameDetail{Username: username, ChainID: chainID, Clock: api.unixTime()} + affected, err := api.db.RemoveEnsUsername(ud) + if err != nil { + return err + } + if affected { + return (*api.syncUserDetailFunc)(ctx, ud) + } + return nil } func (api *API) GetRegistrarAddress(ctx context.Context, chainID uint64) (common.Address, error) { diff --git a/services/ens/api_test.go b/services/ens/api_test.go index 094080739..0221252ea 100644 --- a/services/ens/api_test.go +++ b/services/ens/api_test.go @@ -6,6 +6,7 @@ import ( "io/ioutil" "os" "testing" + "time" "github.com/golang/mock/gomock" "github.com/stretchr/testify/require" @@ -56,7 +57,7 @@ func setupTestAPI(t *testing.T) (*API, func()) { utils.Init() require.NoError(t, utils.ImportTestAccount(keyStoreDir, utils.GetAccount1PKFile())) - return NewAPI(rpcClient, nil, nil, nil, db), cancel + return NewAPI(rpcClient, nil, nil, nil, db, time.Now, nil), cancel } func TestResolver(t *testing.T) { diff --git a/services/ens/database.go b/services/ens/database.go index 55ce26c78..a48447183 100644 --- a/services/ens/database.go +++ b/services/ens/database.go @@ -8,21 +8,29 @@ type Database struct { db *sql.DB } -type UsernameDetails struct { +type UsernameDetail struct { Username string `json:"username"` ChainID uint64 `json:"chainId"` + Clock uint64 `json:"clock"` + Removed bool `json:"removed"` } func NewEnsDatabase(db *sql.DB) *Database { return &Database{db: db} } -func (db *Database) GetEnsUsernames() (result []*UsernameDetails, err error) { +func (db *Database) GetEnsUsernames(removed *bool) (result []*UsernameDetail, err error) { - const sqlQuery = `SELECT username, chain_id + var sqlQuery = `SELECT username, chain_id, clock, removed FROM ens_usernames` - rows, err := db.db.Query(sqlQuery) + var rows *sql.Rows + if removed == nil { + rows, err = db.db.Query(sqlQuery) + } else { + sqlQuery += " WHERE removed = ?" + rows, err = db.db.Query(sqlQuery, removed) + } if err != nil { return result, err @@ -31,8 +39,8 @@ func (db *Database) GetEnsUsernames() (result []*UsernameDetails, err error) { defer rows.Close() for rows.Next() { - var ensUsername UsernameDetails - err = rows.Scan(&ensUsername.Username, &ensUsername.ChainID) + var ensUsername UsernameDetail + err = rows.Scan(&ensUsername.Username, &ensUsername.ChainID, &ensUsername.Clock, &ensUsername.Removed) if err != nil { return nil, err } @@ -42,16 +50,32 @@ func (db *Database) GetEnsUsernames() (result []*UsernameDetails, err error) { return result, nil } -func (db *Database) AddEnsUsername(details UsernameDetails) error { - const sqlQuery = `INSERT OR REPLACE INTO ens_usernames(username, chain_id) - VALUES (?, ?)` - _, err := db.db.Exec(sqlQuery, details.Username, details.ChainID) +func (db *Database) AddEnsUsername(details *UsernameDetail) error { + const sqlQuery = `INSERT OR REPLACE INTO ens_usernames(username, chain_id, clock, removed) + VALUES (?, ?, ?, ?)` + _, err := db.db.Exec(sqlQuery, details.Username, details.ChainID, details.Clock, details.Removed) return err } -func (db *Database) RemoveEnsUsername(Username string, ChainID uint64) error { - const sqlQuery = `DELETE FROM ens_usernames +func (db *Database) RemoveEnsUsername(details *UsernameDetail) (bool, error) { + const sqlQuery = `UPDATE ens_usernames SET removed = 1, clock = ? WHERE username = (?) AND chain_id = ?` - _, err := db.db.Exec(sqlQuery, Username, ChainID) + result, err := db.db.Exec(sqlQuery, details.Clock, details.Username, details.ChainID) + if err != nil { + return false, err + } + n, err := result.RowsAffected() + if err != nil { + return false, err + } + return n > 0, nil +} + +func (db *Database) SaveOrUpdateEnsUsername(details *UsernameDetail) error { + const sqlQuery = `INSERT OR REPLACE INTO ens_usernames (username, chain_id, clock, removed) +SELECT ?, ?, ?, ? +WHERE NOT EXISTS (SELECT 1 FROM ens_usernames WHERE username = ? AND chain_id = ? AND clock >= ?);` + + _, err := db.db.Exec(sqlQuery, details.Username, details.ChainID, details.Clock, details.Removed, details.Username, details.ChainID, details.Clock) return err } diff --git a/services/ens/service.go b/services/ens/service.go index 23fbf4d15..5edd70dcc 100644 --- a/services/ens/service.go +++ b/services/ens/service.go @@ -2,6 +2,7 @@ package ens import ( "database/sql" + "time" "github.com/ethereum/go-ethereum/p2p" ethRpc "github.com/ethereum/go-ethereum/rpc" @@ -12,23 +13,31 @@ import ( ) // NewService initializes service instance. -func NewService(rpcClient *rpc.Client, accountsManager *account.GethManager, rpcFiltersSrvc *rpcfilters.Service, config *params.NodeConfig, appDb *sql.DB) *Service { - return &Service{ +func NewService(rpcClient *rpc.Client, accountsManager *account.GethManager, rpcFiltersSrvc *rpcfilters.Service, config *params.NodeConfig, appDb *sql.DB, timeSource func() time.Time) *Service { + service := &Service{ rpcClient, accountsManager, rpcFiltersSrvc, config, - NewAPI(rpcClient, accountsManager, rpcFiltersSrvc, config, appDb), + nil, + nil, } + service.api = NewAPI(rpcClient, accountsManager, rpcFiltersSrvc, config, appDb, timeSource, &service.syncUserDetailFunc) + return service } // Service is a browsers service. type Service struct { - rpcClient *rpc.Client - accountsManager *account.GethManager - rpcFiltersSrvc *rpcfilters.Service - config *params.NodeConfig - api *API + rpcClient *rpc.Client + accountsManager *account.GethManager + rpcFiltersSrvc *rpcfilters.Service + config *params.NodeConfig + api *API + syncUserDetailFunc syncUsernameDetail +} + +func (s *Service) Init(syncUserDetailFunc syncUsernameDetail) { + s.syncUserDetailFunc = syncUserDetailFunc } // Start a service. diff --git a/static/bindata.go b/static/bindata.go index c3e233444..860032d3d 100644 --- a/static/bindata.go +++ b/static/bindata.go @@ -104,7 +104,7 @@ func emojisTxt() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "emojis.txt", size: 28134, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)} + info := bindataFileInfo{name: "emojis.txt", size: 28134, mode: os.FileMode(0644), modTime: time.Unix(1675323803, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf5, 0x28, 0xc, 0x22, 0x34, 0xa1, 0xeb, 0x8, 0x8d, 0xef, 0x38, 0x1b, 0xd8, 0xc2, 0x1a, 0x6d, 0xa2, 0x62, 0xad, 0x43, 0xfc, 0x1c, 0x38, 0xda, 0x8c, 0x3f, 0x34, 0xa, 0x8c, 0x6f, 0x5d, 0xd8}} return a, nil } @@ -124,7 +124,7 @@ func ConfigReadmeMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "../config/README.md", size: 3031, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)} + info := bindataFileInfo{name: "../config/README.md", size: 3031, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x15, 0x44, 0x2b, 0x13, 0x14, 0x34, 0xa, 0x66, 0x62, 0x1b, 0xc6, 0x4a, 0x2c, 0x7d, 0x4d, 0x89, 0xfb, 0xc9, 0x69, 0xe4, 0x18, 0x5f, 0x3, 0x98, 0x6d, 0x3c, 0x9e, 0xa8, 0xcd, 0x53, 0x5d, 0x75}} return a, nil } @@ -144,7 +144,7 @@ func ConfigCliAnonMetricNodeClientJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "../config/cli/anon-metric-node-client.json", size: 857, mode: os.FileMode(0644), modTime: time.Unix(1648117578, 0)} + info := bindataFileInfo{name: "../config/cli/anon-metric-node-client.json", size: 857, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x90, 0xdf, 0xcd, 0xc8, 0x92, 0x1d, 0x63, 0x5e, 0xe1, 0xf9, 0x7f, 0xed, 0xf2, 0x68, 0x6b, 0x20, 0xff, 0x1d, 0x3b, 0xc9, 0x7b, 0xb9, 0x6a, 0xba, 0xd3, 0xbd, 0xf7, 0x48, 0x7b, 0x5a, 0x52, 0x79}} return a, nil } @@ -164,7 +164,7 @@ func ConfigCliAnonMetricNodeServerJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "../config/cli/anon-metric-node-server.json", size: 696, mode: os.FileMode(0644), modTime: time.Unix(1648117578, 0)} + info := bindataFileInfo{name: "../config/cli/anon-metric-node-server.json", size: 696, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf0, 0x2f, 0x97, 0xab, 0x77, 0x61, 0x93, 0x9d, 0x1f, 0x33, 0x18, 0x72, 0xad, 0xce, 0xa3, 0x35, 0xa9, 0x44, 0xbf, 0x29, 0xa8, 0xea, 0x21, 0xb7, 0x22, 0x7f, 0x7d, 0x3a, 0x6b, 0x55, 0x3c, 0x66}} return a, nil } @@ -184,7 +184,7 @@ func ConfigCliFleetEthProdJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "../config/cli/fleet-eth.prod.json", size: 4470, mode: os.FileMode(0644), modTime: time.Unix(1648117578, 0)} + info := bindataFileInfo{name: "../config/cli/fleet-eth.prod.json", size: 4470, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x34, 0x7b, 0x71, 0xe3, 0x8a, 0xb0, 0x7f, 0xc3, 0xe, 0xd2, 0x67, 0x38, 0x50, 0xf4, 0x27, 0xaa, 0xec, 0x47, 0xa1, 0x1, 0xf7, 0x5d, 0xe9, 0x8f, 0x3c, 0x35, 0x9f, 0xdb, 0x9b, 0x30, 0x88, 0x26}} return a, nil } @@ -204,7 +204,7 @@ func ConfigCliFleetEthStagingJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "../config/cli/fleet-eth.staging.json", size: 2145, mode: os.FileMode(0644), modTime: time.Unix(1648117578, 0)} + info := bindataFileInfo{name: "../config/cli/fleet-eth.staging.json", size: 2145, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa2, 0xe9, 0x85, 0x4b, 0x66, 0xa4, 0x1d, 0x4e, 0xaf, 0x21, 0xd7, 0xc2, 0x59, 0xf7, 0xd, 0xc2, 0x61, 0x4e, 0x4a, 0x9e, 0x38, 0x90, 0x6a, 0x2a, 0x16, 0xa6, 0x5c, 0x6d, 0x0, 0x5, 0x6, 0xb3}} return a, nil } @@ -224,7 +224,7 @@ func ConfigCliFleetEthTestJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "../config/cli/fleet-eth.test.json", size: 2174, mode: os.FileMode(0644), modTime: time.Unix(1648117578, 0)} + info := bindataFileInfo{name: "../config/cli/fleet-eth.test.json", size: 2174, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x55, 0x19, 0xca, 0x8d, 0xaa, 0x69, 0x9b, 0xa2, 0xa1, 0xdd, 0xef, 0xf2, 0x63, 0x5e, 0xcd, 0xe2, 0x8f, 0xc7, 0x37, 0x7e, 0x41, 0xa1, 0xc1, 0x3f, 0x65, 0x80, 0xa, 0xa4, 0x27, 0x74, 0x8d, 0xc6}} return a, nil } @@ -244,7 +244,7 @@ func ConfigCliFleetStatusProdJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "../config/cli/fleet-status.prod.json", size: 1920, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)} + info := bindataFileInfo{name: "../config/cli/fleet-status.prod.json", size: 1920, mode: os.FileMode(0644), modTime: time.Unix(1675323803, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x5, 0xf, 0x4a, 0x61, 0xd2, 0xfd, 0x7d, 0x59, 0xcf, 0x49, 0x81, 0x6, 0x71, 0xdb, 0x63, 0xe8, 0xeb, 0xdf, 0x9e, 0x65, 0x22, 0xae, 0x9b, 0xb0, 0x16, 0x17, 0xe0, 0x52, 0xe6, 0xb, 0xcf, 0x88}} return a, nil } @@ -264,7 +264,7 @@ func ConfigCliFleetStatusTestJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "../config/cli/fleet-status.test.json", size: 937, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)} + info := bindataFileInfo{name: "../config/cli/fleet-status.test.json", size: 937, mode: os.FileMode(0644), modTime: time.Unix(1675323803, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x5c, 0x3b, 0xc5, 0xd2, 0xe9, 0xd3, 0x52, 0xd4, 0x5a, 0xf3, 0xed, 0x37, 0xed, 0xde, 0xda, 0xc1, 0x57, 0x37, 0x17, 0x8c, 0x40, 0xee, 0x12, 0x82, 0x14, 0x2c, 0x8b, 0xc7, 0x4b, 0x2, 0xf8, 0x82}} return a, nil } @@ -284,7 +284,7 @@ func ConfigCliFleetWakuv2ProdJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "../config/cli/fleet-wakuv2.prod.json", size: 747, mode: os.FileMode(0644), modTime: time.Unix(1648117578, 0)} + info := bindataFileInfo{name: "../config/cli/fleet-wakuv2.prod.json", size: 747, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc3, 0x81, 0x84, 0xfd, 0x7d, 0x7e, 0x27, 0xc8, 0x5e, 0xb6, 0x38, 0xe1, 0x6, 0xa, 0xbc, 0x86, 0x87, 0x54, 0xa2, 0x2f, 0xe1, 0xa1, 0xc8, 0x6, 0x80, 0xfa, 0xed, 0xfe, 0x13, 0x6c, 0x81, 0xd9}} return a, nil } @@ -304,7 +304,7 @@ func ConfigCliFleetWakuv2TestJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "../config/cli/fleet-wakuv2.test.json", size: 748, mode: os.FileMode(0644), modTime: time.Unix(1648117578, 0)} + info := bindataFileInfo{name: "../config/cli/fleet-wakuv2.test.json", size: 748, mode: os.FileMode(0644), modTime: time.Unix(1645666387, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x77, 0x6d, 0x28, 0xb7, 0xc2, 0xf3, 0x22, 0xe3, 0x6d, 0xc1, 0xeb, 0x4b, 0x42, 0xe2, 0x6, 0xb0, 0x60, 0x30, 0xdb, 0xe3, 0x26, 0xff, 0x9, 0xf5, 0xea, 0xe6, 0x56, 0xce, 0xa8, 0x98, 0x61, 0x70}} return a, nil } @@ -324,7 +324,7 @@ func ConfigCliLesEnabledJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "../config/cli/les-enabled.json", size: 58, mode: os.FileMode(0644), modTime: time.Unix(1648117578, 0)} + info := bindataFileInfo{name: "../config/cli/les-enabled.json", size: 58, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7e, 0xee, 0x27, 0xa7, 0x74, 0xa0, 0x46, 0xa1, 0x41, 0xed, 0x4d, 0x16, 0x5b, 0xf3, 0xf0, 0x7c, 0xc8, 0x2f, 0x6f, 0x47, 0xa4, 0xbb, 0x5f, 0x43, 0x33, 0xd, 0x9, 0x9d, 0xea, 0x9e, 0x15, 0xee}} return a, nil } @@ -344,7 +344,7 @@ func ConfigCliMailserverEnabledJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "../config/cli/mailserver-enabled.json", size: 176, mode: os.FileMode(0644), modTime: time.Unix(1648117578, 0)} + info := bindataFileInfo{name: "../config/cli/mailserver-enabled.json", size: 176, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x34, 0xec, 0x81, 0x8b, 0x99, 0xb6, 0xdb, 0xc0, 0x8b, 0x46, 0x97, 0x96, 0xc7, 0x58, 0x30, 0x33, 0xef, 0x54, 0x25, 0x87, 0x7b, 0xb9, 0x94, 0x6b, 0x18, 0xa4, 0x5b, 0x58, 0x67, 0x7c, 0x44, 0xa6}} return a, nil } @@ -364,7 +364,7 @@ func ConfigStatusChainGenesisJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "../config/status-chain-genesis.json", size: 612, mode: os.FileMode(0644), modTime: time.Unix(1648117578, 0)} + info := bindataFileInfo{name: "../config/status-chain-genesis.json", size: 612, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb, 0xf0, 0xc, 0x1, 0x95, 0x65, 0x6, 0x55, 0x48, 0x8f, 0x83, 0xa0, 0xb4, 0x81, 0xda, 0xad, 0x30, 0x6d, 0xb2, 0x78, 0x1b, 0x26, 0x4, 0x13, 0x12, 0x9, 0x6, 0xae, 0x3a, 0x2c, 0x1, 0x71}} return a, nil } @@ -384,7 +384,7 @@ func keysBootnodeKey() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "keys/bootnode.key", size: 65, mode: os.FileMode(0644), modTime: time.Unix(1648117579, 0)} + info := bindataFileInfo{name: "keys/bootnode.key", size: 65, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x31, 0xcf, 0x27, 0xd4, 0x96, 0x2e, 0x32, 0xcd, 0x58, 0x96, 0x2a, 0xe5, 0x8c, 0xa0, 0xf1, 0x73, 0x1f, 0xd6, 0xd6, 0x8b, 0xb, 0x73, 0xd3, 0x2c, 0x84, 0x1a, 0x56, 0xa4, 0x74, 0xb6, 0x95, 0x20}} return a, nil } @@ -404,7 +404,7 @@ func keysFirebaseauthkey() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "keys/firebaseauthkey", size: 153, mode: os.FileMode(0644), modTime: time.Unix(1648117579, 0)} + info := bindataFileInfo{name: "keys/firebaseauthkey", size: 153, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe, 0x69, 0x23, 0x64, 0x7d, 0xf9, 0x14, 0x37, 0x6f, 0x2b, 0x1, 0xf0, 0xb0, 0xa4, 0xb2, 0xd0, 0x18, 0xcd, 0xf9, 0xeb, 0x57, 0xa3, 0xfd, 0x79, 0x25, 0xa7, 0x9c, 0x3, 0xce, 0x26, 0xec, 0xe1}} return a, nil } @@ -424,7 +424,7 @@ func keysTestAccount1StatusChainPk() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "keys/test-account1-status-chain.pk", size: 489, mode: os.FileMode(0644), modTime: time.Unix(1648117579, 0)} + info := bindataFileInfo{name: "keys/test-account1-status-chain.pk", size: 489, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x8f, 0xba, 0x35, 0x1, 0x2b, 0x9d, 0xad, 0xf0, 0x2d, 0x3c, 0x4d, 0x6, 0xb5, 0x22, 0x2, 0x47, 0xd4, 0x1c, 0xf4, 0x31, 0x2f, 0xb, 0x5b, 0x27, 0x5d, 0x43, 0x97, 0x58, 0x2d, 0xf0, 0xe1, 0xbe}} return a, nil } @@ -444,7 +444,7 @@ func keysTestAccount1Pk() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "keys/test-account1.pk", size: 491, mode: os.FileMode(0644), modTime: time.Unix(1648117579, 0)} + info := bindataFileInfo{name: "keys/test-account1.pk", size: 491, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x9, 0x43, 0xc2, 0xf4, 0x8c, 0xc6, 0x64, 0x25, 0x8c, 0x7, 0x8c, 0xa8, 0x89, 0x2b, 0x7b, 0x9b, 0x4f, 0x81, 0xcb, 0xce, 0x3d, 0xef, 0x82, 0x9c, 0x27, 0x27, 0xa9, 0xc5, 0x46, 0x70, 0x30, 0x38}} return a, nil } @@ -464,7 +464,7 @@ func keysTestAccount2StatusChainPk() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "keys/test-account2-status-chain.pk", size: 489, mode: os.FileMode(0644), modTime: time.Unix(1648117579, 0)} + info := bindataFileInfo{name: "keys/test-account2-status-chain.pk", size: 489, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x9, 0xf8, 0x5c, 0xe9, 0x92, 0x96, 0x2d, 0x88, 0x2b, 0x8e, 0x42, 0x3f, 0xa4, 0x93, 0x6c, 0xad, 0xe9, 0xc0, 0x1b, 0x8a, 0x8, 0x8c, 0x5e, 0x7a, 0x84, 0xa2, 0xf, 0x9f, 0x77, 0x58, 0x2c, 0x2c}} return a, nil } @@ -484,7 +484,7 @@ func keysTestAccount2Pk() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "keys/test-account2.pk", size: 491, mode: os.FileMode(0644), modTime: time.Unix(1648117579, 0)} + info := bindataFileInfo{name: "keys/test-account2.pk", size: 491, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x9f, 0x72, 0xd5, 0x95, 0x5c, 0x5a, 0x99, 0x9d, 0x2f, 0x21, 0x83, 0xd7, 0x10, 0x17, 0x4a, 0x3d, 0x65, 0xc9, 0x26, 0x1a, 0x2c, 0x9d, 0x65, 0x63, 0xd2, 0xa0, 0xfc, 0x7c, 0x0, 0x87, 0x38, 0x9f}} return a, nil } @@ -504,7 +504,7 @@ func keysTestAccount3BeforeEip55Pk() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "keys/test-account3-before-eip55.pk", size: 489, mode: os.FileMode(0644), modTime: time.Unix(1648117579, 0)} + info := bindataFileInfo{name: "keys/test-account3-before-eip55.pk", size: 489, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x81, 0x40, 0x56, 0xc1, 0x5e, 0x10, 0x6e, 0x28, 0x15, 0x3, 0x4e, 0xc4, 0xc4, 0x71, 0x4d, 0x16, 0x99, 0xcc, 0x1b, 0x63, 0xee, 0x10, 0x20, 0xe4, 0x59, 0x52, 0x3f, 0xc0, 0xad, 0x15, 0x13, 0x72}} return a, nil } diff --git a/t/bindata.go b/t/bindata.go index ad4d2f2b5..ce13104d9 100644 --- a/t/bindata.go +++ b/t/bindata.go @@ -86,7 +86,7 @@ func configPublicChainAccountsJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "config/public-chain-accounts.json", size: 307, mode: os.FileMode(0644), modTime: time.Unix(1648117579, 0)} + info := bindataFileInfo{name: "config/public-chain-accounts.json", size: 307, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x76, 0x5d, 0xc0, 0xfe, 0x57, 0x50, 0x18, 0xec, 0x2d, 0x61, 0x1b, 0xa9, 0x81, 0x11, 0x5f, 0x77, 0xf7, 0xb6, 0x67, 0x82, 0x1, 0x40, 0x68, 0x9d, 0xc5, 0x41, 0xaf, 0xce, 0x43, 0x81, 0x92, 0x96}} return a, nil } @@ -106,7 +106,7 @@ func configStatusChainAccountsJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "config/status-chain-accounts.json", size: 543, mode: os.FileMode(0644), modTime: time.Unix(1648117579, 0)} + info := bindataFileInfo{name: "config/status-chain-accounts.json", size: 543, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x8e, 0xb3, 0x61, 0x51, 0x70, 0x3c, 0x12, 0x3e, 0xf1, 0x1c, 0x81, 0xfb, 0x9a, 0x7c, 0xe3, 0x63, 0xd0, 0x8f, 0x12, 0xc5, 0x2d, 0xf4, 0xea, 0x27, 0x33, 0xef, 0xca, 0xf9, 0x3f, 0x72, 0x44, 0xbf}} return a, nil } @@ -126,7 +126,7 @@ func configTestDataJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "config/test-data.json", size: 84, mode: os.FileMode(0644), modTime: time.Unix(1648117579, 0)} + info := bindataFileInfo{name: "config/test-data.json", size: 84, mode: os.FileMode(0644), modTime: time.Unix(1645429416, 0)} a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xce, 0x9d, 0x80, 0xf5, 0x87, 0xfa, 0x57, 0x1d, 0xa1, 0xd5, 0x7a, 0x10, 0x3, 0xac, 0xd7, 0xf4, 0x64, 0x32, 0x96, 0x2b, 0xb7, 0x21, 0xb7, 0xa6, 0x80, 0x40, 0xe9, 0x65, 0xe3, 0xd6, 0xbd, 0x40}} return a, nil }