From b9d6e6d8c83d9a597332247dafcb999ae79f67bf Mon Sep 17 00:00:00 2001 From: Stefan Date: Wed, 14 Sep 2022 11:46:11 +0100 Subject: [PATCH] feat: sync saved addresses Main changes: - Extend saved addresses DB with sync info: sync timestamp, update timestamp and soft removed flag - Create custom protobuf message payload to sync saved addresses - Cleanup saved addresses on each start of messenger, by deleting soft removed older entries - Sync all saved addresses on Messenger.SyncDevices calls - Sync particular changes to saved addresses - Add SavedAddressManager instance to messenger - Note, can't find a clean way to pass the SavedAddressManager to the messenger, so we create another one - Add tests for sync and new DB API Closes: #7229 --- appdatabase/migrations/bindata.go | 98 +++-- ...60_add_sync_info_to_saved_addresses.up.sql | 5 + appdatabase/migrationsprevnodecfg/bindata.go | 108 +++--- mailserver/migrations/bindata.go | 6 +- multiaccounts/migrations/bindata.go | 22 +- protocol/anonmetrics/migrations/migrations.go | 6 +- protocol/encryption/migrations/migrations.go | 40 +-- protocol/messenger.go | 46 ++- protocol/messenger_response.go | 5 + protocol/messenger_saved_address.go | 117 ++++++ .../messenger_sync_saved_addresses_test.go | 280 +++++++++++++++ protocol/messenger_test.go | 1 + protocol/migrations/migrations.go | 132 +++---- .../application_metadata_message.pb.go | 113 +++--- .../application_metadata_message.proto | 1 + protocol/protobuf/pairing.pb.go | 337 +++++++++++------- protocol/protobuf/pairing.proto | 9 + .../migrations/migrations.go | 14 +- .../migrations/migrations.go | 10 +- protocol/transport/migrations/migrations.go | 12 +- protocol/v1/status_message.go | 2 + services/ext/api.go | 19 + services/wallet/api.go | 6 +- services/wallet/reader.go | 2 +- services/wallet/saved_addresses.go | 179 +++++++++- services/wallet/saved_addresses_test.go | 203 ++++++++++- static/bindata.go | 42 +-- t/bindata.go | 6 +- 28 files changed, 1373 insertions(+), 448 deletions(-) create mode 100644 appdatabase/migrations/sql/1664783660_add_sync_info_to_saved_addresses.up.sql create mode 100644 protocol/messenger_saved_address.go create mode 100644 protocol/messenger_sync_saved_addresses_test.go diff --git a/appdatabase/migrations/bindata.go b/appdatabase/migrations/bindata.go index 2a95dd2eb..d3c9c5a6f 100644 --- a/appdatabase/migrations/bindata.go +++ b/appdatabase/migrations/bindata.go @@ -36,6 +36,7 @@ // 1662738097_add_base_fee_transaction.up.sql (112B) // 1662972194_add_keypairs_table.up.sql (345B) // 1664392661_add_third_party_id_to_waku_messages.up.sql (70B) +// 1664783660_add_sync_info_to_saved_addresses.up.sql (388B) // doc.go (74B) package migrations @@ -120,7 +121,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(1664358295, 0)} + info := bindataFileInfo{name: "1640111208_dummy.up.sql", size: 258, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -140,7 +141,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(1664358295, 0)} + info := bindataFileInfo{name: "1642666031_add_removed_clock_to_bookmarks.up.sql", size: 117, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -160,7 +161,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(1664358295, 0)} + info := bindataFileInfo{name: "1643644541_gif_api_key_setting.up.sql", size: 108, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -180,7 +181,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(1664358295, 0)} + info := bindataFileInfo{name: "1644188994_recent_stickers.up.sql", size: 79, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -200,7 +201,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(1664358295, 0)} + info := bindataFileInfo{name: "1646659233_add_address_to_dapp_permisssion.up.sql", size: 700, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -220,7 +221,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(1664358295, 0)} + info := bindataFileInfo{name: "1646841105_add_emoji_account.up.sql", size: 96, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -240,7 +241,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(1664358295, 0)} + info := bindataFileInfo{name: "1647278782_display_name.up.sql", size: 110, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -260,7 +261,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(1664358295, 0)} + info := bindataFileInfo{name: "1647862838_reset_last_backup.up.sql", size: 37, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -280,7 +281,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(1664358295, 0)} + info := bindataFileInfo{name: "1647871652_add_settings_sync_clock_table.up.sql", size: 1044, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -300,7 +301,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(1664358295, 0)} + info := bindataFileInfo{name: "1647880168_add_torrent_config.up.sql", size: 211, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -320,7 +321,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(1664358295, 0)} + info := bindataFileInfo{name: "1647882837_add_communities_settings_table.up.sql", size: 206, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -340,7 +341,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(1664358295, 0)} + info := bindataFileInfo{name: "1647956635_add_waku_messages_table.up.sql", size: 266, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -360,7 +361,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(1664358295, 0)} + info := bindataFileInfo{name: "1648554928_network_test.up.sql", size: 132, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -380,7 +381,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(1664358295, 0)} + info := bindataFileInfo{name: "1649174829_add_visitble_token.up.sql", size: 84, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -400,7 +401,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(1664358295, 0)} + info := bindataFileInfo{name: "1649882262_add_derived_from_accounts.up.sql", size: 110, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -420,7 +421,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(1664358295, 0)} + info := bindataFileInfo{name: "1650612625_add_community_message_archive_hashes_table.up.sql", size: 130, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -440,7 +441,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(1664358295, 0)} + info := bindataFileInfo{name: "1650616788_add_communities_archives_info_table.up.sql", size: 208, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -460,7 +461,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(1664358295, 0)} + info := bindataFileInfo{name: "1652715604_add_clock_accounts.up.sql", size: 62, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -480,7 +481,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(1664358295, 0)} + info := bindataFileInfo{name: "1653037334_add_notifications_settings_table.up.sql", size: 1276, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -500,7 +501,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(1664358295, 0)} + info := bindataFileInfo{name: "1654702119_add_mutual_contact_settings.up.sql", size: 78, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -520,7 +521,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(1664358295, 0)} + info := bindataFileInfo{name: "1655375270_add_clock_field_to_communities_settings_table.up.sql", size: 74, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -540,7 +541,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(1664358295, 0)} + info := bindataFileInfo{name: "1655385721_drop_networks_config.up.sql", size: 27, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -560,7 +561,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(1664358295, 0)} + info := bindataFileInfo{name: "1655385724_networks_chainColor_shortName.up.sql", size: 220, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -580,7 +581,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(1664358295, 0)} + info := bindataFileInfo{name: "1655456688_add_deleted_at_field_to_bookmarks_table.up.sql", size: 69, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -600,7 +601,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(1664358295, 0)} + info := bindataFileInfo{name: "1655462032_create_bookmarks_deleted_at_index.up.sql", size: 81, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -620,7 +621,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(1664358295, 0)} + info := bindataFileInfo{name: "1657617291_add_multi_transactions_table.up.sql", size: 412, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -640,7 +641,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(1664358295, 0)} + info := bindataFileInfo{name: "1660134042_add_social_links_settings_table.up.sql", size: 334, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -660,7 +661,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(1664358295, 0)} + info := bindataFileInfo{name: "1660134060_settings_bio.up.sql", size: 91, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -680,7 +681,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(1664358295, 0)} + info := bindataFileInfo{name: "1660134070_add_wakuv2_store.up.sql", size: 269, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -700,7 +701,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(1664358295, 0)} + info := bindataFileInfo{name: "1660134072_waku2_store_messages.up.sql", size: 497, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -720,7 +721,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(1664358295, 0)} + info := bindataFileInfo{name: "1662365868_add_key_uid_accounts.up.sql", size: 68, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -740,7 +741,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(1664358295, 0)} + info := bindataFileInfo{name: "1662447680_add_keypairs_table.up.sql", size: 218, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -760,7 +761,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(1664358295, 0)} + info := bindataFileInfo{name: "1662460056_move_favourites_to_saved_addresses.up.sql", size: 233, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -780,7 +781,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(1664358295, 0)} + info := bindataFileInfo{name: "1662738097_add_base_fee_transaction.up.sql", size: 112, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -800,7 +801,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(1664358295, 0)} + info := bindataFileInfo{name: "1662972194_add_keypairs_table.up.sql", size: 345, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -820,11 +821,31 @@ 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(1665122399, 0)} + info := bindataFileInfo{name: "1664392661_add_third_party_id_to_waku_messages.up.sql", size: 70, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } +var __1664783660_add_sync_info_to_saved_addressesUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\xcf\xc1\x6a\xf3\x30\x10\x04\xe0\x7b\x9e\x62\x2e\x3f\x4e\xe0\x4f\xe9\x3d\xf4\xa0\xc4\x2e\x14\x54\xbb\x24\x32\x3d\x06\x21\x6d\x1a\x51\x59\x32\x5a\xd9\x69\xde\xbe\xd8\x39\x94\x52\x0a\xbd\x2e\xbb\x33\xdf\x0a\xa9\xaa\x3d\x94\xd8\xca\x0a\xac\x47\xb2\x47\x6d\x6d\x22\x66\x62\x88\xb2\xc4\xae\x91\xed\x73\x8d\x44\x5d\x1c\xc9\x62\xdb\x34\xb2\x12\x35\xea\x46\xa1\x6e\xa5\x44\x59\x3d\x8a\x56\x2a\xdc\x6f\x16\xeb\x35\xf6\xd4\x27\x62\x0a\x99\x71\xd1\xde\xc3\xf8\x68\xde\x91\x5d\x47\xd0\x8c\x21\xb8\x0f\xea\xa3\x39\xcf\x13\xce\xba\xeb\x17\x7f\xec\x1f\x7a\xab\x33\x1d\x6f\x79\x4f\xb5\xfa\x0d\xd0\xce\x7b\x18\xd8\x85\x37\xe4\x33\xc1\x0c\x29\x51\xc8\x5f\x8d\xc8\x11\x96\x4c\x0c\x27\xef\x4c\x86\xa5\xd1\x19\x62\x68\x9f\x48\xdb\x2b\x5c\x00\x5f\x83\xb9\xc3\xab\x0b\x3c\x27\x78\xcd\x19\x31\xd0\x74\x78\x63\x2c\xda\x97\x52\xa8\x9f\xde\x43\xa5\xbe\x43\x1f\xb0\xdc\x89\x83\x5a\x72\x4e\xa7\x09\xb0\x2c\xfe\x71\xf1\x1f\x45\x88\x97\x62\x05\x71\x98\x3e\x59\xad\x36\x9f\x01\x00\x00\xff\xff\xe1\x0f\x8e\x46\x84\x01\x00\x00") + +func _1664783660_add_sync_info_to_saved_addressesUpSqlBytes() ([]byte, error) { + return bindataRead( + __1664783660_add_sync_info_to_saved_addressesUpSql, + "1664783660_add_sync_info_to_saved_addresses.up.sql", + ) +} + +func _1664783660_add_sync_info_to_saved_addressesUpSql() (*asset, error) { + bytes, err := _1664783660_add_sync_info_to_saved_addressesUpSqlBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "1664783660_add_sync_info_to_saved_addresses.up.sql", size: 388, mode: os.FileMode(0644), modTime: time.Unix(1665148397, 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 +} + 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) { @@ -840,7 +861,7 @@ func docGo() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "doc.go", size: 74, mode: os.FileMode(0644), modTime: time.Unix(1664358295, 0)} + info := bindataFileInfo{name: "doc.go", size: 74, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -1008,6 +1029,8 @@ var _bindata = map[string]func() (*asset, error){ "1664392661_add_third_party_id_to_waku_messages.up.sql": _1664392661_add_third_party_id_to_waku_messagesUpSql, + "1664783660_add_sync_info_to_saved_addresses.up.sql": _1664783660_add_sync_info_to_saved_addressesUpSql, + "doc.go": docGo, } @@ -1088,6 +1111,7 @@ var _bintree = &bintree{nil, map[string]*bintree{ "1662738097_add_base_fee_transaction.up.sql": &bintree{_1662738097_add_base_fee_transactionUpSql, map[string]*bintree{}}, "1662972194_add_keypairs_table.up.sql": &bintree{_1662972194_add_keypairs_tableUpSql, map[string]*bintree{}}, "1664392661_add_third_party_id_to_waku_messages.up.sql": &bintree{_1664392661_add_third_party_id_to_waku_messagesUpSql, map[string]*bintree{}}, + "1664783660_add_sync_info_to_saved_addresses.up.sql": &bintree{_1664783660_add_sync_info_to_saved_addressesUpSql, map[string]*bintree{}}, "doc.go": &bintree{docGo, map[string]*bintree{}}, }} diff --git a/appdatabase/migrations/sql/1664783660_add_sync_info_to_saved_addresses.up.sql b/appdatabase/migrations/sql/1664783660_add_sync_info_to_saved_addresses.up.sql new file mode 100644 index 000000000..f52bf0675 --- /dev/null +++ b/appdatabase/migrations/sql/1664783660_add_sync_info_to_saved_addresses.up.sql @@ -0,0 +1,5 @@ +ALTER TABLE saved_addresses ADD COLUMN removed BOOLEAN NOT NULL DEFAULT 0; +-- Represents wall clock time as unixepoch timestamp +ALTER TABLE saved_addresses ADD COLUMN update_clock INT NOT NULL DEFAULT 0; +-- Update using the current timestamp to deconflict devices already in sync. Wins the last one to update +UPDATE saved_addresses SET update_clock = (CAST(strftime('%s', 'now') AS INT)); \ No newline at end of file diff --git a/appdatabase/migrationsprevnodecfg/bindata.go b/appdatabase/migrationsprevnodecfg/bindata.go index affe56300..54e6ac1f7 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(1664358295, 0)} + info := bindataFileInfo{name: "0001_app.down.sql", size: 356, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "0001_app.up.sql", size: 2967, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "0002_tokens.down.sql", size: 19, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "0002_tokens.up.sql", size: 248, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "0003_settings.down.sql", size: 118, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "0003_settings.up.sql", size: 1311, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "0004_pending_stickers.down.sql", size: 0, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "0004_pending_stickers.up.sql", size: 61, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "0005_waku_mode.down.sql", size: 0, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "0005_waku_mode.up.sql", size: 146, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "0006_appearance.up.sql", size: 67, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "0007_enable_waku_default.up.sql", size: 38, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "0008_add_push_notifications.up.sql", size: 349, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "0009_enable_sending_push_notifications.down.sql", size: 49, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "0009_enable_sending_push_notifications.up.sql", size: 49, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "0010_add_block_mentions.down.sql", size: 83, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "0010_add_block_mentions.up.sql", size: 89, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "0011_allow_webview_permission_requests.down.sql", size: 0, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "0011_allow_webview_permission_requests.up.sql", size: 88, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "0012_pending_transactions.down.sql", size: 33, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "0012_pending_transactions.up.sql", size: 321, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "0013_favourites.down.sql", size: 23, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "0013_favourites.up.sql", size: 132, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "0014_add_use_mailservers.down.sql", size: 0, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "0014_add_use_mailservers.up.sql", size: 111, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "0015_link_previews.down.sql", size: 0, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "0015_link_previews.up.sql", size: 203, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "0016_local_notifications_preferences.down.sql", size: 43, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "0016_local_notifications_preferences.up.sql", size: 204, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "0017_bookmarks.down.sql", size: 22, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "0017_bookmarks.up.sql", size: 147, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "0018_profile_pictures_visibility.up.sql", size: 84, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "0019_blocks_ranges_extra_data.up.sql", size: 89, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "0020_metrics.up.sql", size: 235, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "0021_add_session_id_to_metrics.up.sql", size: 55, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "0022_pending_transfers.up.sql", size: 706, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "1618237885_settings_anon_metrics_should_send.up.sql", size: 80, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "1618395756_contacts_only.up.sql", size: 136, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "1622184614_add_default_sync_period.up.sql", size: 125, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "1625872445_user_status.up.sql", size: 351, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "1627983977_add_gif_to_settings.up.sql", size: 102, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "1628580203_add_hidden_account.up.sql", size: 67, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "1629123384_add_id_to_app_metrics.up.sql", size: 589, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "1630401853_add_opensea_enabled_to_settings.up.sql", size: 70, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "1630464455_create-saved_addresses-table.down.sql", size: 28, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "1630464455_create-saved_addresses-table.up.sql", size: 187, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "1630485153_networks.down.sql", size: 21, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "1630485153_networks.up.sql", size: 394, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "1632262444_profile_pictures_show_to.up.sql", size: 81, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "1635942153_add_telemetry_server_url_to_settings.up.sql", size: 128, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "1635942154_add_backup_setting.up.sql", size: 287, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "1637745568_add_auto_message_setting.up.sql", size: 122, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "1640111208_nodeconfig.up.sql", size: 7659, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "doc.go", size: 85, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 416f75fef..9ef3d72cd 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(1664358295, 0)} + info := bindataFileInfo{name: "1557732988_initialize_db.down.sql", size: 72, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "1557732988_initialize_db.up.sql", size: 278, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "static.go", size: 178, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 0418fb1ba..77f91e518 100644 --- a/multiaccounts/migrations/bindata.go +++ b/multiaccounts/migrations/bindata.go @@ -94,7 +94,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(1664358295, 0)} + info := bindataFileInfo{name: "0001_accounts.down.sql", size: 21, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -114,7 +114,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(1664358295, 0)} + info := bindataFileInfo{name: "0001_accounts.up.sql", size: 163, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -134,7 +134,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(1664358295, 0)} + info := bindataFileInfo{name: "1605007189_identity_images.down.sql", size: 29, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -154,7 +154,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(1664358295, 0)} + info := bindataFileInfo{name: "1605007189_identity_images.up.sql", size: 268, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -174,7 +174,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(1664358295, 0)} + info := bindataFileInfo{name: "1606224181_drop_photo_path_from_accounts.down.sql", size: 892, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -194,7 +194,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(1664358295, 0)} + info := bindataFileInfo{name: "1606224181_drop_photo_path_from_accounts.up.sql", size: 866, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -214,7 +214,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(1664358295, 0)} + info := bindataFileInfo{name: "1648646095_image_clock.down.sql", size: 939, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -234,7 +234,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(1664358295, 0)} + info := bindataFileInfo{name: "1648646095_image_clock.up.sql", size: 69, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -254,7 +254,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(1664358295, 0)} + info := bindataFileInfo{name: "1649317600_add_color_hash.up.sql", size: 201, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -274,7 +274,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(1665122380, 0)} + info := bindataFileInfo{name: "1660238799_accounts_kdf.up.sql", size: 115, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -294,7 +294,7 @@ func docGo() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "doc.go", size: 74, mode: os.FileMode(0644), modTime: time.Unix(1664358295, 0)} + info := bindataFileInfo{name: "doc.go", size: 74, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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/protocol/anonmetrics/migrations/migrations.go b/protocol/anonmetrics/migrations/migrations.go index 19669848a..631fc06a3 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(1664358295, 0)} + info := bindataFileInfo{name: "1619446565_postgres_make_anon_metrics_table.down.sql", size: 24, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "1619446565_postgres_make_anon_metrics_table.up.sql", size: 443, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "doc.go", size: 380, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 a3dff7a8e..36b6b4a6a 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(1664358295, 0)} + info := bindataFileInfo{name: "1536754952_initial_schema.down.sql", size: 83, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "1536754952_initial_schema.up.sql", size: 962, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "1539249977_update_ratchet_info.down.sql", size: 311, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "1539249977_update_ratchet_info.up.sql", size: 368, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "1540715431_add_version.down.sql", size: 127, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "1540715431_add_version.up.sql", size: 265, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "1541164797_add_installations.down.sql", size: 26, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "1541164797_add_installations.up.sql", size: 216, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "1558084410_add_secret.down.sql", size: 56, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "1558084410_add_secret.up.sql", size: 301, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "1558588866_add_version.down.sql", size: 47, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "1558588866_add_version.up.sql", size: 57, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "1559627659_add_contact_code.down.sql", size: 32, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "1559627659_add_contact_code.up.sql", size: 198, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "1561368210_add_installation_metadata.down.sql", size: 35, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "1561368210_add_installation_metadata.up.sql", size: 267, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "1632236298_add_communities.down.sql", size: 151, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "1632236298_add_communities.up.sql", size: 584, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "1636536507_add_index_bundles.up.sql", size: 347, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "doc.go", size: 377, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 e927b1f9e..4bd072980 100644 --- a/protocol/messenger.go +++ b/protocol/messenger.go @@ -60,6 +60,7 @@ import ( "github.com/status-im/status-go/services/browsers" "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" "github.com/status-im/status-go/telemetry" ) @@ -144,6 +145,7 @@ type Messenger struct { contractMaker *contracts.ContractMaker downloadHistoryArchiveTasksWaitGroup sync.WaitGroup verificationDatabase *verification.Persistence + savedAddressesManager *wallet.SavedAddressesManager // TODO(samyoul) Determine if/how the remaining usage of this mutex can be removed mutex sync.Mutex @@ -410,6 +412,8 @@ func NewMessenger( mailservers := mailserversDB.NewDB(database) + savedAddressesManager := wallet.NewSavedAddressesManager(c.db) + messenger = &Messenger{ config: &c, node: node, @@ -466,7 +470,8 @@ func NewMessenger( func() error { _ = logger.Sync; return nil }, database.Close, }, - logger: logger, + logger: logger, + savedAddressesManager: savedAddressesManager, } if c.outputMessagesCSV { @@ -717,6 +722,11 @@ func (m *Messenger) Start() (*MessengerResponse, error) { return nil, err } + err = m.garbageCollectRemovedSavedAddresses() + if err != nil { + return nil, err + } + return response, nil } @@ -2337,7 +2347,25 @@ func (m *Messenger) SyncDevices(ctx context.Context, ensName, photoPath string) } } - return m.syncWallets(accounts) + err = m.syncWallets(accounts) + if err != nil { + return err + } + + savedAddresses, err := m.savedAddressesManager.GetRawSavedAddresses() + if err != nil { + return err + } + + for i := range savedAddresses { + sa := savedAddresses[i] + + err = m.syncSavedAddress(ctx, sa) + if err != nil { + return err + } + } + return nil } func (m *Messenger) SaveAccounts(accs []*accounts.Account) error { @@ -3863,6 +3891,20 @@ func (m *Messenger) handleRetrievedMessages(chatWithMessages map[transport.Filte logger.Warn("failed to handle SyncContactRequestDecisio", zap.Error(err)) continue } + case protobuf.SyncSavedAddress: + if !common.IsPubKeyEqual(messageState.CurrentMessageState.PublicKey, &m.identity.PublicKey) { + logger.Warn("not coming from us, ignoring") + continue + } + + p := msg.ParsedMessage.Interface().(protobuf.SyncSavedAddress) + m.outputToCSV(msg.TransportMessage.Timestamp, msg.ID, senderID, filter.Topic, filter.ChatID, msg.Type, p) + err = m.handleSyncSavedAddress(messageState, p) + if err != nil { + logger.Warn("failed to handle SyncSavedAddress", zap.Error(err)) + allMessagesProcessed = false + continue + } default: // Check if is an encrypted PushNotificationRegistration if msg.Type == protobuf.ApplicationMetadataMessage_PUSH_NOTIFICATION_REGISTRATION { diff --git a/protocol/messenger_response.go b/protocol/messenger_response.go index ed32add03..0bd259d22 100644 --- a/protocol/messenger_response.go +++ b/protocol/messenger_response.go @@ -4,6 +4,7 @@ import ( "encoding/json" "github.com/status-im/status-go/services/browsers" + "github.com/status-im/status-go/services/wallet" "github.com/status-im/status-go/appmetrics" "github.com/status-im/status-go/images" @@ -45,6 +46,7 @@ type MessengerResponse struct { DiscordCategories []*discord.Category DiscordChannels []*discord.Channel DiscordOldestMessageTimestamp int + SavedAddresses []*wallet.SavedAddress // notifications a list of notifications derived from messenger events // that are useful to notify the user about @@ -95,6 +97,7 @@ func (r *MessengerResponse) MarshalJSON() ([]byte, error) { DiscordCategories []*discord.Category `json:"discordCategories,omitempty"` DiscordChannels []*discord.Channel `json:"discordChannels,omitempty"` DiscordOldestMessageTimestamp int `json:"discordOldestMessageTimestamp"` + SavedAddresses []*wallet.SavedAddress `json:"savedAddresses"` }{ Contacts: r.Contacts, Installations: r.Installations, @@ -109,6 +112,7 @@ func (r *MessengerResponse) MarshalJSON() ([]byte, error) { IdentityImages: r.IdentityImages, Accounts: r.Accounts, VerificationRequests: r.VerificationRequests, + SavedAddresses: r.SavedAddresses, Messages: r.Messages(), Notifications: r.Notifications(), @@ -239,6 +243,7 @@ func (r *MessengerResponse) IsEmpty() bool { len(r.trustStatus)+ len(r.VerificationRequests)+ len(r.RequestsToJoinCommunity) == 0 && + len(r.SavedAddresses) == 0 && r.currentStatus == nil } diff --git a/protocol/messenger_saved_address.go b/protocol/messenger_saved_address.go new file mode 100644 index 000000000..1008624ff --- /dev/null +++ b/protocol/messenger_saved_address.go @@ -0,0 +1,117 @@ +package protocol + +import ( + "context" + "time" + + "github.com/golang/protobuf/proto" + + gethcommon "github.com/ethereum/go-ethereum/common" + "github.com/status-im/status-go/protocol/common" + "github.com/status-im/status-go/protocol/protobuf" + "github.com/status-im/status-go/services/wallet" +) + +func (m *Messenger) UpsertSavedAddress(ctx context.Context, sa wallet.SavedAddress) error { + updatedClock, err := m.savedAddressesManager.UpdateMetadataAndUpsertSavedAddress(sa) + if err != nil { + return err + } + return m.syncNewSavedAddress(ctx, &sa, updatedClock) +} + +func (m *Messenger) DeleteSavedAddress(ctx context.Context, chainID uint64, address gethcommon.Address) error { + updatedClock, err := m.savedAddressesManager.DeleteSavedAddress(chainID, address) + if err != nil { + return err + } + return m.syncDeletedSavedAddress(ctx, chainID, address, updatedClock) +} + +func (m *Messenger) garbageCollectRemovedSavedAddresses() error { + return m.savedAddressesManager.DeleteSoftRemovedSavedAddresses(uint64(time.Now().AddDate(0, 0, -30).Unix())) +} + +func (m *Messenger) dispatchSyncSavedAddress(ctx context.Context, syncMessage protobuf.SyncSavedAddress) error { + if !m.hasPairedDevices() { + return nil + } + + clock, chat := m.getLastClockWithRelatedChat() + + encodedMessage, err := proto.Marshal(&syncMessage) + if err != nil { + return err + } + + _, err = m.dispatchMessage(ctx, common.RawMessage{ + LocalChatID: chat.ID, + Payload: encodedMessage, + MessageType: protobuf.ApplicationMetadataMessage_SYNC_SAVED_ADDRESS, + ResendAutomatically: true, + }) + if err != nil { + return err + } + + chat.LastClockValue = clock + return m.saveChat(chat) +} + +func (m *Messenger) syncNewSavedAddress(ctx context.Context, savedAddress *wallet.SavedAddress, updateClock uint64) error { + return m.dispatchSyncSavedAddress(ctx, protobuf.SyncSavedAddress{ + Address: savedAddress.Address.Bytes(), + Name: savedAddress.Name, + Favourite: savedAddress.Favourite, + ChainId: savedAddress.ChainID, + UpdateClock: updateClock, + }) +} + +func (m *Messenger) syncDeletedSavedAddress(ctx context.Context, chainID uint64, address gethcommon.Address, updateClock uint64) error { + return m.dispatchSyncSavedAddress(ctx, protobuf.SyncSavedAddress{ + Address: address.Bytes(), + ChainId: chainID, + UpdateClock: updateClock, + Removed: true, + }) +} + +func (m *Messenger) syncSavedAddress(ctx context.Context, savedAddress wallet.SavedAddress) (err error) { + if savedAddress.Removed { + if err = m.syncDeletedSavedAddress(ctx, savedAddress.ChainID, savedAddress.Address, savedAddress.UpdateClock); err != nil { + return err + } + } else { + if err = m.syncNewSavedAddress(ctx, &savedAddress, savedAddress.UpdateClock); err != nil { + return err + } + } + return +} + +func (m *Messenger) handleSyncSavedAddress(state *ReceivedMessageState, syncMessage protobuf.SyncSavedAddress) (err error) { + address := gethcommon.BytesToAddress(syncMessage.Address) + if syncMessage.Removed { + _, err = m.savedAddressesManager.DeleteSavedAddressIfNewerUpdate(syncMessage.ChainId, + address, syncMessage.UpdateClock) + if err != nil { + return err + } + state.Response.SavedAddresses = append(state.Response.SavedAddresses, &wallet.SavedAddress{ChainID: syncMessage.ChainId, Address: address}) + } else { + sa := wallet.SavedAddress{ + Address: address, + Name: syncMessage.Name, + Favourite: syncMessage.Favourite, + ChainID: syncMessage.ChainId, + } + + _, err = m.savedAddressesManager.AddSavedAddressIfNewerUpdate(sa, syncMessage.UpdateClock) + if err != nil { + return err + } + state.Response.SavedAddresses = append(state.Response.SavedAddresses, &sa) + } + return +} diff --git a/protocol/messenger_sync_saved_addresses_test.go b/protocol/messenger_sync_saved_addresses_test.go new file mode 100644 index 000000000..6f35f7a47 --- /dev/null +++ b/protocol/messenger_sync_saved_addresses_test.go @@ -0,0 +1,280 @@ +package protocol + +import ( + "context" + "crypto/ecdsa" + "testing" + + "github.com/stretchr/testify/suite" + "go.uber.org/zap" + + "github.com/ethereum/go-ethereum/common" + gethbridge "github.com/status-im/status-go/eth-node/bridge/geth" + "github.com/status-im/status-go/eth-node/crypto" + "github.com/status-im/status-go/eth-node/types" + "github.com/status-im/status-go/protocol/encryption/multidevice" + "github.com/status-im/status-go/protocol/tt" + "github.com/status-im/status-go/services/wallet" + "github.com/status-im/status-go/waku" +) + +func TestMessengerSyncSavedAddressesSuite(t *testing.T) { + suite.Run(t, new(MessengerSyncSavedAddressesSuite)) +} + +type MessengerSyncSavedAddressesSuite struct { + suite.Suite + main *Messenger // main instance of Messenger paired with `other` + other *Messenger + privateKey *ecdsa.PrivateKey // private key for the main instance of Messenger + + // If one wants to send messages between different instances of Messenger, + // a single Waku service should be shared. + shh types.Waku + + logger *zap.Logger +} + +func (s *MessengerSyncSavedAddressesSuite) SetupTest() { + s.logger = tt.MustCreateTestLogger() + + config := waku.DefaultConfig + config.MinimumAcceptedPoW = 0 + shh := waku.New(&config, s.logger) + s.shh = gethbridge.NewGethWakuWrapper(shh) + s.Require().NoError(shh.Start()) + + s.main = s.newMessenger(s.shh) + s.privateKey = s.main.identity + // Start the main messenger in order to receive installations + _, err := s.main.Start() + s.Require().NoError(err) + + // Create new device and add main account to + s.other, err = newMessengerWithKey(s.shh, s.main.identity, s.logger, nil) + s.Require().NoError(err) + + // Pair devices (main and other) + imOther := &multidevice.InstallationMetadata{ + Name: "other-device", + DeviceType: "other-device-type", + } + err = s.other.SetInstallationMetadata(s.other.installationID, imOther) + s.Require().NoError(err) + response, err := s.other.SendPairInstallation(context.Background()) + s.Require().NoError(err) + s.Require().NotNil(response) + + // Wait for the message to reach its destination + _, err = WaitOnMessengerResponse( + s.main, + func(r *MessengerResponse) bool { return len(r.Installations) > 0 }, + "installation not received", + ) + s.Require().NoError(err) + + err = s.main.EnableInstallation(s.other.installationID) + s.Require().NoError(err) +} + +func (s *MessengerSyncSavedAddressesSuite) TearDownTest() { + s.Require().NoError(s.main.Shutdown()) +} + +func (s *MessengerSyncSavedAddressesSuite) newMessenger(shh types.Waku) *Messenger { + privateKey, err := crypto.GenerateKey() + s.Require().NoError(err) + + messenger, err := newMessengerWithKey(s.shh, privateKey, s.logger, nil) + s.Require().NoError(err) + + return messenger +} + +// Helpers duplicate of wallet test. Could not import it from saved_addresses_test.go + +func contains[T comparable](container []T, element T, isEqual func(T, T) bool) bool { + for _, e := range container { + if isEqual(e, element) { + return true + } + } + return false +} + +func haveSameElements[T comparable](a []T, b []T, isEqual func(T, T) bool) bool { + for _, v := range a { + if !contains(b, v, isEqual) { + return false + } + } + return true +} + +func savedAddressDataIsEqual(a, b wallet.SavedAddress) bool { + return a.Address == b.Address && a.ChainID == b.ChainID && a.Name == b.Name && a.Favourite == b.Favourite +} + +func (s *MessengerSyncSavedAddressesSuite) TestSyncExistingSavedAddresses() { + var testChainID1 uint64 = 1 + var testChainID2 uint64 = 2 + var testAddress1 = common.Address{1} + + // Add saved addresses to main device + sa1 := wallet.SavedAddress{ + Address: testAddress1, + Name: "TestC1A1", + Favourite: false, + ChainID: testChainID1, + } + sa2 := wallet.SavedAddress{ + Address: testAddress1, + Name: "TestC2A1", + Favourite: true, + ChainID: testChainID2, + } + + savedAddressesManager := wallet.NewSavedAddressesManager(s.main.persistence.db) + + _, err := savedAddressesManager.UpdateMetadataAndUpsertSavedAddress(sa1) + s.Require().NoError(err) + _, err = savedAddressesManager.UpdateMetadataAndUpsertSavedAddress(sa2) + s.Require().NoError(err) + + // Trigger's a sync between devices + err = s.main.SyncDevices(context.Background(), "ens-name", "profile-image") + s.Require().NoError(err) + + // Wait and check that saved addresses are synced + _, err = WaitOnMessengerResponse( + s.other, + func(r *MessengerResponse) bool { + if len(r.SavedAddresses) == 2 { + s.Require().True(haveSameElements([]wallet.SavedAddress{sa1, sa2}, []wallet.SavedAddress{*r.SavedAddresses[0], *r.SavedAddresses[1]}, savedAddressDataIsEqual)) + return true + } + return false + }, + "expected to receive two changes", + ) + s.Require().NoError(err) + + savedAddresses, err := s.other.savedAddressesManager.GetSavedAddresses() + s.Require().NoError(err) + s.Require().Equal(2, len(savedAddresses)) + s.Require().True(haveSameElements([]wallet.SavedAddress{sa1, sa2}, savedAddresses, savedAddressDataIsEqual)) +} + +func (s *MessengerSyncSavedAddressesSuite) TestSyncSavedAddresses() { + var testChainID1 uint64 = 1 + var testAddress1 = common.Address{1} + var testAddress2 = common.Address{2} + + // Add saved addresses to main device + sa1 := wallet.SavedAddress{ + Address: testAddress1, + Name: "TestC1A1", + Favourite: false, + ChainID: testChainID1, + } + sa2 := wallet.SavedAddress{ + Address: testAddress2, + Name: "TestC1A2", + Favourite: true, + ChainID: testChainID1, + } + + err := s.main.UpsertSavedAddress(context.Background(), sa1) + s.Require().NoError(err) + err = s.main.UpsertSavedAddress(context.Background(), sa2) + s.Require().NoError(err) + + // Wait and check that saved addresses are synced + _, err = WaitOnMessengerResponse( + s.other, + func(r *MessengerResponse) bool { + if len(r.SavedAddresses) == 2 { + s.Require().True(haveSameElements([]wallet.SavedAddress{sa1, sa2}, []wallet.SavedAddress{*r.SavedAddresses[0], *r.SavedAddresses[1]}, savedAddressDataIsEqual)) + return true + } + return false + }, + "expected to receive two changes", + ) + s.Require().NoError(err) + + savedAddresses, err := s.other.savedAddressesManager.GetSavedAddresses() + s.Require().NoError(err) + s.Require().Equal(2, len(savedAddresses)) + s.Require().True(haveSameElements([]wallet.SavedAddress{sa1, sa2}, savedAddresses, savedAddressDataIsEqual)) +} + +func (s *MessengerSyncSavedAddressesSuite) TestSyncDeletesOfSavedAddresses() { + var testChainID1 uint64 = 1 + var testAddress1 = common.Address{1} + var testAddress2 = common.Address{2} + + // Add saved addresses to main device + sa1 := wallet.SavedAddress{ + Address: testAddress1, + Name: "TestC1A1", + Favourite: false, + ChainID: testChainID1, + } + sa2 := wallet.SavedAddress{ + Address: testAddress2, + Name: "TestC1A2", + Favourite: true, + ChainID: testChainID1, + } + + err := s.main.UpsertSavedAddress(context.Background(), sa1) + s.Require().NoError(err) + err = s.main.UpsertSavedAddress(context.Background(), sa2) + s.Require().NoError(err) + + // Wait and check that saved addresses are synced + _, err = WaitOnMessengerResponse( + s.other, + func(r *MessengerResponse) bool { + if len(r.SavedAddresses) == 2 { + s.Require().True(haveSameElements([]wallet.SavedAddress{sa1, sa2}, []wallet.SavedAddress{*r.SavedAddresses[0], *r.SavedAddresses[1]}, savedAddressDataIsEqual)) + return true + } + return false + }, + "expected to receive two changes", + ) + s.Require().NoError(err) + + savedAddresses, err := s.other.savedAddressesManager.GetSavedAddresses() + s.Require().NoError(err) + s.Require().Equal(2, len(savedAddresses)) + + // Delete saved addresses from the other device + err = s.main.DeleteSavedAddress(context.Background(), sa1.ChainID, sa1.Address) + s.Require().NoError(err) + + // Wait and check that saved addresses are synced + _, err = WaitOnMessengerResponse( + s.other, + func(r *MessengerResponse) bool { + if len(r.SavedAddresses) == 1 { + // We expect the deleted event to report only address and chain ID + s.Require().Equal(sa1.Address, r.SavedAddresses[0].Address) + s.Require().Equal(sa1.ChainID, r.SavedAddresses[0].ChainID) + s.Require().Equal("", r.SavedAddresses[0].Name) + s.Require().Equal(false, r.SavedAddresses[0].Favourite) + return true + } + return false + }, + "expected to receive one change", + ) + s.Require().NoError(err) + + savedAddresses, err = s.other.savedAddressesManager.GetSavedAddresses() + s.Require().NoError(err) + s.Require().Equal(1, len(savedAddresses)) + s.Require().True(haveSameElements([]wallet.SavedAddress{sa2}, savedAddresses, savedAddressDataIsEqual)) +} diff --git a/protocol/messenger_test.go b/protocol/messenger_test.go index 39492421e..fdc12d53c 100644 --- a/protocol/messenger_test.go +++ b/protocol/messenger_test.go @@ -2390,6 +2390,7 @@ func (t *testTimeSource) GetCurrentTime() uint64 { return uint64(time.Now().Unix()) } +// WaitOnMessengerResponse Wait until the condition is true or the timeout is reached. func WaitOnMessengerResponse(m *Messenger, condition func(*MessengerResponse) bool, errorMessage string) (*MessengerResponse, error) { var response *MessengerResponse return response, tt.RetryWithBackOff(func() error { diff --git a/protocol/migrations/migrations.go b/protocol/migrations/migrations.go index d2d5134cb..4a460fd6b 100644 --- a/protocol/migrations/migrations.go +++ b/protocol/migrations/migrations.go @@ -149,7 +149,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(1664358295, 0)} + info := bindataFileInfo{name: "000001_init.down.db.sql", size: 65, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -169,7 +169,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(1664358295, 0)} + info := bindataFileInfo{name: "000001_init.up.db.sql", size: 2719, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -189,7 +189,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(1664358295, 0)} + info := bindataFileInfo{name: "000002_add_last_ens_clock_value.up.sql", size: 77, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -209,7 +209,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(1664358295, 0)} + info := bindataFileInfo{name: "1586358095_add_replace.up.sql", size: 224, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -229,7 +229,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(1664358295, 0)} + info := bindataFileInfo{name: "1588665364_add_image_data.up.sql", size: 186, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -249,7 +249,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(1664358295, 0)} + info := bindataFileInfo{name: "1589365189_add_pow_target.up.sql", size: 66, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -269,7 +269,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(1664358295, 0)} + info := bindataFileInfo{name: "1591277220_add_index_messages.up.sql", size: 240, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -289,7 +289,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(1664358295, 0)} + info := bindataFileInfo{name: "1593087212_add_mute_chat_and_raw_message_fields.up.sql", size: 215, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -309,7 +309,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(1664358295, 0)} + info := bindataFileInfo{name: "1595862781_add_audio_data.up.sql", size: 246, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -329,7 +329,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(1664358295, 0)} + info := bindataFileInfo{name: "1595865249_create_emoji_reactions_table.up.sql", size: 300, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -349,7 +349,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(1664358295, 0)} + info := bindataFileInfo{name: "1596805115_create_group_chat_invitations_table.up.sql", size: 231, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -369,7 +369,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(1664358295, 0)} + info := bindataFileInfo{name: "1597322655_add_invitation_admin_chat_field.up.sql", size: 54, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -389,7 +389,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(1664358295, 0)} + info := bindataFileInfo{name: "1597757544_add_nickname.up.sql", size: 52, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -409,7 +409,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(1664358295, 0)} + info := bindataFileInfo{name: "1598955122_add_mentions.up.sql", size: 52, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -429,7 +429,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(1664358295, 0)} + info := bindataFileInfo{name: "1599641390_add_emoji_reactions_index.up.sql", size: 126, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -449,7 +449,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(1664358295, 0)} + info := bindataFileInfo{name: "1599720851_add_seen_index_remove_long_messages.up.sql", size: 150, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -469,7 +469,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(1664358295, 0)} + info := bindataFileInfo{name: "1603198582_add_profile_chat_field.up.sql", size: 45, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -489,7 +489,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(1664358295, 0)} + info := bindataFileInfo{name: "1603816533_add_links.up.sql", size: 48, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -509,7 +509,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(1664358295, 0)} + info := bindataFileInfo{name: "1603888149_create_chat_identity_last_published_table.up.sql", size: 407, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -529,7 +529,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(1664358295, 0)} + info := bindataFileInfo{name: "1605075346_add_communities.up.sql", size: 6971, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -549,7 +549,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(1664358295, 0)} + info := bindataFileInfo{name: "1610117927_add_message_cache.up.sql", size: 142, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -569,7 +569,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(1664358295, 0)} + info := bindataFileInfo{name: "1610959908_add_dont_wrap_to_raw_messages.up.sql", size: 83, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -589,7 +589,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(1664358295, 0)} + info := bindataFileInfo{name: "1610960912_add_send_on_personal_topic.up.sql", size: 82, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -609,7 +609,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(1664358295, 0)} + info := bindataFileInfo{name: "1612870480_add_datasync_id.up.sql", size: 111, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -629,7 +629,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(1664358295, 0)} + info := bindataFileInfo{name: "1614152139_add_communities_request_to_join.up.sql", size: 831, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -649,7 +649,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(1664358295, 0)} + info := bindataFileInfo{name: "1615374373_add_confirmations.up.sql", size: 227, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -669,7 +669,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(1664358295, 0)} + info := bindataFileInfo{name: "1617694931_add_notification_center.up.sql", size: 572, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -689,7 +689,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(1664358295, 0)} + info := bindataFileInfo{name: "1618923660_create_pin_messages.up.sql", size: 265, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -709,7 +709,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(1664358295, 0)} + info := bindataFileInfo{name: "1619094007_add_joined_chat_field.up.sql", size: 101, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -729,7 +729,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(1664358295, 0)} + info := bindataFileInfo{name: "1619099821_add_last_synced_field.up.sql", size: 226, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -749,7 +749,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(1664358295, 0)} + info := bindataFileInfo{name: "1621933219_add_mentioned.up.sql", size: 70, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -769,7 +769,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(1664358295, 0)} + info := bindataFileInfo{name: "1622010048_add_unviewed_mentions_count.up.sql", size: 114, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -789,7 +789,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(1664358295, 0)} + info := bindataFileInfo{name: "1622061278_add_message_activity_center_notification_field.up.sql", size: 80, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -809,7 +809,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(1664358295, 0)} + info := bindataFileInfo{name: "1622464518_set_synced_to_from.up.sql", size: 105, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -829,7 +829,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(1664358295, 0)} + info := bindataFileInfo{name: "1622464519_add_chat_description.up.sql", size: 93, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -849,7 +849,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(1664358295, 0)} + info := bindataFileInfo{name: "1622622253_add_pinned_by_to_pin_messages.up.sql", size: 52, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -869,7 +869,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(1664358295, 0)} + info := bindataFileInfo{name: "1623938329_add_author_activity_center_notification_field.up.sql", size: 66, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -889,7 +889,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(1664358295, 0)} + info := bindataFileInfo{name: "1623938330_add_edit_messages.up.sql", size: 369, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -909,7 +909,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(1664358295, 0)} + info := bindataFileInfo{name: "1624978434_add_muted_community.up.sql", size: 82, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -929,7 +929,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(1664358295, 0)} + info := bindataFileInfo{name: "1625018910_add_repply_message_activity_center_notification_field.up.sql", size: 86, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -949,7 +949,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(1664358295, 0)} + info := bindataFileInfo{name: "1625762506_add_deleted_messages.up.sql", size: 357, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -969,7 +969,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(1664358295, 0)} + info := bindataFileInfo{name: "1627388946_add_communities_synced_at.up.sql", size: 87, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -989,7 +989,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(1664358295, 0)} + info := bindataFileInfo{name: "1628280060_create-usermessages-index.sql", size: 80, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -1009,7 +1009,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(1664358295, 0)} + info := bindataFileInfo{name: "1632303896_modify_contacts_table.up.sql", size: 1574, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -1029,7 +1029,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(1664358295, 0)} + info := bindataFileInfo{name: "1633349838_add_emoji_column_in_chats.up.sql", size: 52, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -1049,7 +1049,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(1664358295, 0)} + info := bindataFileInfo{name: "1634831235_add_highlight_column_in_chats.up.sql", size: 62, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -1069,7 +1069,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(1664358295, 0)} + info := bindataFileInfo{name: "1634896007_add_last_updated_locally_and_removed.up.sql", size: 131, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -1089,7 +1089,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(1664358295, 0)} + info := bindataFileInfo{name: "1635840039_add_clock_read_at_column_in_chats.up.sql", size: 245, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -1109,7 +1109,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(1664358295, 0)} + info := bindataFileInfo{name: "1637852321_add_received_invitation_admin_column_in_chats.up.sql", size: 72, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -1129,7 +1129,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(1664358295, 0)} + info := bindataFileInfo{name: "1645034601_display_name.up.sql", size: 110, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -1149,7 +1149,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(1664358295, 0)} + info := bindataFileInfo{name: "1645034602_add_mutual_contact_request.up.sql", size: 454, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -1169,7 +1169,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(1664358295, 0)} + info := bindataFileInfo{name: "1650373957_add_contact_request_state.up.sql", size: 59, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -1189,7 +1189,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(1664358295, 0)} + info := bindataFileInfo{name: "1656958989_contact_verification.up.sql", size: 624, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -1209,7 +1209,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(1664358295, 0)} + info := bindataFileInfo{name: "1658236268_add_discord_message_authors_table.up.sql", size: 191, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -1229,7 +1229,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(1664358295, 0)} + info := bindataFileInfo{name: "1659619997_add_discord_messages_table.up.sql", size: 371, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -1249,7 +1249,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(1664358295, 0)} + info := bindataFileInfo{name: "1660226788_create_chat_identity_social_links.up.sql", size: 318, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -1269,7 +1269,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(1664358295, 0)} + info := bindataFileInfo{name: "1660226789_add_walletconnectsessions_table.up.sql", size: 215, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -1289,7 +1289,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(1664358295, 0)} + info := bindataFileInfo{name: "1661242854_add_communities_requests_to_leave.up.sql", size: 204, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -1309,7 +1309,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(1664358295, 0)} + info := bindataFileInfo{name: "1662044232_add_chat_image.up.sql", size: 49, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -1329,7 +1329,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(1664358295, 0)} + info := bindataFileInfo{name: "1662106895_add_chat_first_message_timestamp.up.sql", size: 113, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -1349,7 +1349,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(1664358295, 0)} + info := bindataFileInfo{name: "1662723928_add_discord_author_image_fields.up.sql", size: 75, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -1369,7 +1369,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(1665122380, 0)} + info := bindataFileInfo{name: "1664195977_add_deleted_for_mes.up.sql", size: 352, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -1389,7 +1389,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(1665122399, 0)} + info := bindataFileInfo{name: "1664367420_add_discord_attachments_table.up.sql", size: 350, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -1409,7 +1409,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(1665122399, 0)} + info := bindataFileInfo{name: "1665079662_add_spectated_column_in_communities.up.sql", size: 86, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -1429,7 +1429,7 @@ func readmeMd() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "README.md", size: 554, mode: os.FileMode(0644), modTime: time.Unix(1664358295, 0)} + info := bindataFileInfo{name: "README.md", size: 554, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 } @@ -1449,7 +1449,7 @@ func docGo() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "doc.go", size: 850, mode: os.FileMode(0644), modTime: time.Unix(1664358295, 0)} + info := bindataFileInfo{name: "doc.go", size: 850, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 9077025ee..4cb67a75c 100644 --- a/protocol/protobuf/application_metadata_message.pb.go +++ b/protocol/protobuf/application_metadata_message.pb.go @@ -82,6 +82,7 @@ const ( ApplicationMetadataMessage_SYNC_CONTACT_REQUEST_DECISION ApplicationMetadataMessage_Type = 56 ApplicationMetadataMessage_COMMUNITY_REQUEST_TO_LEAVE ApplicationMetadataMessage_Type = 57 ApplicationMetadataMessage_SYNC_DELETE_FOR_ME_MESSAGE ApplicationMetadataMessage_Type = 58 + ApplicationMetadataMessage_SYNC_SAVED_ADDRESS ApplicationMetadataMessage_Type = 59 ) var ApplicationMetadataMessage_Type_name = map[int32]string{ @@ -144,6 +145,7 @@ var ApplicationMetadataMessage_Type_name = map[int32]string{ 56: "SYNC_CONTACT_REQUEST_DECISION", 57: "COMMUNITY_REQUEST_TO_LEAVE", 58: "SYNC_DELETE_FOR_ME_MESSAGE", + 59: "SYNC_SAVED_ADDRESS", } var ApplicationMetadataMessage_Type_value = map[string]int32{ @@ -206,6 +208,7 @@ var ApplicationMetadataMessage_Type_value = map[string]int32{ "SYNC_CONTACT_REQUEST_DECISION": 56, "COMMUNITY_REQUEST_TO_LEAVE": 57, "SYNC_DELETE_FOR_ME_MESSAGE": 58, + "SYNC_SAVED_ADDRESS": 59, } func (x ApplicationMetadataMessage_Type) String() string { @@ -284,61 +287,61 @@ func init() { } var fileDescriptor_ad09a6406fcf24c7 = []byte{ - // 886 bytes of a gzipped FileDescriptorProto + // 896 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x55, 0x5b, 0x73, 0x13, 0x37, 0x14, 0x6e, 0x20, 0x4d, 0x40, 0xb9, 0xa0, 0x88, 0x5c, 0x9c, 0xbb, 0x31, 0x34, 0x04, 0x68, 0x4d, - 0x0b, 0xbd, 0x77, 0xfa, 0x20, 0x4b, 0x27, 0xb6, 0xf0, 0xae, 0xb4, 0x48, 0x5a, 0x33, 0xee, 0x8b, - 0x66, 0x29, 0x2e, 0x93, 0x19, 0x20, 0x1e, 0x62, 0x1e, 0xf2, 0x5b, 0xfa, 0x2b, 0xfa, 0x0f, 0x3b, - 0xda, 0xab, 0x6f, 0x81, 0xa7, 0x64, 0xcf, 0xf9, 0x74, 0x8e, 0xce, 0x77, 0xbe, 0x4f, 0x46, 0x8d, - 0x64, 0x38, 0x7c, 0x77, 0xfe, 0x77, 0x32, 0x3a, 0xbf, 0xf8, 0xe0, 0xde, 0x0f, 0x46, 0xc9, 0x9b, - 0x64, 0x94, 0xb8, 0xf7, 0x83, 0xcb, 0xcb, 0xe4, 0xed, 0xa0, 0x39, 0xfc, 0x78, 0x31, 0xba, 0x20, - 0xb7, 0xd2, 0x3f, 0xaf, 0x3f, 0xfd, 0xd3, 0xf8, 0x6f, 0x1d, 0xed, 0xd1, 0xea, 0x40, 0x98, 0xe3, - 0xc3, 0x0c, 0x4e, 0x0e, 0xd0, 0xed, 0xcb, 0xf3, 0xb7, 0x1f, 0x92, 0xd1, 0xa7, 0x8f, 0x83, 0xda, - 0x42, 0x7d, 0xe1, 0x74, 0x55, 0x57, 0x01, 0x52, 0x43, 0xcb, 0xc3, 0xe4, 0xea, 0xdd, 0x45, 0xf2, - 0xa6, 0x76, 0x23, 0xcd, 0x15, 0x9f, 0xe4, 0x4f, 0xb4, 0x38, 0xba, 0x1a, 0x0e, 0x6a, 0x37, 0xeb, - 0x0b, 0xa7, 0xeb, 0xcf, 0x1e, 0x35, 0x8b, 0x7e, 0xcd, 0xeb, 0x7b, 0x35, 0xed, 0xd5, 0x70, 0xa0, - 0xd3, 0x63, 0x8d, 0x7f, 0xd7, 0xd0, 0xa2, 0xff, 0x24, 0x2b, 0x68, 0x39, 0x96, 0x5d, 0xa9, 0x5e, - 0x49, 0xfc, 0x15, 0xc1, 0x68, 0x95, 0x75, 0xa8, 0x75, 0x21, 0x18, 0x43, 0xdb, 0x80, 0x17, 0x08, - 0x41, 0xeb, 0x4c, 0x49, 0x4b, 0x99, 0x75, 0x71, 0xc4, 0xa9, 0x05, 0x7c, 0x83, 0x1c, 0xa2, 0xdd, - 0x10, 0xc2, 0x16, 0x68, 0xd3, 0x11, 0x51, 0x1e, 0x2e, 0x8f, 0xdc, 0x24, 0x5b, 0x68, 0x23, 0xa2, - 0x42, 0x3b, 0x21, 0x8d, 0xa5, 0x41, 0x40, 0xad, 0x50, 0x12, 0x2f, 0xfa, 0xb0, 0xe9, 0x4b, 0x36, - 0x19, 0xfe, 0x9a, 0xdc, 0x47, 0xc7, 0x1a, 0x5e, 0xc6, 0x60, 0xac, 0xa3, 0x9c, 0x6b, 0x30, 0xc6, - 0x9d, 0x29, 0xed, 0xac, 0xa6, 0xd2, 0x50, 0x96, 0x82, 0x96, 0xc8, 0x63, 0x74, 0x42, 0x19, 0x83, - 0xc8, 0xba, 0x2f, 0x61, 0x97, 0xc9, 0x13, 0xf4, 0x90, 0x03, 0x0b, 0x84, 0x84, 0x2f, 0x82, 0x6f, - 0x91, 0x1d, 0x74, 0xb7, 0x00, 0x8d, 0x27, 0x6e, 0x93, 0x4d, 0x84, 0x0d, 0x48, 0x3e, 0x11, 0x45, - 0xe4, 0x18, 0xed, 0x4f, 0xd7, 0x1e, 0x07, 0xac, 0x78, 0x6a, 0x66, 0x86, 0x74, 0x39, 0x81, 0x78, - 0x75, 0x7e, 0x9a, 0x32, 0xa6, 0x62, 0x69, 0xf1, 0x1a, 0xb9, 0x87, 0x0e, 0x67, 0xd3, 0x51, 0xdc, - 0x0a, 0x04, 0x73, 0x7e, 0x2f, 0x78, 0x9d, 0x1c, 0xa1, 0xbd, 0x62, 0x1f, 0x4c, 0x71, 0x70, 0x94, - 0xf7, 0x40, 0x5b, 0x61, 0x20, 0x04, 0x69, 0xf1, 0x1d, 0xd2, 0x40, 0x47, 0x51, 0x6c, 0x3a, 0x4e, - 0x2a, 0x2b, 0xce, 0x04, 0xcb, 0x4a, 0x68, 0x68, 0x0b, 0x63, 0x75, 0x46, 0x39, 0xf6, 0x0c, 0x7d, - 0x1e, 0xe3, 0x34, 0x98, 0x48, 0x49, 0x03, 0x78, 0x83, 0xec, 0xa3, 0x9d, 0x59, 0xf0, 0xcb, 0x18, - 0x74, 0x1f, 0x13, 0xf2, 0x00, 0xd5, 0xaf, 0x49, 0x56, 0x25, 0xee, 0xfa, 0xa9, 0xe7, 0xf5, 0x4b, - 0xf9, 0xc3, 0x9b, 0x7e, 0xa4, 0x79, 0xe9, 0xfc, 0xf8, 0x96, 0x97, 0x20, 0x84, 0xea, 0x85, 0x70, - 0x1a, 0x72, 0x9e, 0xb7, 0xc9, 0x2e, 0xda, 0x6a, 0x6b, 0x15, 0x47, 0x29, 0x2d, 0x4e, 0xc8, 0x9e, - 0xb0, 0xd9, 0x74, 0x3b, 0x64, 0x03, 0xad, 0x65, 0x41, 0x0e, 0xd2, 0x0a, 0xdb, 0xc7, 0x35, 0x8f, - 0x66, 0x2a, 0x0c, 0x63, 0x29, 0x6c, 0xdf, 0x71, 0x30, 0x4c, 0x8b, 0x28, 0x45, 0xef, 0x92, 0x1a, - 0xda, 0xac, 0x52, 0x63, 0x75, 0xf6, 0xfc, 0xad, 0xab, 0x4c, 0xb9, 0x6d, 0xe5, 0x5e, 0x28, 0x21, - 0xf1, 0x3e, 0xb9, 0x83, 0x56, 0x22, 0x21, 0x4b, 0xd9, 0x1f, 0x78, 0xef, 0x00, 0x17, 0x95, 0x77, - 0x0e, 0xfd, 0x4d, 0x8c, 0xa5, 0x36, 0x36, 0x85, 0x75, 0x8e, 0xfc, 0x2c, 0x1c, 0x02, 0x18, 0xf3, - 0xcb, 0xb1, 0x17, 0xd5, 0x3c, 0xcd, 0xe4, 0xad, 0x71, 0x9d, 0xec, 0xa1, 0x6d, 0x2a, 0x95, 0xec, - 0x87, 0x2a, 0x36, 0x2e, 0x04, 0xab, 0x05, 0x73, 0x2d, 0x6a, 0x59, 0x07, 0xdf, 0x2b, 0x5d, 0x95, - 0x8e, 0xac, 0x21, 0x54, 0x3d, 0xe0, 0xb8, 0xe1, 0xb7, 0x56, 0x85, 0xf3, 0x56, 0xc6, 0x13, 0xc8, - 0xf1, 0x7d, 0x82, 0xd0, 0x52, 0x8b, 0xb2, 0x6e, 0x1c, 0xe1, 0x07, 0xa5, 0x22, 0x3d, 0xb3, 0x3d, - 0x3f, 0x29, 0x03, 0x69, 0x41, 0x67, 0xd0, 0x6f, 0x4a, 0x45, 0x4e, 0xa7, 0x33, 0x37, 0x02, 0xc7, - 0x27, 0x5e, 0x71, 0x73, 0x21, 0x5c, 0x98, 0x50, 0x18, 0x03, 0x1c, 0x3f, 0x4c, 0x99, 0xf0, 0x98, - 0x96, 0x52, 0xdd, 0x90, 0xea, 0x2e, 0x3e, 0x25, 0xdb, 0x88, 0x64, 0x37, 0x0c, 0x80, 0x6a, 0xd7, - 0x11, 0xc6, 0x2a, 0xdd, 0xc7, 0x8f, 0x3c, 0x8d, 0x69, 0xdc, 0x80, 0xb5, 0x42, 0xb6, 0xf1, 0x63, - 0x52, 0x47, 0x07, 0xd5, 0x22, 0xa8, 0x66, 0x1d, 0xd1, 0x03, 0x17, 0xd2, 0xb6, 0x04, 0x1b, 0x08, - 0xd9, 0xc5, 0x4f, 0xfc, 0x12, 0xd3, 0x33, 0x91, 0x56, 0x67, 0x22, 0x00, 0x17, 0x09, 0x66, 0x63, - 0x0d, 0xf8, 0x5b, 0xef, 0xef, 0x34, 0xf3, 0x8a, 0x06, 0x01, 0xd8, 0xd2, 0x6a, 0xdf, 0xa5, 0x9c, - 0x66, 0x2f, 0x4a, 0x61, 0xa7, 0x42, 0x90, 0x4d, 0x4f, 0x9e, 0x06, 0xab, 0x33, 0x8f, 0x4d, 0x26, - 0x9f, 0x92, 0x13, 0xd4, 0xb8, 0x56, 0x16, 0x95, 0x6a, 0xbf, 0xaf, 0x36, 0x50, 0x82, 0xf3, 0x89, - 0x0c, 0xfe, 0xc1, 0x8f, 0x54, 0x1c, 0x2d, 0x3a, 0xf4, 0x40, 0x97, 0xea, 0xc7, 0xcf, 0xbc, 0x28, - 0xa6, 0xee, 0x37, 0x01, 0x78, 0xee, 0x4b, 0x14, 0x4f, 0xd1, 0x5c, 0xc4, 0x8f, 0xa5, 0x34, 0xac, - 0x8e, 0x8d, 0x05, 0xee, 0x62, 0x03, 0x1a, 0xff, 0x54, 0x6e, 0x7c, 0x1c, 0x5d, 0xce, 0xf7, 0x73, - 0xc6, 0xf6, 0x6c, 0xbd, 0xa2, 0x0a, 0xfe, 0xa5, 0xd4, 0xc4, 0x14, 0x37, 0x8e, 0x03, 0x13, 0xc6, - 0xb7, 0xfe, 0x35, 0x7b, 0xa5, 0xe6, 0x90, 0x14, 0x00, 0xed, 0x01, 0xfe, 0xcd, 0xe7, 0xd3, 0x12, - 0xb9, 0x17, 0xfc, 0xbb, 0x1c, 0x56, 0x96, 0xf8, 0xbd, 0xb5, 0xf6, 0xd7, 0x4a, 0xf3, 0xe9, 0x1f, - 0xc5, 0x4f, 0xda, 0xeb, 0xa5, 0xf4, 0xbf, 0xe7, 0xff, 0x07, 0x00, 0x00, 0xff, 0xff, 0xab, 0xfa, - 0x43, 0xb6, 0x79, 0x07, 0x00, 0x00, + 0x0b, 0xbd, 0x33, 0x7d, 0x90, 0xa5, 0x13, 0x5b, 0x78, 0x57, 0x5a, 0x24, 0xed, 0x32, 0xee, 0x8b, + 0x66, 0x29, 0x2e, 0x93, 0x19, 0x20, 0x1e, 0x62, 0x1e, 0xf2, 0xbb, 0xfa, 0x2b, 0xfa, 0xaf, 0x3a, + 0xda, 0xab, 0x13, 0x3b, 0xe5, 0x29, 0xd9, 0x73, 0x3e, 0x9d, 0xa3, 0xf3, 0x9d, 0xef, 0x93, 0x51, + 0x2b, 0x1d, 0x8d, 0xde, 0x9f, 0xfe, 0x95, 0x8e, 0x4f, 0xcf, 0x3e, 0xba, 0x0f, 0xc3, 0x71, 0xfa, + 0x36, 0x1d, 0xa7, 0xee, 0xc3, 0xf0, 0xfc, 0x3c, 0x7d, 0x37, 0x6c, 0x8f, 0x3e, 0x9d, 0x8d, 0xcf, + 0xc8, 0xad, 0xec, 0xcf, 0x9b, 0xcf, 0x7f, 0xb7, 0xfe, 0x5d, 0x45, 0x3b, 0xb4, 0x3e, 0x10, 0x16, + 0xf8, 0x30, 0x87, 0x93, 0x3d, 0x74, 0xfb, 0xfc, 0xf4, 0xdd, 0xc7, 0x74, 0xfc, 0xf9, 0xd3, 0xb0, + 0x31, 0xd7, 0x9c, 0x3b, 0x5e, 0xd6, 0x75, 0x80, 0x34, 0xd0, 0xe2, 0x28, 0xbd, 0x78, 0x7f, 0x96, + 0xbe, 0x6d, 0xdc, 0xc8, 0x72, 0xe5, 0x27, 0xf9, 0x03, 0xcd, 0x8f, 0x2f, 0x46, 0xc3, 0xc6, 0xcd, + 0xe6, 0xdc, 0xf1, 0xea, 0xb3, 0x47, 0xed, 0xb2, 0x5f, 0xfb, 0xfa, 0x5e, 0x6d, 0x7b, 0x31, 0x1a, + 0xea, 0xec, 0x58, 0xeb, 0x9f, 0x15, 0x34, 0xef, 0x3f, 0xc9, 0x12, 0x5a, 0x8c, 0x65, 0x5f, 0xaa, + 0xd7, 0x12, 0x7f, 0x45, 0x30, 0x5a, 0x66, 0x3d, 0x6a, 0x5d, 0x08, 0xc6, 0xd0, 0x2e, 0xe0, 0x39, + 0x42, 0xd0, 0x2a, 0x53, 0xd2, 0x52, 0x66, 0x5d, 0x1c, 0x71, 0x6a, 0x01, 0xdf, 0x20, 0xfb, 0x68, + 0x3b, 0x84, 0xb0, 0x03, 0xda, 0xf4, 0x44, 0x54, 0x84, 0xab, 0x23, 0x37, 0xc9, 0x06, 0x5a, 0x8b, + 0xa8, 0xd0, 0x4e, 0x48, 0x63, 0x69, 0x10, 0x50, 0x2b, 0x94, 0xc4, 0xf3, 0x3e, 0x6c, 0x06, 0x92, + 0x5d, 0x0e, 0x7f, 0x4d, 0xee, 0xa3, 0x43, 0x0d, 0xaf, 0x62, 0x30, 0xd6, 0x51, 0xce, 0x35, 0x18, + 0xe3, 0x4e, 0x94, 0x76, 0x56, 0x53, 0x69, 0x28, 0xcb, 0x40, 0x0b, 0xe4, 0x31, 0x3a, 0xa2, 0x8c, + 0x41, 0x64, 0xdd, 0x97, 0xb0, 0x8b, 0xe4, 0x09, 0x7a, 0xc8, 0x81, 0x05, 0x42, 0xc2, 0x17, 0xc1, + 0xb7, 0xc8, 0x16, 0xba, 0x5b, 0x82, 0x26, 0x13, 0xb7, 0xc9, 0x3a, 0xc2, 0x06, 0x24, 0xbf, 0x14, + 0x45, 0xe4, 0x10, 0xed, 0x5e, 0xad, 0x3d, 0x09, 0x58, 0xf2, 0xd4, 0x4c, 0x0d, 0xe9, 0x0a, 0x02, + 0xf1, 0xf2, 0xec, 0x34, 0x65, 0x4c, 0xc5, 0xd2, 0xe2, 0x15, 0x72, 0x0f, 0xed, 0x4f, 0xa7, 0xa3, + 0xb8, 0x13, 0x08, 0xe6, 0xfc, 0x5e, 0xf0, 0x2a, 0x39, 0x40, 0x3b, 0xe5, 0x3e, 0x98, 0xe2, 0xe0, + 0x28, 0x4f, 0x40, 0x5b, 0x61, 0x20, 0x04, 0x69, 0xf1, 0x1d, 0xd2, 0x42, 0x07, 0x51, 0x6c, 0x7a, + 0x4e, 0x2a, 0x2b, 0x4e, 0x04, 0xcb, 0x4b, 0x68, 0xe8, 0x0a, 0x63, 0x75, 0x4e, 0x39, 0xf6, 0x0c, + 0xfd, 0x3f, 0xc6, 0x69, 0x30, 0x91, 0x92, 0x06, 0xf0, 0x1a, 0xd9, 0x45, 0x5b, 0xd3, 0xe0, 0x57, + 0x31, 0xe8, 0x01, 0x26, 0xe4, 0x01, 0x6a, 0x5e, 0x93, 0xac, 0x4b, 0xdc, 0xf5, 0x53, 0xcf, 0xea, + 0x97, 0xf1, 0x87, 0xd7, 0xfd, 0x48, 0xb3, 0xd2, 0xc5, 0xf1, 0x0d, 0x2f, 0x41, 0x08, 0xd5, 0x4b, + 0xe1, 0x34, 0x14, 0x3c, 0x6f, 0x92, 0x6d, 0xb4, 0xd1, 0xd5, 0x2a, 0x8e, 0x32, 0x5a, 0x9c, 0x90, + 0x89, 0xb0, 0xf9, 0x74, 0x5b, 0x64, 0x0d, 0xad, 0xe4, 0x41, 0x0e, 0xd2, 0x0a, 0x3b, 0xc0, 0x0d, + 0x8f, 0x66, 0x2a, 0x0c, 0x63, 0x29, 0xec, 0xc0, 0x71, 0x30, 0x4c, 0x8b, 0x28, 0x43, 0x6f, 0x93, + 0x06, 0x5a, 0xaf, 0x53, 0x13, 0x75, 0x76, 0xfc, 0xad, 0xeb, 0x4c, 0xb5, 0x6d, 0xe5, 0x5e, 0x2a, + 0x21, 0xf1, 0x2e, 0xb9, 0x83, 0x96, 0x22, 0x21, 0x2b, 0xd9, 0xef, 0x79, 0xef, 0x00, 0x17, 0xb5, + 0x77, 0xf6, 0xfd, 0x4d, 0x8c, 0xa5, 0x36, 0x36, 0xa5, 0x75, 0x0e, 0xfc, 0x2c, 0x1c, 0x02, 0x98, + 0xf0, 0xcb, 0xa1, 0x17, 0xd5, 0x2c, 0xcd, 0x14, 0xad, 0x71, 0x93, 0xec, 0xa0, 0x4d, 0x2a, 0x95, + 0x1c, 0x84, 0x2a, 0x36, 0x2e, 0x04, 0xab, 0x05, 0x73, 0x1d, 0x6a, 0x59, 0x0f, 0xdf, 0xab, 0x5c, + 0x95, 0x8d, 0xac, 0x21, 0x54, 0x09, 0x70, 0xdc, 0xf2, 0x5b, 0xab, 0xc3, 0x45, 0x2b, 0xe3, 0x09, + 0xe4, 0xf8, 0x3e, 0x41, 0x68, 0xa1, 0x43, 0x59, 0x3f, 0x8e, 0xf0, 0x83, 0x4a, 0x91, 0x9e, 0xd9, + 0xc4, 0x4f, 0xca, 0x40, 0x5a, 0xd0, 0x39, 0xf4, 0x9b, 0x4a, 0x91, 0x57, 0xd3, 0xb9, 0x1b, 0x81, + 0xe3, 0x23, 0xaf, 0xb8, 0x99, 0x10, 0x2e, 0x4c, 0x28, 0x8c, 0x01, 0x8e, 0x1f, 0x66, 0x4c, 0x78, + 0x4c, 0x47, 0xa9, 0x7e, 0x48, 0x75, 0x1f, 0x1f, 0x93, 0x4d, 0x44, 0xf2, 0x1b, 0x06, 0x40, 0xb5, + 0xeb, 0x09, 0x63, 0x95, 0x1e, 0xe0, 0x47, 0x9e, 0xc6, 0x2c, 0x6e, 0xc0, 0x5a, 0x21, 0xbb, 0xf8, + 0x31, 0x69, 0xa2, 0xbd, 0x7a, 0x11, 0x54, 0xb3, 0x9e, 0x48, 0xc0, 0x85, 0xb4, 0x2b, 0xc1, 0x06, + 0x42, 0xf6, 0xf1, 0x13, 0xbf, 0xc4, 0xec, 0x4c, 0xa4, 0xd5, 0x89, 0x08, 0xc0, 0x45, 0x82, 0xd9, + 0x58, 0x03, 0xfe, 0xd6, 0xfb, 0x3b, 0xcb, 0xbc, 0xa6, 0x41, 0x00, 0xb6, 0xb2, 0xda, 0x77, 0x19, + 0xa7, 0xf9, 0x8b, 0x52, 0xda, 0xa9, 0x14, 0x64, 0xdb, 0x93, 0xa7, 0xc1, 0xea, 0xdc, 0x63, 0x97, + 0x93, 0x4f, 0xc9, 0x11, 0x6a, 0x5d, 0x2b, 0x8b, 0x5a, 0xb5, 0xdf, 0xd7, 0x1b, 0xa8, 0xc0, 0xc5, + 0x44, 0x06, 0xff, 0xe0, 0x47, 0x2a, 0x8f, 0x96, 0x1d, 0x12, 0xd0, 0x95, 0xfa, 0xf1, 0x33, 0x2f, + 0x8a, 0x2b, 0xf7, 0xbb, 0x04, 0x78, 0xee, 0x4b, 0x94, 0x4f, 0xd1, 0x4c, 0xc4, 0x8f, 0x95, 0x34, + 0xac, 0x8e, 0x8d, 0x05, 0xee, 0x62, 0x03, 0x1a, 0xff, 0x54, 0x6d, 0x7c, 0x12, 0x5d, 0xcd, 0xf7, + 0x73, 0xce, 0xf6, 0x74, 0xbd, 0xb2, 0x0a, 0xfe, 0xa5, 0xd2, 0xc4, 0x15, 0x6e, 0x1c, 0x07, 0x26, + 0x8c, 0x6f, 0xfd, 0x6b, 0xfe, 0x4a, 0xcd, 0x20, 0x29, 0x00, 0x9a, 0x00, 0xfe, 0xcd, 0xe7, 0xb3, + 0x12, 0x85, 0x17, 0xfc, 0xbb, 0x1c, 0xd6, 0x96, 0xf8, 0xbd, 0x12, 0x87, 0xa1, 0x09, 0xf0, 0xf2, + 0xf9, 0xc6, 0x2f, 0x3a, 0x2b, 0x7f, 0x2e, 0xb5, 0x9f, 0xbe, 0x28, 0x7f, 0xea, 0xde, 0x2c, 0x64, + 0xff, 0x3d, 0xff, 0x2f, 0x00, 0x00, 0xff, 0xff, 0x3f, 0x0a, 0x35, 0x64, 0x91, 0x07, 0x00, 0x00, } diff --git a/protocol/protobuf/application_metadata_message.proto b/protocol/protobuf/application_metadata_message.proto index 953bfedd6..5e592899f 100644 --- a/protocol/protobuf/application_metadata_message.proto +++ b/protocol/protobuf/application_metadata_message.proto @@ -72,5 +72,6 @@ message ApplicationMetadataMessage { SYNC_CONTACT_REQUEST_DECISION = 56; COMMUNITY_REQUEST_TO_LEAVE = 57; SYNC_DELETE_FOR_ME_MESSAGE = 58; + SYNC_SAVED_ADDRESS = 59; } } diff --git a/protocol/protobuf/pairing.pb.go b/protocol/protobuf/pairing.pb.go index e4fa47cbe..1b4f4a7f1 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{23, 0} + return fileDescriptor_d61ab7221f0b5518, []int{24, 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{24, 0} + return fileDescriptor_d61ab7221f0b5518, []int{25, 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{25, 0} + return fileDescriptor_d61ab7221f0b5518, []int{26, 0} } type Backup struct { @@ -1826,6 +1826,85 @@ func (m *SyncWalletAccounts) GetAccounts() []*SyncWalletAccount { return nil } +type SyncSavedAddress struct { + Address []byte `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Favourite bool `protobuf:"varint,3,opt,name=favourite,proto3" json:"favourite,omitempty"` + ChainId uint64 `protobuf:"varint,4,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"` + Removed bool `protobuf:"varint,5,opt,name=removed,proto3" json:"removed,omitempty"` + UpdateClock uint64 `protobuf:"varint,7,opt,name=update_clock,json=updateClock,proto3" json:"update_clock,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +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{22} +} + +func (m *SyncSavedAddress) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SyncSavedAddress.Unmarshal(m, b) +} +func (m *SyncSavedAddress) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SyncSavedAddress.Marshal(b, m, deterministic) +} +func (m *SyncSavedAddress) XXX_Merge(src proto.Message) { + xxx_messageInfo_SyncSavedAddress.Merge(m, src) +} +func (m *SyncSavedAddress) XXX_Size() int { + return xxx_messageInfo_SyncSavedAddress.Size(m) +} +func (m *SyncSavedAddress) XXX_DiscardUnknown() { + xxx_messageInfo_SyncSavedAddress.DiscardUnknown(m) +} + +var xxx_messageInfo_SyncSavedAddress proto.InternalMessageInfo + +func (m *SyncSavedAddress) GetAddress() []byte { + if m != nil { + return m.Address + } + return nil +} + +func (m *SyncSavedAddress) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *SyncSavedAddress) GetFavourite() bool { + if m != nil { + return m.Favourite + } + return false +} + +func (m *SyncSavedAddress) GetChainId() uint64 { + if m != nil { + return m.ChainId + } + return 0 +} + +func (m *SyncSavedAddress) GetRemoved() bool { + if m != nil { + return m.Removed + } + return false +} + +func (m *SyncSavedAddress) GetUpdateClock() uint64 { + if m != nil { + return m.UpdateClock + } + return 0 +} + type SyncCommunitySettings struct { Clock uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"` CommunityId string `protobuf:"bytes,2,opt,name=community_id,json=communityId,proto3" json:"community_id,omitempty"` @@ -1839,7 +1918,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{22} + return fileDescriptor_d61ab7221f0b5518, []int{23} } func (m *SyncCommunitySettings) XXX_Unmarshal(b []byte) error { @@ -1894,7 +1973,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{23} + return fileDescriptor_d61ab7221f0b5518, []int{24} } func (m *SyncTrustedUser) XXX_Unmarshal(b []byte) error { @@ -1954,7 +2033,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{24} + return fileDescriptor_d61ab7221f0b5518, []int{25} } func (m *SyncVerificationRequest) XXX_Unmarshal(b []byte) error { @@ -2044,7 +2123,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{25} + return fileDescriptor_d61ab7221f0b5518, []int{26} } func (m *SyncContactRequestDecision) XXX_Unmarshal(b []byte) error { @@ -2115,6 +2194,7 @@ func init() { proto.RegisterType((*SyncProfilePictures)(nil), "protobuf.SyncProfilePictures") proto.RegisterType((*SyncWalletAccount)(nil), "protobuf.SyncWalletAccount") proto.RegisterType((*SyncWalletAccounts)(nil), "protobuf.SyncWalletAccounts") + proto.RegisterType((*SyncSavedAddress)(nil), "protobuf.SyncSavedAddress") proto.RegisterType((*SyncCommunitySettings)(nil), "protobuf.SyncCommunitySettings") proto.RegisterType((*SyncTrustedUser)(nil), "protobuf.SyncTrustedUser") proto.RegisterType((*SyncVerificationRequest)(nil), "protobuf.SyncVerificationRequest") @@ -2126,123 +2206,128 @@ func init() { } var fileDescriptor_d61ab7221f0b5518 = []byte{ - // 1887 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x57, 0x4f, 0x73, 0x1b, 0x49, - 0x15, 0xdf, 0xd1, 0xc8, 0xfa, 0xf3, 0x24, 0xd9, 0xda, 0xde, 0x90, 0xcc, 0x3a, 0x49, 0xc5, 0x3b, - 0x61, 0x6b, 0x7d, 0x00, 0x2f, 0x95, 0x85, 0x5a, 0xd8, 0xec, 0x16, 0xab, 0xc8, 0xaa, 0x8d, 0x36, - 0x89, 0xe2, 0x1a, 0xdb, 0x09, 0x50, 0x54, 0x4d, 0xb5, 0x67, 0x3a, 0x56, 0xa3, 0xd1, 0xcc, 0x30, - 0xdd, 0x72, 0x18, 0x3e, 0x00, 0x27, 0x0e, 0x14, 0x17, 0xae, 0x9c, 0xe1, 0xc6, 0x99, 0x0f, 0xc0, - 0x8d, 0x03, 0x47, 0x28, 0x3e, 0x00, 0x9f, 0x82, 0x7a, 0xdd, 0x3d, 0xd2, 0x8c, 0x2d, 0x19, 0x53, - 0x9c, 0x38, 0x4d, 0xbf, 0x37, 0xaf, 0x5f, 0xbf, 0x7e, 0x7f, 0x7f, 0x0d, 0xbd, 0x94, 0xf2, 0x8c, - 0xc7, 0xe7, 0x07, 0x69, 0x96, 0xc8, 0x84, 0xb4, 0xd4, 0xe7, 0x6c, 0xf1, 0xc6, 0xfd, 0x83, 0x05, - 0x8d, 0x27, 0x34, 0x98, 0x2d, 0x52, 0x72, 0x0b, 0xb6, 0x82, 0x28, 0x09, 0x66, 0x8e, 0xb5, 0x67, - 0xed, 0xd7, 0x3d, 0x4d, 0x90, 0x6d, 0xa8, 0xf1, 0xd0, 0xa9, 0xed, 0x59, 0xfb, 0x6d, 0xaf, 0xc6, - 0x43, 0xf2, 0x43, 0x68, 0x05, 0x49, 0x2c, 0x69, 0x20, 0x85, 0x63, 0xef, 0xd9, 0xfb, 0x9d, 0x47, - 0x0f, 0x0f, 0x0a, 0x6d, 0x07, 0xc7, 0x79, 0x1c, 0x8c, 0x63, 0x21, 0x69, 0x14, 0x51, 0xc9, 0x93, - 0x78, 0xa8, 0x25, 0x5f, 0x3d, 0xf2, 0x96, 0x9b, 0xc8, 0x0f, 0xa0, 0x13, 0x24, 0xf3, 0xf9, 0x22, - 0xe6, 0x92, 0x33, 0xe1, 0xd4, 0x95, 0x8e, 0x3b, 0x55, 0x1d, 0x43, 0x23, 0x90, 0x7b, 0x65, 0x59, - 0xf7, 0xcf, 0x75, 0xe8, 0xbe, 0x58, 0x44, 0x92, 0x0f, 0x82, 0x20, 0x59, 0xc4, 0x92, 0x10, 0xa8, - 0xc7, 0x74, 0xce, 0x94, 0xc5, 0x6d, 0x4f, 0xad, 0xc9, 0x3d, 0x68, 0x4b, 0x3e, 0x67, 0x42, 0xd2, - 0x79, 0xaa, 0xec, 0xb6, 0xbd, 0x15, 0x03, 0xff, 0xf2, 0x90, 0xc5, 0x92, 0x07, 0x49, 0xec, 0xd8, - 0x6a, 0xdb, 0x8a, 0x41, 0xbe, 0x04, 0x08, 0x92, 0x28, 0xc9, 0xfc, 0x29, 0x15, 0x53, 0x63, 0xda, - 0x07, 0x2b, 0xd3, 0xca, 0x67, 0x1f, 0x0c, 0x93, 0x28, 0x59, 0x64, 0x4f, 0xa9, 0x98, 0x7a, 0x6d, - 0xb5, 0x09, 0x97, 0xc4, 0x81, 0xa6, 0x22, 0xc6, 0xa1, 0xb3, 0xa5, 0xce, 0x2e, 0x48, 0xf2, 0x11, - 0xec, 0xcc, 0x58, 0x1e, 0xd0, 0x2c, 0xf4, 0x4d, 0x30, 0x9c, 0x86, 0x3a, 0x7f, 0xdb, 0xb0, 0x8f, - 0x34, 0x97, 0xdc, 0x81, 0xe6, 0x8c, 0xe5, 0xfe, 0x82, 0x87, 0x4e, 0x53, 0x09, 0x34, 0x66, 0x2c, - 0x3f, 0xe5, 0x21, 0xf9, 0x1c, 0x1a, 0x7c, 0x4e, 0xcf, 0x99, 0x70, 0x5a, 0xca, 0xb2, 0x6f, 0x6e, - 0xb0, 0x6c, 0xac, 0xee, 0x23, 0xf3, 0x31, 0x0a, 0x7b, 0x66, 0xcf, 0xae, 0x0b, 0xb0, 0x32, 0x19, - 0x83, 0xcd, 0xe3, 0x90, 0xfd, 0xc2, 0xb1, 0xf6, 0xec, 0x7d, 0xdb, 0xd3, 0xc4, 0xee, 0xdf, 0x2d, - 0xe8, 0x55, 0x76, 0x97, 0x8d, 0xb1, 0x2a, 0xc6, 0x14, 0xae, 0xaf, 0x95, 0x5c, 0xef, 0x40, 0x33, - 0xa5, 0x79, 0x94, 0xd0, 0x50, 0xb9, 0xb6, 0xeb, 0x15, 0x24, 0x1e, 0xf7, 0x96, 0x87, 0x12, 0x7d, - 0x8a, 0x4e, 0xd1, 0x04, 0xb9, 0x0d, 0x8d, 0x29, 0xe3, 0xe7, 0x53, 0x69, 0x7c, 0x65, 0x28, 0xb2, - 0x0b, 0xad, 0x37, 0x3c, 0x62, 0x82, 0xff, 0x92, 0x29, 0x1f, 0xd9, 0xde, 0x92, 0x26, 0x0f, 0xa1, - 0x97, 0xa9, 0x95, 0x2f, 0x69, 0x76, 0xce, 0xa4, 0xf2, 0x91, 0xed, 0x75, 0x35, 0xf3, 0x44, 0xf1, - 0x56, 0xa9, 0xdc, 0x2a, 0xa5, 0xb2, 0xfb, 0x37, 0x0b, 0xde, 0x7b, 0x9e, 0x04, 0x34, 0x32, 0x9e, - 0x3e, 0x32, 0xc6, 0x7d, 0x0f, 0xea, 0x33, 0x96, 0x0b, 0xe5, 0x8a, 0x4a, 0xbc, 0xd7, 0x08, 0x1f, - 0x3c, 0x63, 0xb9, 0xa7, 0xc4, 0xc9, 0x67, 0xd0, 0x9d, 0xa3, 0xdb, 0xa9, 0x76, 0xbb, 0xf2, 0x44, - 0xe7, 0xd1, 0xed, 0xf5, 0x41, 0xf1, 0x2a, 0xb2, 0x78, 0xc3, 0x94, 0x0a, 0xf1, 0x36, 0xc9, 0x42, - 0x93, 0x85, 0x4b, 0x7a, 0xf7, 0xdb, 0x60, 0x3f, 0x63, 0xf9, 0xda, 0xdc, 0x26, 0x50, 0x0f, 0xa9, - 0xa4, 0xea, 0xa8, 0xae, 0xa7, 0xd6, 0xee, 0xaf, 0x2c, 0xe8, 0xa3, 0x8d, 0xe5, 0xba, 0xdb, 0x50, - 0xcb, 0x1f, 0xc1, 0x0e, 0x2f, 0x49, 0xf9, 0xcb, 0xc2, 0xde, 0x2e, 0xb3, 0xc7, 0x21, 0x79, 0x00, - 0x9d, 0x90, 0x5d, 0xf0, 0x80, 0xf9, 0x32, 0x4f, 0x99, 0xb1, 0x10, 0x34, 0xeb, 0x24, 0x4f, 0xd9, - 0xd2, 0xb8, 0xfa, 0xca, 0x38, 0xf7, 0x5f, 0x16, 0xdc, 0xd9, 0xd0, 0x00, 0x6e, 0xd8, 0x5b, 0x1e, - 0x42, 0x2f, 0xcd, 0x12, 0x0c, 0xb5, 0xaf, 0x92, 0xd6, 0x1c, 0xdc, 0x35, 0x4c, 0x9d, 0x91, 0xef, - 0x43, 0x8b, 0xc5, 0xc2, 0x2f, 0x1d, 0xdf, 0x64, 0xb1, 0x98, 0xa0, 0x7b, 0x3e, 0x80, 0x6e, 0x44, - 0x85, 0xf4, 0x17, 0x69, 0x48, 0x25, 0xd3, 0x15, 0x58, 0xf7, 0x3a, 0xc8, 0x3b, 0xd5, 0x2c, 0xbc, - 0x99, 0xc8, 0x85, 0x64, 0x73, 0x5f, 0xd2, 0x73, 0xe1, 0x34, 0xf6, 0x6c, 0xbc, 0x99, 0x66, 0x9d, - 0xd0, 0x73, 0x41, 0x3e, 0x84, 0xed, 0x08, 0xc3, 0xee, 0xc7, 0x3c, 0x98, 0xa9, 0x43, 0x74, 0x11, - 0xf6, 0x14, 0x77, 0x62, 0x98, 0xee, 0x3f, 0x6d, 0x78, 0x7f, 0x63, 0xb7, 0x23, 0xdf, 0x81, 0x5b, - 0x65, 0x43, 0x7c, 0xb5, 0x37, 0xca, 0xcd, 0xed, 0x49, 0xc9, 0xa0, 0xe7, 0xfa, 0xcf, 0xff, 0xb1, - 0x2b, 0x30, 0xb6, 0x34, 0x0c, 0x59, 0xe8, 0xb4, 0xf7, 0xac, 0xfd, 0x96, 0xa7, 0x09, 0xec, 0x05, - 0x67, 0x18, 0x64, 0x16, 0x3a, 0xa0, 0xf8, 0x05, 0x89, 0xf2, 0xf3, 0x05, 0xda, 0xd4, 0xd1, 0xf2, - 0x8a, 0x40, 0xf9, 0x8c, 0xcd, 0x93, 0x0b, 0x16, 0x3a, 0x5d, 0x2d, 0x6f, 0x48, 0xb2, 0x07, 0xdd, - 0x29, 0x15, 0xbe, 0x52, 0xeb, 0x2f, 0x84, 0xd3, 0x53, 0xbf, 0x61, 0x4a, 0xc5, 0x00, 0x59, 0xa7, - 0x82, 0x7c, 0x0c, 0xef, 0x5d, 0xb0, 0x8c, 0xbf, 0xe1, 0x81, 0xce, 0x6b, 0x21, 0xa9, 0x5c, 0x08, - 0x67, 0x5b, 0x75, 0x06, 0x52, 0xfe, 0x75, 0xac, 0xfe, 0xa0, 0x77, 0x64, 0xb6, 0x10, 0xb2, 0x90, - 0xdc, 0x51, 0x92, 0x1d, 0xc5, 0xd3, 0x22, 0xee, 0xdb, 0xab, 0xc9, 0x5c, 0x4c, 0x9d, 0xf5, 0xc9, - 0x7c, 0x25, 0x62, 0xb5, 0x35, 0x11, 0xbb, 0x1c, 0x16, 0xfb, 0x4a, 0x58, 0xdc, 0x27, 0xb0, 0x7b, - 0xf9, 0xe0, 0xa3, 0xc5, 0x59, 0xc4, 0x83, 0xe1, 0x94, 0xde, 0xb0, 0x90, 0xdc, 0x5f, 0xdb, 0xd0, - 0xab, 0xcc, 0xd1, 0xff, 0xb8, 0xaf, 0xab, 0xb2, 0xee, 0x01, 0x74, 0xd2, 0x8c, 0x5f, 0x50, 0xc9, - 0xfc, 0x19, 0xcb, 0x4d, 0x13, 0x07, 0xc3, 0xc2, 0xa6, 0xb4, 0x87, 0x8d, 0x41, 0x04, 0x19, 0x4f, - 0xd1, 0x2e, 0x95, 0x74, 0x5d, 0xaf, 0xcc, 0xc2, 0x9e, 0xfe, 0xb3, 0x84, 0xc7, 0x26, 0xe5, 0x5a, - 0x9e, 0xa1, 0xb0, 0xe3, 0xe9, 0x40, 0xb0, 0x50, 0xf5, 0xf4, 0x96, 0xb7, 0xa4, 0x57, 0x19, 0xd1, - 0x2c, 0x67, 0xc4, 0x4b, 0xe8, 0x67, 0xec, 0xe7, 0x0b, 0x26, 0xa4, 0xf0, 0x65, 0xe2, 0xa3, 0x1e, - 0x33, 0xf8, 0x3e, 0xdc, 0x84, 0x16, 0x8c, 0xf8, 0x49, 0xf2, 0x75, 0xc2, 0x63, 0x6f, 0x3b, 0xab, - 0xd0, 0xe4, 0x31, 0xb4, 0x04, 0x93, 0x92, 0xc7, 0xe7, 0x42, 0xe5, 0x6a, 0xe7, 0xd1, 0x83, 0x0d, - 0x8a, 0x8e, 0x8d, 0x98, 0xb7, 0xdc, 0x80, 0xc0, 0x81, 0xc5, 0x41, 0x96, 0xa7, 0x72, 0x99, 0xd1, - 0x2b, 0x06, 0xfe, 0x15, 0x29, 0x0b, 0x24, 0x5d, 0xe5, 0xf5, 0x8a, 0xe1, 0xfe, 0xd5, 0x82, 0xbb, - 0xd7, 0x18, 0x6a, 0xc2, 0x60, 0x2d, 0xc3, 0x70, 0x1f, 0x20, 0x55, 0x21, 0x57, 0x51, 0xd0, 0x61, - 0x6d, 0x6b, 0x0e, 0x06, 0x61, 0x19, 0x4b, 0xbb, 0x1c, 0xcb, 0x6b, 0x9a, 0xc1, 0x1d, 0x68, 0x06, - 0x53, 0x2a, 0xb1, 0xdf, 0x6f, 0xe9, 0x21, 0x8e, 0xe4, 0x38, 0xc4, 0x74, 0x2c, 0xf0, 0x55, 0x8e, - 0x7f, 0x1b, 0x3a, 0x9e, 0x4b, 0xde, 0x58, 0xc5, 0x06, 0x8b, 0x44, 0xd7, 0x7e, 0xdd, 0xd3, 0x84, - 0xfb, 0xdb, 0x1a, 0xf4, 0x2f, 0x67, 0x29, 0xf9, 0xa2, 0x04, 0x0d, 0xaf, 0xcc, 0xd2, 0x0d, 0xcd, - 0xb2, 0x04, 0x0c, 0xbf, 0x82, 0xae, 0xb9, 0x35, 0x5a, 0x27, 0x9c, 0xda, 0x65, 0x90, 0xb3, 0xb9, - 0x2c, 0xbc, 0x4e, 0xba, 0x5c, 0x0b, 0xf2, 0x18, 0x9a, 0xc5, 0x4c, 0xb6, 0x55, 0x98, 0xaf, 0x31, - 0xa3, 0x18, 0xcf, 0xc5, 0x8e, 0xff, 0x05, 0x9e, 0x7e, 0x0a, 0x3b, 0xea, 0x2f, 0x1a, 0x64, 0x7a, - 0xd7, 0xcd, 0xca, 0xf5, 0x73, 0xb8, 0x55, 0x6c, 0x7c, 0xc1, 0x84, 0x40, 0xb8, 0xe6, 0x31, 0x7a, - 0xd3, 0xdd, 0x5f, 0xc2, 0x6d, 0xdc, 0x3d, 0x08, 0x24, 0xbf, 0xe0, 0x32, 0x1f, 0xb2, 0x58, 0xb2, - 0xec, 0x9a, 0xfd, 0x7d, 0xb0, 0x79, 0xa8, 0xdd, 0xdb, 0xf5, 0x70, 0xe9, 0x1e, 0xea, 0x96, 0x53, - 0xd5, 0x30, 0x08, 0x02, 0xa6, 0x72, 0xfb, 0xa6, 0x5a, 0x46, 0x3a, 0xc9, 0xab, 0x5a, 0x0e, 0xb9, - 0x98, 0x73, 0x21, 0xfe, 0x0b, 0x35, 0xbf, 0xb7, 0xa0, 0x8b, 0x7a, 0x9e, 0x24, 0xc9, 0x6c, 0x4e, - 0xb3, 0xd9, 0xe6, 0x8d, 0x8b, 0x2c, 0x32, 0x6e, 0xc0, 0xe5, 0x12, 0x93, 0xd8, 0x25, 0xc0, 0x74, - 0x17, 0xda, 0xaa, 0x19, 0xfb, 0x28, 0xab, 0xab, 0xa2, 0xa5, 0x18, 0xa7, 0x59, 0x54, 0x1e, 0x39, - 0x5b, 0xd5, 0x91, 0x73, 0x1f, 0x20, 0x64, 0x11, 0xc3, 0xd1, 0x4d, 0xa5, 0xaa, 0x8a, 0xba, 0xd7, - 0x36, 0x9c, 0x81, 0x74, 0xbf, 0xd6, 0xc9, 0x3f, 0x8c, 0x18, 0xcd, 0x9e, 0x72, 0x21, 0x93, 0x2c, - 0x2f, 0xd7, 0x98, 0x55, 0xa9, 0xb1, 0xfb, 0x00, 0x01, 0x0a, 0x6a, 0x5d, 0x35, 0xad, 0xcb, 0x70, - 0x06, 0xd2, 0xfd, 0x8b, 0x05, 0x04, 0x95, 0x1d, 0xe9, 0x31, 0x71, 0xc4, 0x03, 0xb9, 0xc8, 0xd8, - 0x5a, 0xf4, 0x57, 0x82, 0xd7, 0xb5, 0x0d, 0xf0, 0x1a, 0xef, 0xde, 0xbb, 0x0a, 0xaf, 0xeb, 0x8a, - 0x5d, 0xc0, 0xeb, 0xbb, 0xd0, 0x56, 0x63, 0x4a, 0xe1, 0xeb, 0x2d, 0xf5, 0x4b, 0xe1, 0xeb, 0xe3, - 0xb5, 0xf8, 0xba, 0xa1, 0x04, 0x36, 0xe0, 0xeb, 0x66, 0x19, 0x5f, 0x4f, 0xe1, 0xbd, 0xab, 0x37, - 0x11, 0x9b, 0x9f, 0x10, 0xdf, 0x87, 0x56, 0x6a, 0x84, 0x4c, 0xb1, 0xdf, 0xab, 0xd6, 0x59, 0x55, - 0x93, 0xb7, 0x94, 0x76, 0xff, 0x58, 0x83, 0x77, 0x51, 0xe0, 0x35, 0x8d, 0x22, 0x26, 0xaf, 0x9f, - 0xcb, 0x0e, 0x34, 0x69, 0x18, 0x66, 0x4c, 0x88, 0xc2, 0x6b, 0x86, 0x44, 0xff, 0xbc, 0x55, 0x0a, - 0x94, 0xdb, 0x5a, 0x9e, 0xa1, 0xd0, 0xf7, 0x18, 0x3b, 0xe5, 0xb5, 0x96, 0xa7, 0xd6, 0xc8, 0x53, - 0x50, 0x58, 0xf7, 0x4f, 0xb5, 0x46, 0xcd, 0x18, 0x7b, 0x9c, 0xf5, 0xfa, 0x25, 0x57, 0x90, 0x28, - 0x9d, 0x52, 0x39, 0x35, 0x78, 0x49, 0xad, 0x71, 0x44, 0x2c, 0x5b, 0xb8, 0x7a, 0x97, 0x74, 0xcb, - 0x3d, 0xbd, 0x88, 0x77, 0xbb, 0x14, 0x6f, 0xbc, 0x0f, 0x3e, 0x1e, 0xd5, 0xb8, 0x69, 0x7b, 0x9a, - 0x50, 0x51, 0xe5, 0x61, 0xc8, 0x62, 0x33, 0x67, 0x0c, 0xb5, 0x19, 0x40, 0xb9, 0x2f, 0x74, 0x86, - 0x55, 0x9c, 0x25, 0xc8, 0xa7, 0xd0, 0x32, 0x3d, 0xaf, 0xe8, 0xd6, 0x77, 0xab, 0xde, 0xaf, 0xc8, - 0x7b, 0x4b, 0x61, 0xf7, 0x77, 0x16, 0x7c, 0x63, 0xed, 0xb4, 0xdc, 0x10, 0x80, 0xcb, 0x43, 0x46, - 0x97, 0x6c, 0x65, 0xc8, 0x8c, 0xe0, 0xc1, 0x54, 0xd7, 0x91, 0x4f, 0xb3, 0x60, 0xca, 0x2f, 0x98, - 0x2f, 0x16, 0x69, 0x9a, 0x64, 0xd2, 0x67, 0x31, 0x3d, 0x8b, 0x0c, 0x52, 0x6a, 0x79, 0xf7, 0x8c, - 0xd8, 0x40, 0x4b, 0x1d, 0x6b, 0xa1, 0x91, 0x96, 0x71, 0xff, 0x64, 0xe9, 0x0e, 0x7c, 0x82, 0x38, - 0x0e, 0x91, 0x21, 0xcb, 0x6e, 0xf8, 0xf2, 0xf8, 0x02, 0x1a, 0x06, 0x0a, 0xe2, 0x39, 0xdb, 0x97, - 0x11, 0x46, 0x49, 0xe1, 0xc1, 0xc9, 0x0a, 0x24, 0x7a, 0x66, 0x93, 0xfb, 0x19, 0x74, 0x4a, 0x6c, - 0xd2, 0x81, 0xe6, 0xe9, 0xe4, 0xd9, 0xe4, 0xe5, 0xeb, 0x49, 0xff, 0x1d, 0x24, 0x4e, 0xbc, 0xd3, - 0xe3, 0x93, 0xd1, 0x61, 0xdf, 0x22, 0xef, 0x42, 0xef, 0x74, 0xa2, 0xc8, 0xd7, 0x2f, 0xbd, 0x93, - 0xa7, 0x3f, 0xee, 0xd7, 0xdc, 0xdf, 0xd8, 0x1a, 0x69, 0xbe, 0x2a, 0xc1, 0x54, 0x83, 0x0f, 0x36, - 0x18, 0x4f, 0xa0, 0xfe, 0x26, 0x4b, 0xe6, 0xc5, 0xd3, 0x1b, 0xd7, 0x78, 0x21, 0x99, 0x98, 0xd6, - 0x57, 0x93, 0x09, 0x66, 0x5b, 0x30, 0xc5, 0x00, 0xc6, 0xe7, 0x05, 0x1c, 0x58, 0x31, 0x30, 0x24, - 0x06, 0x1b, 0xe9, 0xae, 0x64, 0x5e, 0x07, 0x4b, 0xde, 0x40, 0xbd, 0x50, 0x33, 0x26, 0xd2, 0x24, - 0x16, 0x45, 0x76, 0x2f, 0x69, 0x6c, 0x69, 0x19, 0x4b, 0x23, 0xae, 0x37, 0xeb, 0x1e, 0xd0, 0x36, - 0x9c, 0x81, 0x24, 0x6c, 0x3d, 0x1c, 0x6f, 0x29, 0xcf, 0x7e, 0xb7, 0xea, 0xd9, 0x35, 0xb7, 0x3e, - 0x78, 0x75, 0x05, 0xb0, 0xaf, 0x03, 0xf1, 0xee, 0x8f, 0x80, 0x5c, 0x95, 0xbc, 0xe2, 0xfb, 0xa3, - 0xd1, 0xe4, 0x70, 0x3c, 0xf9, 0xaa, 0x6f, 0x91, 0x2e, 0xb4, 0x06, 0xc3, 0xe1, 0xe8, 0x08, 0x23, - 0x51, 0x43, 0xea, 0x70, 0x34, 0x7c, 0x3e, 0x9e, 0x8c, 0x0e, 0xfb, 0x36, 0x52, 0xc3, 0xc1, 0x64, - 0x38, 0x7a, 0x3e, 0x3a, 0xec, 0xd7, 0xdd, 0x7f, 0x58, 0x7a, 0x20, 0x16, 0x18, 0x45, 0xdb, 0x75, - 0xc8, 0x02, 0x2e, 0x36, 0x3f, 0xae, 0xef, 0x41, 0xdb, 0xf8, 0x6f, 0x5c, 0x64, 0xd6, 0x8a, 0x41, - 0x7e, 0x0a, 0x3b, 0xa1, 0xd9, 0xef, 0x57, 0x32, 0xed, 0x93, 0xcb, 0xd0, 0x62, 0xdd, 0x91, 0x07, - 0xc5, 0xc2, 0xb8, 0x63, 0x3b, 0xac, 0xd0, 0xee, 0xb7, 0x60, 0xbb, 0x2a, 0x51, 0xb9, 0xec, 0x3b, - 0x95, 0xcb, 0x5a, 0x4f, 0x7a, 0x3f, 0xe9, 0x1c, 0x7c, 0xfc, 0xb8, 0x38, 0xf6, 0xac, 0xa1, 0x56, - 0x9f, 0xfc, 0x3b, 0x00, 0x00, 0xff, 0xff, 0x83, 0xab, 0x6c, 0x28, 0x24, 0x14, 0x00, 0x00, + // 1953 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x58, 0x4f, 0x73, 0x1b, 0x49, + 0x15, 0xdf, 0x91, 0x64, 0xfd, 0x79, 0x92, 0x6c, 0x6d, 0x27, 0x24, 0xb3, 0x8e, 0x53, 0x71, 0x26, + 0x6c, 0xad, 0x0f, 0xe0, 0xa5, 0xb2, 0x50, 0x0b, 0x9b, 0xdd, 0x62, 0x15, 0x59, 0xb5, 0x51, 0xfe, + 0x28, 0xae, 0xb1, 0x9d, 0x00, 0x45, 0xd5, 0x54, 0x7b, 0xa6, 0x6d, 0x35, 0x1a, 0xcd, 0x0c, 0xd3, + 0x2d, 0x87, 0xe1, 0x03, 0x70, 0xe2, 0x40, 0x71, 0xe1, 0xca, 0x19, 0x6e, 0x1c, 0x38, 0xf1, 0x01, + 0xb8, 0x71, 0xe0, 0x08, 0xc5, 0x07, 0xe0, 0x53, 0x50, 0xaf, 0xbb, 0x47, 0x9a, 0xb1, 0x25, 0x63, + 0x8a, 0xd3, 0x9e, 0xd4, 0xef, 0xcd, 0xeb, 0xd7, 0xaf, 0xdf, 0xdf, 0x5f, 0x0b, 0xba, 0x09, 0xe5, + 0x29, 0x8f, 0xce, 0xf7, 0x93, 0x34, 0x96, 0x31, 0x69, 0xaa, 0x9f, 0xd3, 0xf9, 0x99, 0xf3, 0x07, + 0x0b, 0xea, 0x4f, 0xa9, 0x3f, 0x9d, 0x27, 0xe4, 0x36, 0x6c, 0xf8, 0x61, 0xec, 0x4f, 0x6d, 0x6b, + 0xd7, 0xda, 0xab, 0xb9, 0x9a, 0x20, 0x9b, 0x50, 0xe1, 0x81, 0x5d, 0xd9, 0xb5, 0xf6, 0x5a, 0x6e, + 0x85, 0x07, 0xe4, 0x87, 0xd0, 0xf4, 0xe3, 0x48, 0x52, 0x5f, 0x0a, 0xbb, 0xba, 0x5b, 0xdd, 0x6b, + 0x3f, 0x7e, 0xb4, 0x9f, 0x6b, 0xdb, 0x3f, 0xca, 0x22, 0x7f, 0x14, 0x09, 0x49, 0xc3, 0x90, 0x4a, + 0x1e, 0x47, 0x03, 0x2d, 0xf9, 0xe6, 0xb1, 0xbb, 0xd8, 0x44, 0x7e, 0x00, 0x6d, 0x3f, 0x9e, 0xcd, + 0xe6, 0x11, 0x97, 0x9c, 0x09, 0xbb, 0xa6, 0x74, 0xdc, 0x2d, 0xeb, 0x18, 0x18, 0x81, 0xcc, 0x2d, + 0xca, 0x3a, 0x7f, 0xa9, 0x41, 0xe7, 0xd5, 0x3c, 0x94, 0xbc, 0xef, 0xfb, 0xf1, 0x3c, 0x92, 0x84, + 0x40, 0x2d, 0xa2, 0x33, 0xa6, 0x2c, 0x6e, 0xb9, 0x6a, 0x4d, 0x76, 0xa0, 0x25, 0xf9, 0x8c, 0x09, + 0x49, 0x67, 0x89, 0xb2, 0xbb, 0xea, 0x2e, 0x19, 0xf8, 0x95, 0x07, 0x2c, 0x92, 0xdc, 0x8f, 0x23, + 0xbb, 0xaa, 0xb6, 0x2d, 0x19, 0xe4, 0x4b, 0x00, 0x3f, 0x0e, 0xe3, 0xd4, 0x9b, 0x50, 0x31, 0x31, + 0xa6, 0x3d, 0x5c, 0x9a, 0x56, 0x3c, 0x7b, 0x7f, 0x10, 0x87, 0xf1, 0x3c, 0x7d, 0x46, 0xc5, 0xc4, + 0x6d, 0xa9, 0x4d, 0xb8, 0x24, 0x36, 0x34, 0x14, 0x31, 0x0a, 0xec, 0x0d, 0x75, 0x76, 0x4e, 0x92, + 0x8f, 0x60, 0x6b, 0xca, 0x32, 0x9f, 0xa6, 0x81, 0x67, 0x82, 0x61, 0xd7, 0xd5, 0xf9, 0x9b, 0x86, + 0x7d, 0xa8, 0xb9, 0xe4, 0x2e, 0x34, 0xa6, 0x2c, 0xf3, 0xe6, 0x3c, 0xb0, 0x1b, 0x4a, 0xa0, 0x3e, + 0x65, 0xd9, 0x09, 0x0f, 0xc8, 0xe7, 0x50, 0xe7, 0x33, 0x7a, 0xce, 0x84, 0xdd, 0x54, 0x96, 0x7d, + 0x73, 0x8d, 0x65, 0x23, 0x75, 0x1f, 0x99, 0x8d, 0x50, 0xd8, 0x35, 0x7b, 0xb6, 0x1d, 0x80, 0xa5, + 0xc9, 0x18, 0x6c, 0x1e, 0x05, 0xec, 0x17, 0xb6, 0xb5, 0x5b, 0xdd, 0xab, 0xba, 0x9a, 0xd8, 0xfe, + 0x87, 0x05, 0xdd, 0xd2, 0xee, 0xa2, 0x31, 0x56, 0xc9, 0x98, 0xdc, 0xf5, 0x95, 0x82, 0xeb, 0x6d, + 0x68, 0x24, 0x34, 0x0b, 0x63, 0x1a, 0x28, 0xd7, 0x76, 0xdc, 0x9c, 0xc4, 0xe3, 0xde, 0xf1, 0x40, + 0xa2, 0x4f, 0xd1, 0x29, 0x9a, 0x20, 0x77, 0xa0, 0x3e, 0x61, 0xfc, 0x7c, 0x22, 0x8d, 0xaf, 0x0c, + 0x45, 0xb6, 0xa1, 0x79, 0xc6, 0x43, 0x26, 0xf8, 0x2f, 0x99, 0xf2, 0x51, 0xd5, 0x5d, 0xd0, 0xe4, + 0x11, 0x74, 0x53, 0xb5, 0xf2, 0x24, 0x4d, 0xcf, 0x99, 0x54, 0x3e, 0xaa, 0xba, 0x1d, 0xcd, 0x3c, + 0x56, 0xbc, 0x65, 0x2a, 0x37, 0x0b, 0xa9, 0xec, 0xfc, 0xdd, 0x82, 0x5b, 0x2f, 0x63, 0x9f, 0x86, + 0xc6, 0xd3, 0x87, 0xc6, 0xb8, 0xef, 0x41, 0x6d, 0xca, 0x32, 0xa1, 0x5c, 0x51, 0x8a, 0xf7, 0x0a, + 0xe1, 0xfd, 0x17, 0x2c, 0x73, 0x95, 0x38, 0xf9, 0x0c, 0x3a, 0x33, 0x74, 0x3b, 0xd5, 0x6e, 0x57, + 0x9e, 0x68, 0x3f, 0xbe, 0xb3, 0x3a, 0x28, 0x6e, 0x49, 0x16, 0x6f, 0x98, 0x50, 0x21, 0xde, 0xc5, + 0x69, 0x60, 0xb2, 0x70, 0x41, 0x6f, 0x7f, 0x1b, 0xaa, 0x2f, 0x58, 0xb6, 0x32, 0xb7, 0x09, 0xd4, + 0x02, 0x2a, 0xa9, 0x3a, 0xaa, 0xe3, 0xaa, 0xb5, 0xf3, 0x2b, 0x0b, 0x7a, 0x68, 0x63, 0xb1, 0xee, + 0xd6, 0xd4, 0xf2, 0x47, 0xb0, 0xc5, 0x0b, 0x52, 0xde, 0xa2, 0xb0, 0x37, 0x8b, 0xec, 0x51, 0x40, + 0x1e, 0x40, 0x3b, 0x60, 0x17, 0xdc, 0x67, 0x9e, 0xcc, 0x12, 0x66, 0x2c, 0x04, 0xcd, 0x3a, 0xce, + 0x12, 0xb6, 0x30, 0xae, 0xb6, 0x34, 0xce, 0xf9, 0xb7, 0x05, 0x77, 0xd7, 0x34, 0x80, 0x1b, 0xf6, + 0x96, 0x47, 0xd0, 0x4d, 0xd2, 0x18, 0x43, 0xed, 0xa9, 0xa4, 0x35, 0x07, 0x77, 0x0c, 0x53, 0x67, + 0xe4, 0x07, 0xd0, 0x64, 0x91, 0xf0, 0x0a, 0xc7, 0x37, 0x58, 0x24, 0xc6, 0xe8, 0x9e, 0x87, 0xd0, + 0x09, 0xa9, 0x90, 0xde, 0x3c, 0x09, 0xa8, 0x64, 0xba, 0x02, 0x6b, 0x6e, 0x1b, 0x79, 0x27, 0x9a, + 0x85, 0x37, 0x13, 0x99, 0x90, 0x6c, 0xe6, 0x49, 0x7a, 0x2e, 0xec, 0xfa, 0x6e, 0x15, 0x6f, 0xa6, + 0x59, 0xc7, 0xf4, 0x5c, 0x90, 0x0f, 0x61, 0x33, 0xc4, 0xb0, 0x7b, 0x11, 0xf7, 0xa7, 0xea, 0x10, + 0x5d, 0x84, 0x5d, 0xc5, 0x1d, 0x1b, 0xa6, 0xf3, 0xaf, 0x2a, 0x7c, 0xb0, 0xb6, 0xdb, 0x91, 0xef, + 0xc0, 0xed, 0xa2, 0x21, 0x9e, 0xda, 0x1b, 0x66, 0xe6, 0xf6, 0xa4, 0x60, 0xd0, 0x4b, 0xfd, 0xe5, + 0x6b, 0xec, 0x0a, 0x8c, 0x2d, 0x0d, 0x02, 0x16, 0xd8, 0xad, 0x5d, 0x6b, 0xaf, 0xe9, 0x6a, 0x02, + 0x7b, 0xc1, 0x29, 0x06, 0x99, 0x05, 0x36, 0x28, 0x7e, 0x4e, 0xa2, 0xfc, 0x6c, 0x8e, 0x36, 0xb5, + 0xb5, 0xbc, 0x22, 0x50, 0x3e, 0x65, 0xb3, 0xf8, 0x82, 0x05, 0x76, 0x47, 0xcb, 0x1b, 0x92, 0xec, + 0x42, 0x67, 0x42, 0x85, 0xa7, 0xd4, 0x7a, 0x73, 0x61, 0x77, 0xd5, 0x67, 0x98, 0x50, 0xd1, 0x47, + 0xd6, 0x89, 0x20, 0x1f, 0xc3, 0xad, 0x0b, 0x96, 0xf2, 0x33, 0xee, 0xeb, 0xbc, 0x16, 0x92, 0xca, + 0xb9, 0xb0, 0x37, 0x55, 0x67, 0x20, 0xc5, 0x4f, 0x47, 0xea, 0x0b, 0x7a, 0x47, 0xa6, 0x73, 0x21, + 0x73, 0xc9, 0x2d, 0x25, 0xd9, 0x56, 0x3c, 0x2d, 0xe2, 0xbc, 0xbb, 0x9a, 0xcc, 0xf9, 0xd4, 0x59, + 0x9d, 0xcc, 0x57, 0x22, 0x56, 0x59, 0x11, 0xb1, 0xcb, 0x61, 0xa9, 0x5e, 0x09, 0x8b, 0xf3, 0x14, + 0xb6, 0x2f, 0x1f, 0x7c, 0x38, 0x3f, 0x0d, 0xb9, 0x3f, 0x98, 0xd0, 0x1b, 0x16, 0x92, 0xf3, 0xeb, + 0x2a, 0x74, 0x4b, 0x73, 0xf4, 0xbf, 0xee, 0xeb, 0xa8, 0xac, 0x7b, 0x00, 0xed, 0x24, 0xe5, 0x17, + 0x54, 0x32, 0x6f, 0xca, 0x32, 0xd3, 0xc4, 0xc1, 0xb0, 0xb0, 0x29, 0xed, 0x62, 0x63, 0x10, 0x7e, + 0xca, 0x13, 0xb4, 0x4b, 0x25, 0x5d, 0xc7, 0x2d, 0xb2, 0xb0, 0xa7, 0xff, 0x2c, 0xe6, 0x91, 0x49, + 0xb9, 0xa6, 0x6b, 0x28, 0xec, 0x78, 0x3a, 0x10, 0x2c, 0x50, 0x3d, 0xbd, 0xe9, 0x2e, 0xe8, 0x65, + 0x46, 0x34, 0x8a, 0x19, 0xf1, 0x1a, 0x7a, 0x29, 0xfb, 0xf9, 0x9c, 0x09, 0x29, 0x3c, 0x19, 0x7b, + 0xa8, 0xc7, 0x0c, 0xbe, 0x0f, 0xd7, 0xa1, 0x05, 0x23, 0x7e, 0x1c, 0x3f, 0x8f, 0x79, 0xe4, 0x6e, + 0xa6, 0x25, 0x9a, 0x3c, 0x81, 0xa6, 0x60, 0x52, 0xf2, 0xe8, 0x5c, 0xa8, 0x5c, 0x6d, 0x3f, 0x7e, + 0xb0, 0x46, 0xd1, 0x91, 0x11, 0x73, 0x17, 0x1b, 0x10, 0x38, 0xb0, 0xc8, 0x4f, 0xb3, 0x44, 0x2e, + 0x32, 0x7a, 0xc9, 0xc0, 0xaf, 0x22, 0x61, 0xbe, 0xa4, 0xcb, 0xbc, 0x5e, 0x32, 0x9c, 0xbf, 0x59, + 0x70, 0xef, 0x1a, 0x43, 0x4d, 0x18, 0xac, 0x45, 0x18, 0xee, 0x03, 0x24, 0x2a, 0xe4, 0x2a, 0x0a, + 0x3a, 0xac, 0x2d, 0xcd, 0xc1, 0x20, 0x2c, 0x62, 0x59, 0x2d, 0xc6, 0xf2, 0x9a, 0x66, 0x70, 0x17, + 0x1a, 0xfe, 0x84, 0x4a, 0xec, 0xf7, 0x1b, 0x7a, 0x88, 0x23, 0x39, 0x0a, 0x30, 0x1d, 0x73, 0x7c, + 0x95, 0xe1, 0xd7, 0xba, 0x8e, 0xe7, 0x82, 0x37, 0x52, 0xb1, 0xc1, 0x22, 0xd1, 0xb5, 0x5f, 0x73, + 0x35, 0xe1, 0xfc, 0xb6, 0x02, 0xbd, 0xcb, 0x59, 0x4a, 0xbe, 0x28, 0x40, 0xc3, 0x2b, 0xb3, 0x74, + 0x4d, 0xb3, 0x2c, 0x00, 0xc3, 0xaf, 0xa0, 0x63, 0x6e, 0x8d, 0xd6, 0x09, 0xbb, 0x72, 0x19, 0xe4, + 0xac, 0x2f, 0x0b, 0xb7, 0x9d, 0x2c, 0xd6, 0x82, 0x3c, 0x81, 0x46, 0x3e, 0x93, 0xab, 0x2a, 0xcc, + 0xd7, 0x98, 0x91, 0x8f, 0xe7, 0x7c, 0xc7, 0xff, 0x03, 0x4f, 0x3f, 0x85, 0x2d, 0xf5, 0x15, 0x0d, + 0x32, 0xbd, 0xeb, 0x66, 0xe5, 0xfa, 0x39, 0xdc, 0xce, 0x37, 0xbe, 0x62, 0x42, 0x20, 0x5c, 0x73, + 0x19, 0xbd, 0xe9, 0xee, 0x2f, 0xe1, 0x0e, 0xee, 0xee, 0xfb, 0x92, 0x5f, 0x70, 0x99, 0x0d, 0x58, + 0x24, 0x59, 0x7a, 0xcd, 0xfe, 0x1e, 0x54, 0x79, 0xa0, 0xdd, 0xdb, 0x71, 0x71, 0xe9, 0x1c, 0xe8, + 0x96, 0x53, 0xd6, 0xd0, 0xf7, 0x7d, 0xa6, 0x72, 0xfb, 0xa6, 0x5a, 0x86, 0x3a, 0xc9, 0xcb, 0x5a, + 0x0e, 0xb8, 0x98, 0x71, 0x21, 0xfe, 0x07, 0x35, 0xbf, 0xb7, 0xa0, 0x83, 0x7a, 0x9e, 0xc6, 0xf1, + 0x74, 0x46, 0xd3, 0xe9, 0xfa, 0x8d, 0xf3, 0x34, 0x34, 0x6e, 0xc0, 0xe5, 0x02, 0x93, 0x54, 0x0b, + 0x80, 0xe9, 0x1e, 0xb4, 0x54, 0x33, 0xf6, 0x50, 0x56, 0x57, 0x45, 0x53, 0x31, 0x4e, 0xd2, 0xb0, + 0x38, 0x72, 0x36, 0xca, 0x23, 0xe7, 0x3e, 0x40, 0xc0, 0x42, 0x86, 0xa3, 0x9b, 0x4a, 0x55, 0x15, + 0x35, 0xb7, 0x65, 0x38, 0x7d, 0xe9, 0x3c, 0xd7, 0xc9, 0x3f, 0x08, 0x19, 0x4d, 0x9f, 0x71, 0x21, + 0xe3, 0x34, 0x2b, 0xd6, 0x98, 0x55, 0xaa, 0xb1, 0xfb, 0x00, 0x3e, 0x0a, 0x6a, 0x5d, 0x15, 0xad, + 0xcb, 0x70, 0xfa, 0xd2, 0xf9, 0xab, 0x05, 0x04, 0x95, 0x1d, 0xea, 0x31, 0x71, 0xc8, 0x7d, 0x39, + 0x4f, 0xd9, 0x4a, 0xf4, 0x57, 0x80, 0xd7, 0x95, 0x35, 0xf0, 0x1a, 0xef, 0xde, 0xbd, 0x0a, 0xaf, + 0x6b, 0x8a, 0x9d, 0xc3, 0xeb, 0x7b, 0xd0, 0x52, 0x63, 0x4a, 0xe1, 0xeb, 0x0d, 0xf5, 0x49, 0xe1, + 0xeb, 0xa3, 0x95, 0xf8, 0xba, 0xae, 0x04, 0xd6, 0xe0, 0xeb, 0x46, 0x11, 0x5f, 0x4f, 0xe0, 0xd6, + 0xd5, 0x9b, 0x88, 0xf5, 0x4f, 0x88, 0xef, 0x43, 0x33, 0x31, 0x42, 0xa6, 0xd8, 0x77, 0xca, 0x75, + 0x56, 0xd6, 0xe4, 0x2e, 0xa4, 0x9d, 0x3f, 0x56, 0xe0, 0x7d, 0x14, 0x78, 0x4b, 0xc3, 0x90, 0xc9, + 0xeb, 0xe7, 0xb2, 0x0d, 0x0d, 0x1a, 0x04, 0x29, 0x13, 0x22, 0xf7, 0x9a, 0x21, 0xd1, 0x3f, 0xef, + 0x94, 0x02, 0xe5, 0xb6, 0xa6, 0x6b, 0x28, 0xf4, 0x3d, 0xc6, 0x4e, 0x79, 0xad, 0xe9, 0xaa, 0x35, + 0xf2, 0x14, 0x14, 0xd6, 0xfd, 0x53, 0xad, 0x51, 0x33, 0xc6, 0x1e, 0x67, 0xbd, 0x7e, 0xc9, 0xe5, + 0x24, 0x4a, 0x27, 0x54, 0x4e, 0x0c, 0x5e, 0x52, 0x6b, 0x1c, 0x11, 0x8b, 0x16, 0xae, 0xde, 0x25, + 0x9d, 0x62, 0x4f, 0xcf, 0xe3, 0xdd, 0x2a, 0xc4, 0x1b, 0xef, 0x83, 0x8f, 0x47, 0x35, 0x6e, 0x5a, + 0xae, 0x26, 0x54, 0x54, 0x79, 0x10, 0xb0, 0xc8, 0xcc, 0x19, 0x43, 0xad, 0x07, 0x50, 0xce, 0x2b, + 0x9d, 0x61, 0x25, 0x67, 0x09, 0xf2, 0x29, 0x34, 0x4d, 0xcf, 0xcb, 0xbb, 0xf5, 0xbd, 0xb2, 0xf7, + 0x4b, 0xf2, 0xee, 0x42, 0xd8, 0xf9, 0xb3, 0xa5, 0xd3, 0xff, 0x88, 0x5e, 0xb0, 0xa0, 0x6f, 0x7c, + 0x59, 0xf0, 0xb2, 0x55, 0xf6, 0xf2, 0xaa, 0x87, 0xe2, 0x0e, 0xb4, 0xce, 0xe8, 0x45, 0x3c, 0x4f, + 0xb9, 0x64, 0xc6, 0xf9, 0x4b, 0x06, 0x4e, 0x32, 0x7f, 0x42, 0xb9, 0x7a, 0x9f, 0xd4, 0x54, 0x28, + 0x1b, 0x8a, 0x1e, 0x05, 0xd7, 0x94, 0xec, 0x43, 0xe8, 0x68, 0x50, 0xe5, 0x15, 0x33, 0xb3, 0xad, + 0x79, 0x03, 0x95, 0x9f, 0xbf, 0xb3, 0xe0, 0x1b, 0x2b, 0xc7, 0xfc, 0x9a, 0xcc, 0xb9, 0x3c, 0x1d, + 0xf5, 0x0d, 0x4a, 0xd3, 0x71, 0x08, 0x0f, 0x26, 0xba, 0x01, 0x78, 0x34, 0xf5, 0x27, 0xfc, 0x82, + 0x79, 0x62, 0x9e, 0x24, 0x71, 0x2a, 0x3d, 0x16, 0xd1, 0xd3, 0xd0, 0x40, 0xbc, 0xa6, 0xbb, 0x63, + 0xc4, 0xfa, 0x5a, 0xea, 0x48, 0x0b, 0x0d, 0xb5, 0x8c, 0xf3, 0x27, 0x4b, 0x8f, 0x8e, 0x63, 0x04, + 0xa0, 0x08, 0x69, 0x59, 0x7a, 0xc3, 0x27, 0xd3, 0x17, 0x50, 0x37, 0x18, 0x16, 0xcf, 0xd9, 0xbc, + 0x0c, 0x8d, 0x0a, 0x0a, 0xf7, 0x8f, 0x97, 0xe8, 0xd6, 0x35, 0x9b, 0x9c, 0xcf, 0xa0, 0x5d, 0x60, + 0x93, 0x36, 0x34, 0x4e, 0xc6, 0x2f, 0xc6, 0xaf, 0xdf, 0x8e, 0x7b, 0xef, 0x21, 0x71, 0xec, 0x9e, + 0x1c, 0x1d, 0x0f, 0x0f, 0x7a, 0x16, 0x79, 0x1f, 0xba, 0x27, 0x63, 0x45, 0xbe, 0x7d, 0xed, 0x1e, + 0x3f, 0xfb, 0x71, 0xaf, 0xe2, 0xfc, 0xa6, 0xaa, 0x21, 0xf2, 0x9b, 0x02, 0xbe, 0x36, 0xc0, 0x66, + 0x8d, 0xf1, 0x04, 0x6a, 0x67, 0x69, 0x3c, 0xcb, 0x53, 0x01, 0xd7, 0x78, 0x21, 0x19, 0x9b, 0x9e, + 0x5d, 0x91, 0x31, 0xa6, 0x86, 0x3f, 0xc1, 0xcc, 0x8b, 0xce, 0x73, 0x1c, 0xb3, 0x64, 0x60, 0x48, + 0x0c, 0xa8, 0xd3, 0xed, 0xd4, 0x3c, 0x6b, 0x16, 0xbc, 0xbe, 0x7a, 0x5a, 0xa7, 0x4c, 0x24, 0x71, + 0x24, 0xf2, 0xb2, 0x5c, 0xd0, 0xd8, 0x8b, 0x53, 0x96, 0x84, 0x5c, 0x6f, 0xd6, 0x29, 0xd2, 0x32, + 0x9c, 0xbe, 0x24, 0x6c, 0xf5, 0x3b, 0xa2, 0xa9, 0x3c, 0xfb, 0xdd, 0xb2, 0x67, 0x57, 0xdc, 0x7a, + 0xff, 0xcd, 0x95, 0x97, 0xc6, 0xaa, 0xd7, 0x87, 0xf3, 0x23, 0x20, 0x57, 0x25, 0xaf, 0xf8, 0xfe, + 0x70, 0x38, 0x3e, 0x18, 0x8d, 0xbf, 0xea, 0x59, 0xa4, 0x03, 0xcd, 0xfe, 0x60, 0x30, 0x3c, 0xc4, + 0x48, 0x54, 0x90, 0x3a, 0x18, 0x0e, 0x5e, 0x8e, 0xc6, 0xc3, 0x83, 0x5e, 0x15, 0xa9, 0x41, 0x7f, + 0x3c, 0x18, 0xbe, 0x1c, 0x1e, 0xf4, 0x6a, 0xce, 0x3f, 0x2d, 0x3d, 0xc9, 0x73, 0x70, 0xa5, 0xed, + 0x3a, 0x60, 0x3e, 0x17, 0xeb, 0xff, 0x15, 0xd8, 0x81, 0x96, 0xf1, 0xdf, 0x28, 0xcf, 0xac, 0x25, + 0x83, 0xfc, 0x14, 0xb6, 0x02, 0xb3, 0xdf, 0x2b, 0x65, 0xda, 0x27, 0x97, 0x31, 0xd1, 0xaa, 0x23, + 0xf7, 0xf3, 0x85, 0x71, 0xc7, 0x66, 0x50, 0xa2, 0x9d, 0x6f, 0xc1, 0x66, 0x59, 0xa2, 0x74, 0xd9, + 0xf7, 0x4a, 0x97, 0xb5, 0x9e, 0x76, 0x7f, 0xd2, 0xde, 0xff, 0xf8, 0x49, 0x7e, 0xec, 0x69, 0x5d, + 0xad, 0x3e, 0xf9, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x16, 0x36, 0x08, 0xe9, 0xdd, 0x14, 0x00, + 0x00, } diff --git a/protocol/protobuf/pairing.proto b/protocol/protobuf/pairing.proto index b55ce5b10..838457b9d 100644 --- a/protocol/protobuf/pairing.proto +++ b/protocol/protobuf/pairing.proto @@ -197,6 +197,15 @@ message SyncWalletAccounts { repeated SyncWalletAccount accounts = 1; } +message SyncSavedAddress { + bytes address = 1; + string name = 2; + bool favourite = 3; + uint64 chain_id = 4; + bool removed = 5; + uint64 update_clock = 7; +} + message SyncCommunitySettings { uint64 clock = 1; string community_id = 2; diff --git a/protocol/pushnotificationclient/migrations/migrations.go b/protocol/pushnotificationclient/migrations/migrations.go index e04839e12..33b761129 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(1664358295, 0)} + info := bindataFileInfo{name: "1593601729_initial_schema.down.sql", size: 144, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "1593601729_initial_schema.up.sql", size: 1773, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "1597909626_add_server_type.down.sql", size: 0, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "1597909626_add_server_type.up.sql", size: 145, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "1599053776_add_chat_id_and_type.down.sql", size: 0, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "1599053776_add_chat_id_and_type.up.sql", size: 264, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "doc.go", size: 382, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 f39504a71..ae52096ef 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(1664358295, 0)} + info := bindataFileInfo{name: "1593601728_initial_schema.down.sql", size: 200, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "1593601728_initial_schema.up.sql", size: 675, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "1598419937_add_push_notifications_table.down.sql", size: 51, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "1598419937_add_push_notifications_table.up.sql", size: 104, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "doc.go", size: 382, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 92e622682..3efd88e26 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(1664358295, 0)} + info := bindataFileInfo{name: "1561059284_add_waku_keys.down.sql", size: 22, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "1561059284_add_waku_keys.up.sql", size: 109, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "1616691080_add_wakuV2_keys.down.sql", size: 24, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "1616691080_add_wakuV2_keys.up.sql", size: 111, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "1634723014_add_wakuV2_keys.up.sql", size: 125, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "doc.go", size: 373, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 ae7333759..9b5cf33f2 100644 --- a/protocol/v1/status_message.go +++ b/protocol/v1/status_message.go @@ -302,6 +302,8 @@ func (m *StatusMessage) HandleApplication() error { return m.unmarshalProtobufData((new(protobuf.SyncVerificationRequest))) case protobuf.ApplicationMetadataMessage_SYNC_CONTACT_REQUEST_DECISION: return m.unmarshalProtobufData((new(protobuf.SyncContactRequestDecision))) + case protobuf.ApplicationMetadataMessage_SYNC_SAVED_ADDRESS: + return m.unmarshalProtobufData(new(protobuf.SyncSavedAddress)) } return nil } diff --git a/services/ext/api.go b/services/ext/api.go index 6b2b392fe..712121e9d 100644 --- a/services/ext/api.go +++ b/services/ext/api.go @@ -9,11 +9,13 @@ import ( "time" "github.com/status-im/status-go/services/browsers" + "github.com/status-im/status-go/services/wallet" "github.com/ethereum/go-ethereum/common/hexutil" "github.com/ethereum/go-ethereum/log" "github.com/ethereum/go-ethereum/rlp" + ethcommon "github.com/ethereum/go-ethereum/common" "github.com/status-im/status-go/eth-node/crypto" "github.com/status-im/status-go/eth-node/types" "github.com/status-im/status-go/mailserver" @@ -860,6 +862,23 @@ func (api *PublicAPI) DestroyWalletConnectSession(ctx context.Context, PeerID st return api.service.messenger.DestroyWalletConnectSession(PeerID) } +// Saved Addresses APIs +func (api *PublicAPI) UpsertSavedAddress(ctx context.Context, sa wallet.SavedAddress) error { + if sa.ChainID == 0 { + sa.ChainID = api.service.rpcClient.UpstreamChainID + } + + return api.service.messenger.UpsertSavedAddress(ctx, sa) +} + +func (api *PublicAPI) DeleteSavedAddress(ctx context.Context, chainID uint64, address ethcommon.Address) error { + if chainID == 0 { + chainID = api.service.rpcClient.UpstreamChainID + } + + return api.service.messenger.DeleteSavedAddress(ctx, chainID, address) +} + // PushNotifications server endpoints func (api *PublicAPI) StartPushNotificationsServer() error { err := api.service.accountsDB.SaveSettingField(settings.PushNotificationsServerEnabled, true) diff --git a/services/wallet/api.go b/services/wallet/api.go index 224db7154..312b7dc77 100644 --- a/services/wallet/api.go +++ b/services/wallet/api.go @@ -166,7 +166,7 @@ func (api *API) DeleteCustomTokenByChainID(ctx context.Context, chainID uint64, func (api *API) GetSavedAddresses(ctx context.Context) ([]SavedAddress, error) { log.Debug("call to get saved addresses") - rst, err := api.s.savedAddressesManager.GetSavedAddresses(api.s.rpcClient.UpstreamChainID) + rst, err := api.s.savedAddressesManager.GetSavedAddressesForChainID(api.s.rpcClient.UpstreamChainID) log.Debug("result from database for saved addresses", "len", len(rst)) return rst, err } @@ -176,14 +176,14 @@ func (api *API) AddSavedAddress(ctx context.Context, sa SavedAddress) error { if sa.ChainID == 0 { sa.ChainID = api.s.rpcClient.UpstreamChainID } - err := api.s.savedAddressesManager.AddSavedAddress(sa) + _, err := api.s.savedAddressesManager.UpdateMetadataAndUpsertSavedAddress(sa) log.Debug("result from database for create or edit saved address", "err", err) return err } func (api *API) DeleteSavedAddress(ctx context.Context, address common.Address) error { log.Debug("call to remove saved address") - err := api.s.savedAddressesManager.DeleteSavedAddress(api.s.rpcClient.UpstreamChainID, address) + _, err := api.s.savedAddressesManager.DeleteSavedAddress(api.s.rpcClient.UpstreamChainID, address) log.Debug("result from database for remove saved address", "err", err) return err } diff --git a/services/wallet/reader.go b/services/wallet/reader.go index 98897ef3a..8dafdd9f3 100644 --- a/services/wallet/reader.go +++ b/services/wallet/reader.go @@ -186,7 +186,7 @@ func (r *Reader) GetWallet(ctx context.Context, chainIDs []uint64) (*Wallet, err savedAddressesMap := make(map[uint64][]SavedAddress) for _, chainID := range chainIDs { - savedAddresses, err := r.s.savedAddressesManager.GetSavedAddresses(chainID) + savedAddresses, err := r.s.savedAddressesManager.GetSavedAddressesForChainID(chainID) if err != nil { return nil, err } diff --git a/services/wallet/saved_addresses.go b/services/wallet/saved_addresses.go index 4e1323a85..9eb4e629f 100644 --- a/services/wallet/saved_addresses.go +++ b/services/wallet/saved_addresses.go @@ -2,10 +2,17 @@ package wallet import ( "database/sql" + "fmt" + "time" "github.com/ethereum/go-ethereum/common" ) +type savedAddressMeta struct { + Removed bool + UpdateClock uint64 // wall clock used to deconflict concurrent updates +} + type SavedAddress struct { Address common.Address `json:"address"` // TODO: Add Emoji and Networks @@ -13,43 +20,177 @@ type SavedAddress struct { Name string `json:"name"` Favourite bool `json:"favourite"` ChainID uint64 `json:"chainId"` + savedAddressMeta } type SavedAddressesManager struct { db *sql.DB } -func (sam *SavedAddressesManager) GetSavedAddresses(chainID uint64) ([]SavedAddress, error) { - rows, err := sam.db.Query("SELECT address, name, favourite, network_id FROM saved_addresses WHERE network_id = ?", chainID) +func NewSavedAddressesManager(db *sql.DB) *SavedAddressesManager { + return &SavedAddressesManager{db: db} +} + +const rawQueryColumnsOrder = "address, name, favourite, network_id, removed, update_clock" + +// getSavedAddressesFromDBRows retrieves all data based on SELECT Query using rawQueryColumnsOrder +func getSavedAddressesFromDBRows(rows *sql.Rows) ([]SavedAddress, error) { + var addresses []SavedAddress + for rows.Next() { + sa := SavedAddress{} + // based on rawQueryColumnsOrder + err := rows.Scan(&sa.Address, &sa.Name, &sa.Favourite, &sa.ChainID, &sa.Removed, &sa.UpdateClock) + if err != nil { + return nil, err + } + + addresses = append(addresses, sa) + } + + return addresses, nil +} + +func (sam *SavedAddressesManager) GetSavedAddressesForChainID(chainID uint64) ([]SavedAddress, error) { + rows, err := sam.db.Query(fmt.Sprintf("SELECT %s FROM saved_addresses WHERE network_id = ? AND removed != 1", rawQueryColumnsOrder), chainID) if err != nil { return nil, err } defer rows.Close() - var rst []SavedAddress - for rows.Next() { - sa := SavedAddress{} - err := rows.Scan(&sa.Address, &sa.Name, &sa.Favourite, &sa.ChainID) - if err != nil { - return nil, err - } - - rst = append(rst, sa) - } - - return rst, nil + addresses, err := getSavedAddressesFromDBRows(rows) + return addresses, err } -func (sam *SavedAddressesManager) AddSavedAddress(sa SavedAddress) error { - insert, err := sam.db.Prepare("INSERT OR REPLACE INTO saved_addresses (network_id, address, name, favourite) VALUES (?, ?, ?, ?)") +func (sam *SavedAddressesManager) GetSavedAddresses() ([]SavedAddress, error) { + rows, err := sam.db.Query(fmt.Sprintf("SELECT %s FROM saved_addresses WHERE removed != 1", rawQueryColumnsOrder)) + if err != nil { + return nil, err + } + defer rows.Close() + + addresses, err := getSavedAddressesFromDBRows(rows) + return addresses, err +} + +// GetRawSavedAddresses provides access to the soft-delete and sync metadata +func (sam *SavedAddressesManager) GetRawSavedAddresses() ([]SavedAddress, error) { + rows, err := sam.db.Query(fmt.Sprintf("SELECT %s FROM saved_addresses", rawQueryColumnsOrder)) + if err != nil { + return nil, err + } + defer rows.Close() + + return getSavedAddressesFromDBRows(rows) +} + +func (sam *SavedAddressesManager) upsertSavedAddress(sa SavedAddress, tx *sql.Tx) error { + sqlStatement := "INSERT OR REPLACE INTO saved_addresses (network_id, address, name, favourite, removed, update_clock) VALUES (?, ?, ?, ?, ?, ?)" + var err error + var insert *sql.Stmt + if tx != nil { + insert, err = tx.Prepare(sqlStatement) + } else { + insert, err = sam.db.Prepare(sqlStatement) + } if err != nil { return err } - _, err = insert.Exec(sa.ChainID, sa.Address, sa.Name, sa.Favourite) + defer insert.Close() + _, err = insert.Exec(sa.ChainID, sa.Address, sa.Name, sa.Favourite, sa.Removed, sa.UpdateClock) return err } -func (sam *SavedAddressesManager) DeleteSavedAddress(chainID uint64, address common.Address) error { - _, err := sam.db.Exec(`DELETE FROM saved_addresses WHERE address = ? AND network_id = ?`, address, chainID) +func (sam *SavedAddressesManager) UpdateMetadataAndUpsertSavedAddress(sa SavedAddress) (updatedClock uint64, err error) { + sa.UpdateClock = uint64(time.Now().Unix()) + err = sam.upsertSavedAddress(sa, nil) + if err != nil { + return 0, err + } + return sa.UpdateClock, nil +} + +func (sam *SavedAddressesManager) startTransactionAndCheckIfNewerChange(ChainID uint64, Address common.Address, updateClock uint64) (newer bool, tx *sql.Tx, err error) { + tx, err = sam.db.Begin() + if err != nil { + return false, nil, err + } + row := tx.QueryRow("SELECT update_clock FROM saved_addresses WHERE network_id = ? AND address = ?", ChainID, Address) + if err != nil { + return false, tx, err + } + + var dbUpdateClock uint64 + err = row.Scan(&dbUpdateClock) + if err != nil { + return err == sql.ErrNoRows, tx, err + } + return dbUpdateClock <= updateClock, tx, nil +} + +func (sam *SavedAddressesManager) AddSavedAddressIfNewerUpdate(sa SavedAddress, updateClock uint64) (insertedOrUpdated bool, err error) { + newer, tx, err := sam.startTransactionAndCheckIfNewerChange(sa.ChainID, sa.Address, updateClock) + defer func() { + if err == nil { + err = tx.Commit() + return + } + _ = tx.Rollback() + }() + if !newer { + return false, err + } + + sa.UpdateClock = updateClock + err = sam.upsertSavedAddress(sa, tx) + if err != nil { + return false, err + } + + return true, err +} + +func (sam *SavedAddressesManager) DeleteSavedAddressIfNewerUpdate(chainID uint64, address common.Address, updateClock uint64) (deleted bool, err error) { + newer, tx, err := sam.startTransactionAndCheckIfNewerChange(chainID, address, updateClock) + defer func() { + if err == nil { + err = tx.Commit() + return + } + _ = tx.Rollback() + }() + if !newer { + return false, err + } + + var insert *sql.Stmt + insert, err = tx.Prepare(`INSERT OR REPLACE INTO saved_addresses (network_id, address, name, favourite, removed, update_clock) VALUES (?, ?, "", 0, 1, ?)`) + if err != nil { + return false, err + } + defer insert.Close() + _, err = insert.Exec(chainID, address, updateClock) + if err != nil { + return false, err + } + + return true, nil +} + +func (sam *SavedAddressesManager) DeleteSavedAddress(chainID uint64, address common.Address) (updatedClock uint64, err error) { + insert, err := sam.db.Prepare(`INSERT OR REPLACE INTO saved_addresses (network_id, address, name, favourite, removed, update_clock) VALUES (?, ?, "", 0, 1, ?)`) + if err != nil { + return 0, err + } + defer insert.Close() + updateClock := uint64(time.Now().Unix()) + _, err = insert.Exec(chainID, address, updateClock) + if err != nil { + return 0, err + } + return updateClock, nil +} + +func (sam *SavedAddressesManager) DeleteSoftRemovedSavedAddresses(threshold uint64) error { + _, err := sam.db.Exec(`DELETE FROM saved_addresses WHERE removed = 1 AND update_clock < ?`, threshold) return err } diff --git a/services/wallet/saved_addresses_test.go b/services/wallet/saved_addresses_test.go index 5c19a1770..b52e66175 100644 --- a/services/wallet/saved_addresses_test.go +++ b/services/wallet/saved_addresses_test.go @@ -3,6 +3,7 @@ package wallet import ( "io/ioutil" "os" + "strconv" "testing" "github.com/stretchr/testify/require" @@ -28,7 +29,7 @@ func TestSavedAddresses(t *testing.T) { manager, stop := setupTestSavedAddressesDB(t) defer stop() - rst, err := manager.GetSavedAddresses(777) + rst, err := manager.GetSavedAddressesForChainID(777) require.NoError(t, err) require.Nil(t, rst) @@ -39,18 +40,208 @@ func TestSavedAddresses(t *testing.T) { ChainID: 777, } - err = manager.AddSavedAddress(sa) + _, err = manager.UpdateMetadataAndUpsertSavedAddress(sa) require.NoError(t, err) - rst, err = manager.GetSavedAddresses(777) + rst, err = manager.GetSavedAddressesForChainID(777) require.NoError(t, err) require.Equal(t, 1, len(rst)) - require.Equal(t, sa, rst[0]) + require.Equal(t, sa.Address, rst[0].Address) + require.Equal(t, sa.Name, rst[0].Name) + require.Equal(t, sa.Favourite, rst[0].Favourite) + require.Equal(t, sa.ChainID, rst[0].ChainID) - err = manager.DeleteSavedAddress(777, sa.Address) + _, err = manager.DeleteSavedAddress(777, sa.Address) require.NoError(t, err) - rst, err = manager.GetSavedAddresses(777) + rst, err = manager.GetSavedAddressesForChainID(777) require.NoError(t, err) require.Equal(t, 0, len(rst)) } + +func contains[T comparable](container []T, element T, isEqual func(T, T) bool) bool { + for _, e := range container { + if isEqual(e, element) { + return true + } + } + return false +} + +func haveSameElements[T comparable](a []T, b []T, isEqual func(T, T) bool) bool { + for _, v := range a { + if !contains(b, v, isEqual) { + return false + } + } + return true +} + +func savedAddressDataIsEqual(a, b SavedAddress) bool { + return a.Address == b.Address && a.ChainID == b.ChainID && a.Name == b.Name && a.Favourite == b.Favourite +} + +func TestSavedAddressesMetadata(t *testing.T) { + manager, stop := setupTestSavedAddressesDB(t) + defer stop() + + savedAddresses, err := manager.GetRawSavedAddresses() + require.NoError(t, err) + require.Nil(t, savedAddresses) + + // Add raw saved addresses + sa1 := SavedAddress{ + Address: common.Address{1}, + ChainID: 777, + Name: "Raw", + Favourite: true, + savedAddressMeta: savedAddressMeta{ + Removed: false, + UpdateClock: 234, + }, + } + + err = manager.upsertSavedAddress(sa1, nil) + require.NoError(t, err) + + dbSavedAddresses, err := manager.GetRawSavedAddresses() + require.NoError(t, err) + require.Equal(t, 1, len(dbSavedAddresses)) + require.Equal(t, sa1, dbSavedAddresses[0]) + + // Add simple saved address without sync metadata + sa2 := SavedAddress{ + Address: common.Address{2}, + ChainID: 777, + Name: "Simple", + Favourite: false, + } + + var sa2UpdatedClock uint64 + sa2UpdatedClock, err = manager.UpdateMetadataAndUpsertSavedAddress(sa2) + require.NoError(t, err) + + dbSavedAddresses, err = manager.GetRawSavedAddresses() + require.NoError(t, err) + require.Equal(t, 2, len(dbSavedAddresses)) + // The order is not guaranteed check raw entry to decide + rawIndex := 0 + simpleIndex := 1 + if dbSavedAddresses[0] != sa1 { + rawIndex = 1 + simpleIndex = 0 + } + require.Equal(t, sa1, dbSavedAddresses[rawIndex]) + require.Equal(t, sa2.Address, dbSavedAddresses[simpleIndex].Address) + require.Equal(t, sa2.ChainID, dbSavedAddresses[simpleIndex].ChainID) + require.Equal(t, sa2.Name, dbSavedAddresses[simpleIndex].Name) + require.Equal(t, sa2.Favourite, dbSavedAddresses[simpleIndex].Favourite) + + // Check the default values + require.False(t, dbSavedAddresses[simpleIndex].Removed) + require.Equal(t, dbSavedAddresses[simpleIndex].UpdateClock, sa2UpdatedClock) + require.Greater(t, dbSavedAddresses[simpleIndex].UpdateClock, uint64(0)) + + sa2Older := sa2 + sa2Older.Name = "Conditional, NOT updated" + sa2Older.Favourite = true + + sa2Newer := sa2 + sa2Newer.Name = "Conditional, updated" + sa2Newer.Favourite = false + + // Try to add an older entry + updated := false + updated, err = manager.AddSavedAddressIfNewerUpdate(sa2Older, dbSavedAddresses[simpleIndex].UpdateClock-1) + require.NoError(t, err) + require.False(t, updated) + + dbSavedAddresses, err = manager.GetRawSavedAddresses() + require.NoError(t, err) + + rawIndex = 0 + simpleIndex = 1 + if dbSavedAddresses[0] != sa1 { + rawIndex = 1 + simpleIndex = 0 + } + + require.Equal(t, 2, len(dbSavedAddresses)) + require.True(t, haveSameElements([]SavedAddress{sa1, sa2}, dbSavedAddresses, savedAddressDataIsEqual)) + require.Equal(t, sa1.savedAddressMeta, dbSavedAddresses[rawIndex].savedAddressMeta) + + // Try to update sa2 with a newer entry + updatedClock := dbSavedAddresses[simpleIndex].UpdateClock + 1 + updated, err = manager.AddSavedAddressIfNewerUpdate(sa2Newer, updatedClock) + require.NoError(t, err) + require.True(t, updated) + + dbSavedAddresses, err = manager.GetRawSavedAddresses() + require.NoError(t, err) + + simpleIndex = 1 + if dbSavedAddresses[0] != sa1 { + simpleIndex = 0 + } + + require.Equal(t, 2, len(dbSavedAddresses)) + require.True(t, haveSameElements([]SavedAddress{sa1, sa2Newer}, dbSavedAddresses, savedAddressDataIsEqual)) + require.Equal(t, updatedClock, dbSavedAddresses[simpleIndex].UpdateClock) + + // Try to delete the sa2 newer entry + updatedDeleteClock := updatedClock + 1 + updated, err = manager.DeleteSavedAddressIfNewerUpdate(sa2Newer.ChainID, sa2Newer.Address, updatedDeleteClock) + require.NoError(t, err) + require.True(t, updated) + + dbSavedAddresses, err = manager.GetRawSavedAddresses() + require.NoError(t, err) + + simpleIndex = 1 + if dbSavedAddresses[0] != sa1 { + simpleIndex = 0 + } + + require.Equal(t, 2, len(dbSavedAddresses)) + require.True(t, dbSavedAddresses[simpleIndex].Removed) + + // Check that deleted entry is not returned with the regular API (non-raw) + dbSavedAddresses, err = manager.GetSavedAddresses() + require.NoError(t, err) + require.Equal(t, 1, len(dbSavedAddresses)) +} + +func TestSavedAddressesCleanSoftDeletes(t *testing.T) { + manager, stop := setupTestSavedAddressesDB(t) + defer stop() + + firstTimestamp := 10 + for i := 0; i < 5; i++ { + sa := SavedAddress{ + Address: common.Address{byte(i)}, + ChainID: 777, + Name: "Test" + strconv.Itoa(i), + Favourite: false, + savedAddressMeta: savedAddressMeta{ + Removed: true, + UpdateClock: uint64(firstTimestamp + i), + }, + } + + err := manager.upsertSavedAddress(sa, nil) + require.NoError(t, err) + } + + err := manager.DeleteSoftRemovedSavedAddresses(uint64(firstTimestamp + 3)) + require.NoError(t, err) + + dbSavedAddresses, err := manager.GetRawSavedAddresses() + require.NoError(t, err) + require.Equal(t, 2, len(dbSavedAddresses)) + require.True(t, haveSameElements([]uint64{dbSavedAddresses[0].UpdateClock, + dbSavedAddresses[1].UpdateClock}, []uint64{uint64(firstTimestamp + 3), uint64(firstTimestamp + 4)}, + func(a, b uint64) bool { + return a == b + }, + )) +} diff --git a/static/bindata.go b/static/bindata.go index da9122fac..276cbf555 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(1664358295, 0)} + info := bindataFileInfo{name: "emojis.txt", size: 28134, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "../config/README.md", size: 3031, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "../config/cli/anon-metric-node-client.json", size: 857, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "../config/cli/anon-metric-node-server.json", size: 696, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "../config/cli/fleet-eth.prod.json", size: 4470, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "../config/cli/fleet-eth.staging.json", size: 2145, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "../config/cli/fleet-eth.test.json", size: 2174, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "../config/cli/fleet-status.prod.json", size: 1920, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "../config/cli/fleet-status.test.json", size: 937, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "../config/cli/fleet-wakuv2.prod.json", size: 747, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "../config/cli/fleet-wakuv2.test.json", size: 748, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "../config/cli/les-enabled.json", size: 58, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "../config/cli/mailserver-enabled.json", size: 176, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "../config/status-chain-genesis.json", size: 612, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "keys/bootnode.key", size: 65, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "keys/firebaseauthkey", size: 153, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "keys/test-account1-status-chain.pk", size: 489, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "keys/test-account1.pk", size: 491, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "keys/test-account2-status-chain.pk", size: 489, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "keys/test-account2.pk", size: 491, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "keys/test-account3-before-eip55.pk", size: 489, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 b2a39cb85..ef6908db5 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(1664358295, 0)} + info := bindataFileInfo{name: "config/public-chain-accounts.json", size: 307, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "config/status-chain-accounts.json", size: 543, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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(1664358295, 0)} + info := bindataFileInfo{name: "config/test-data.json", size: 84, mode: os.FileMode(0644), modTime: time.Unix(1665148109, 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 }