feat: Update saved addresses DB to store ENS, isTest flag and chains (#3183)

prefixes. Changed primary keys and API methods.
Fixed tests and added new ones.
Fixed saved addresses and transaction tests to use ':memory:' sqlite
DB instead of a tmp file to speed up testing by hundred of times.

Fixes #8599
This commit is contained in:
IvanBelyakoff 2023-03-06 16:26:46 +03:00 committed by GitHub
parent 27a76f43ba
commit 48078393f9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
14 changed files with 681 additions and 434 deletions

View File

@ -49,6 +49,7 @@
// 1676951398_add_currency_format_cache.up.sql (291B)
// 1676968196_keycards_add_clock_column.up.sql (73B)
// 1676968197_add_fallback_rpc_to_networks.up.sql (112B)
// 1677674090_add_chains_ens_istest_to_saved_addresses.up.sql (638B)
// doc.go (74B)
package migrations
@ -133,7 +134,7 @@ func _1640111208_dummyUpSql() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "1640111208_dummy.up.sql", size: 258, mode: os.FileMode(0664), modTime: time.Unix(1677517511, 0)}
info := bindataFileInfo{name: "1640111208_dummy.up.sql", size: 258, mode: os.FileMode(0664), modTime: time.Unix(1677556450, 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
}
@ -153,7 +154,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(0664), modTime: time.Unix(1677517511, 0)}
info := bindataFileInfo{name: "1642666031_add_removed_clock_to_bookmarks.up.sql", size: 117, mode: os.FileMode(0664), modTime: time.Unix(1677556450, 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
}
@ -173,7 +174,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(0664), modTime: time.Unix(1677517511, 0)}
info := bindataFileInfo{name: "1643644541_gif_api_key_setting.up.sql", size: 108, mode: os.FileMode(0664), modTime: time.Unix(1677556450, 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
}
@ -193,7 +194,7 @@ func _1644188994_recent_stickersUpSql() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "1644188994_recent_stickers.up.sql", size: 79, mode: os.FileMode(0664), modTime: time.Unix(1677517511, 0)}
info := bindataFileInfo{name: "1644188994_recent_stickers.up.sql", size: 79, mode: os.FileMode(0664), modTime: time.Unix(1677556450, 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
}
@ -213,7 +214,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(0664), modTime: time.Unix(1677517511, 0)}
info := bindataFileInfo{name: "1646659233_add_address_to_dapp_permisssion.up.sql", size: 700, mode: os.FileMode(0664), modTime: time.Unix(1677556450, 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
}
@ -233,7 +234,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(0664), modTime: time.Unix(1677517511, 0)}
info := bindataFileInfo{name: "1646841105_add_emoji_account.up.sql", size: 96, mode: os.FileMode(0664), modTime: time.Unix(1677556450, 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
}
@ -253,7 +254,7 @@ func _1647278782_display_nameUpSql() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "1647278782_display_name.up.sql", size: 110, mode: os.FileMode(0664), modTime: time.Unix(1677517511, 0)}
info := bindataFileInfo{name: "1647278782_display_name.up.sql", size: 110, mode: os.FileMode(0664), modTime: time.Unix(1677556450, 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
}
@ -273,7 +274,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(0664), modTime: time.Unix(1677517511, 0)}
info := bindataFileInfo{name: "1647862838_reset_last_backup.up.sql", size: 37, mode: os.FileMode(0664), modTime: time.Unix(1677556450, 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
}
@ -293,7 +294,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(0664), modTime: time.Unix(1677517511, 0)}
info := bindataFileInfo{name: "1647871652_add_settings_sync_clock_table.up.sql", size: 1044, mode: os.FileMode(0664), modTime: time.Unix(1677556450, 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
}
@ -313,7 +314,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(0664), modTime: time.Unix(1677517511, 0)}
info := bindataFileInfo{name: "1647880168_add_torrent_config.up.sql", size: 211, mode: os.FileMode(0664), modTime: time.Unix(1677556450, 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
}
@ -333,7 +334,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(0664), modTime: time.Unix(1677517511, 0)}
info := bindataFileInfo{name: "1647882837_add_communities_settings_table.up.sql", size: 206, mode: os.FileMode(0664), modTime: time.Unix(1677556450, 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
}
@ -353,7 +354,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(0664), modTime: time.Unix(1677517511, 0)}
info := bindataFileInfo{name: "1647956635_add_waku_messages_table.up.sql", size: 266, mode: os.FileMode(0664), modTime: time.Unix(1677556450, 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
}
@ -373,7 +374,7 @@ func _1648554928_network_testUpSql() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "1648554928_network_test.up.sql", size: 132, mode: os.FileMode(0664), modTime: time.Unix(1677517511, 0)}
info := bindataFileInfo{name: "1648554928_network_test.up.sql", size: 132, mode: os.FileMode(0664), modTime: time.Unix(1677556450, 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
}
@ -393,7 +394,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(0664), modTime: time.Unix(1677517511, 0)}
info := bindataFileInfo{name: "1649174829_add_visitble_token.up.sql", size: 84, mode: os.FileMode(0664), modTime: time.Unix(1677556450, 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
}
@ -413,7 +414,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(0664), modTime: time.Unix(1677517511, 0)}
info := bindataFileInfo{name: "1649882262_add_derived_from_accounts.up.sql", size: 110, mode: os.FileMode(0664), modTime: time.Unix(1677556450, 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
}
@ -433,7 +434,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(0664), modTime: time.Unix(1677517511, 0)}
info := bindataFileInfo{name: "1650612625_add_community_message_archive_hashes_table.up.sql", size: 130, mode: os.FileMode(0664), modTime: time.Unix(1677556450, 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
}
@ -453,7 +454,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(0664), modTime: time.Unix(1677517511, 0)}
info := bindataFileInfo{name: "1650616788_add_communities_archives_info_table.up.sql", size: 208, mode: os.FileMode(0664), modTime: time.Unix(1677556450, 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
}
@ -473,7 +474,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(0664), modTime: time.Unix(1677517511, 0)}
info := bindataFileInfo{name: "1652715604_add_clock_accounts.up.sql", size: 62, mode: os.FileMode(0664), modTime: time.Unix(1677556450, 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
}
@ -493,7 +494,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(0664), modTime: time.Unix(1677517511, 0)}
info := bindataFileInfo{name: "1653037334_add_notifications_settings_table.up.sql", size: 1276, mode: os.FileMode(0664), modTime: time.Unix(1677556450, 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
}
@ -513,7 +514,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(0664), modTime: time.Unix(1677517511, 0)}
info := bindataFileInfo{name: "1654702119_add_mutual_contact_settings.up.sql", size: 78, mode: os.FileMode(0664), modTime: time.Unix(1677556450, 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
}
@ -533,7 +534,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(0664), modTime: time.Unix(1677517511, 0)}
info := bindataFileInfo{name: "1655375270_add_clock_field_to_communities_settings_table.up.sql", size: 74, mode: os.FileMode(0664), modTime: time.Unix(1677556450, 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
}
@ -553,7 +554,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(0664), modTime: time.Unix(1677517511, 0)}
info := bindataFileInfo{name: "1655385721_drop_networks_config.up.sql", size: 27, mode: os.FileMode(0664), modTime: time.Unix(1677556450, 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
}
@ -573,7 +574,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(0664), modTime: time.Unix(1677517511, 0)}
info := bindataFileInfo{name: "1655385724_networks_chainColor_shortName.up.sql", size: 220, mode: os.FileMode(0664), modTime: time.Unix(1677556450, 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
}
@ -593,7 +594,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(0664), modTime: time.Unix(1677517511, 0)}
info := bindataFileInfo{name: "1655456688_add_deleted_at_field_to_bookmarks_table.up.sql", size: 69, mode: os.FileMode(0664), modTime: time.Unix(1677556450, 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
}
@ -613,7 +614,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(0664), modTime: time.Unix(1677517511, 0)}
info := bindataFileInfo{name: "1655462032_create_bookmarks_deleted_at_index.up.sql", size: 81, mode: os.FileMode(0664), modTime: time.Unix(1677556450, 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
}
@ -633,7 +634,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(0664), modTime: time.Unix(1677517511, 0)}
info := bindataFileInfo{name: "1657617291_add_multi_transactions_table.up.sql", size: 412, mode: os.FileMode(0664), modTime: time.Unix(1677556450, 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
}
@ -653,7 +654,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(0664), modTime: time.Unix(1677517511, 0)}
info := bindataFileInfo{name: "1660134042_add_social_links_settings_table.up.sql", size: 334, mode: os.FileMode(0664), modTime: time.Unix(1677556450, 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
}
@ -673,7 +674,7 @@ func _1660134060_settings_bioUpSql() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "1660134060_settings_bio.up.sql", size: 91, mode: os.FileMode(0664), modTime: time.Unix(1677517511, 0)}
info := bindataFileInfo{name: "1660134060_settings_bio.up.sql", size: 91, mode: os.FileMode(0664), modTime: time.Unix(1677556450, 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
}
@ -693,7 +694,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(0664), modTime: time.Unix(1677517511, 0)}
info := bindataFileInfo{name: "1660134070_add_wakuv2_store.up.sql", size: 269, mode: os.FileMode(0664), modTime: time.Unix(1677556450, 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
}
@ -713,7 +714,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(0664), modTime: time.Unix(1677517511, 0)}
info := bindataFileInfo{name: "1660134072_waku2_store_messages.up.sql", size: 497, mode: os.FileMode(0664), modTime: time.Unix(1677556450, 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
}
@ -733,7 +734,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(0664), modTime: time.Unix(1677517511, 0)}
info := bindataFileInfo{name: "1662365868_add_key_uid_accounts.up.sql", size: 68, mode: os.FileMode(0664), modTime: time.Unix(1677556450, 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
}
@ -753,7 +754,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(0664), modTime: time.Unix(1677517511, 0)}
info := bindataFileInfo{name: "1662447680_add_keypairs_table.up.sql", size: 218, mode: os.FileMode(0664), modTime: time.Unix(1677556450, 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
}
@ -773,7 +774,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(0664), modTime: time.Unix(1677517511, 0)}
info := bindataFileInfo{name: "1662460056_move_favourites_to_saved_addresses.up.sql", size: 233, mode: os.FileMode(0664), modTime: time.Unix(1677556450, 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
}
@ -793,7 +794,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(0664), modTime: time.Unix(1677517511, 0)}
info := bindataFileInfo{name: "1662738097_add_base_fee_transaction.up.sql", size: 112, mode: os.FileMode(0664), modTime: time.Unix(1677556450, 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
}
@ -813,7 +814,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(0664), modTime: time.Unix(1677517511, 0)}
info := bindataFileInfo{name: "1662972194_add_keypairs_table.up.sql", size: 345, mode: os.FileMode(0664), modTime: time.Unix(1677556450, 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
}
@ -833,7 +834,7 @@ func _1664392661_add_third_party_id_to_waku_messagesUpSql() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "1664392661_add_third_party_id_to_waku_messages.up.sql", size: 70, mode: os.FileMode(0664), modTime: time.Unix(1677517511, 0)}
info := bindataFileInfo{name: "1664392661_add_third_party_id_to_waku_messages.up.sql", size: 70, mode: os.FileMode(0664), modTime: time.Unix(1677556450, 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
}
@ -853,7 +854,7 @@ func _1664783660_add_sync_info_to_saved_addressesUpSql() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "1664783660_add_sync_info_to_saved_addresses.up.sql", size: 388, mode: os.FileMode(0664), modTime: time.Unix(1677517511, 0)}
info := bindataFileInfo{name: "1664783660_add_sync_info_to_saved_addresses.up.sql", size: 388, mode: os.FileMode(0664), modTime: time.Unix(1677556450, 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
}
@ -873,7 +874,7 @@ func _1668109917_wakunodesUpSql() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "1668109917_wakunodes.up.sql", size: 99, mode: os.FileMode(0664), modTime: time.Unix(1677517511, 0)}
info := bindataFileInfo{name: "1668109917_wakunodes.up.sql", size: 99, mode: os.FileMode(0664), modTime: time.Unix(1677556450, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x29, 0xaa, 0x9e, 0x2, 0x66, 0x85, 0x69, 0xa8, 0xd9, 0xe2, 0x4b, 0x8d, 0x2a, 0x9c, 0xdf, 0xd2, 0xef, 0x64, 0x58, 0xe3, 0xa6, 0xe7, 0xc1, 0xd1, 0xc8, 0x9c, 0xc0, 0x2c, 0x1, 0xa8, 0x7b, 0x81}}
return a, nil
}
@ -893,7 +894,7 @@ func _1670249678_display_name_to_settings_sync_clock_tableUpSql() (*asset, error
return nil, err
}
info := bindataFileInfo{name: "1670249678_display_name_to_settings_sync_clock_table.up.sql", size: 83, mode: os.FileMode(0664), modTime: time.Unix(1677517511, 0)}
info := bindataFileInfo{name: "1670249678_display_name_to_settings_sync_clock_table.up.sql", size: 83, mode: os.FileMode(0664), modTime: time.Unix(1677556450, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x39, 0x18, 0xdc, 0xc4, 0x1f, 0x79, 0x22, 0x16, 0x4d, 0xdf, 0x6c, 0x66, 0xd5, 0xa4, 0x88, 0x5d, 0x5, 0x37, 0xa7, 0x41, 0x5, 0x50, 0xae, 0x12, 0xfa, 0x7e, 0x89, 0x24, 0x5c, 0xae, 0x30, 0xfc}}
return a, nil
}
@ -913,7 +914,7 @@ func _1670836810_add_imported_flag_to_community_archive_hashesUpSql() (*asset, e
return nil, err
}
info := bindataFileInfo{name: "1670836810_add_imported_flag_to_community_archive_hashes.up.sql", size: 144, mode: os.FileMode(0664), modTime: time.Unix(1677517511, 0)}
info := bindataFileInfo{name: "1670836810_add_imported_flag_to_community_archive_hashes.up.sql", size: 144, mode: os.FileMode(0664), modTime: time.Unix(1677556450, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6f, 0xf, 0xf0, 0xbd, 0xfe, 0x63, 0x25, 0x8f, 0x5e, 0x46, 0x4b, 0x45, 0x31, 0x8b, 0x3e, 0xd8, 0x6b, 0x5d, 0x9d, 0x6d, 0x10, 0x9a, 0x87, 0x4b, 0x18, 0xc6, 0x39, 0x81, 0x6e, 0xe4, 0x75, 0xfb}}
return a, nil
}
@ -933,7 +934,7 @@ func _1671438731_add_magnetlink_uri_to_communities_archive_infoUpSql() (*asset,
return nil, err
}
info := bindataFileInfo{name: "1671438731_add_magnetlink_uri_to_communities_archive_info.up.sql", size: 86, mode: os.FileMode(0664), modTime: time.Unix(1677517511, 0)}
info := bindataFileInfo{name: "1671438731_add_magnetlink_uri_to_communities_archive_info.up.sql", size: 86, mode: os.FileMode(0664), modTime: time.Unix(1677556450, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xda, 0x8b, 0x4b, 0xd6, 0xd8, 0xe2, 0x3d, 0xf7, 0x6b, 0xcd, 0x1e, 0x70, 0x9, 0x2e, 0x35, 0x4, 0x61, 0xc3, 0xb5, 0x9d, 0xc5, 0x27, 0x21, 0xa, 0x5a, 0xd6, 0x3e, 0xa6, 0x24, 0xa2, 0x12, 0xdf}}
return a, nil
}
@ -953,7 +954,7 @@ func _1672933930_switcher_cardUpSql() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "1672933930_switcher_card.up.sql", size: 162, mode: os.FileMode(0664), modTime: time.Unix(1677517511, 0)}
info := bindataFileInfo{name: "1672933930_switcher_card.up.sql", size: 162, mode: os.FileMode(0664), modTime: time.Unix(1677556450, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x39, 0xba, 0xdc, 0xbb, 0x40, 0x4, 0xf2, 0x10, 0xdf, 0xb4, 0xd2, 0x80, 0x8a, 0x74, 0x4d, 0xf6, 0xbc, 0x50, 0x7, 0xd, 0x22, 0x7f, 0xc4, 0xaf, 0xaa, 0xde, 0xdc, 0x71, 0xe9, 0x42, 0x98, 0x36}}
return a, nil
}
@ -973,7 +974,7 @@ func _1674056187_add_price_cacheUpSql() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "1674056187_add_price_cache.up.sql", size: 255, mode: os.FileMode(0664), modTime: time.Unix(1677517511, 0)}
info := bindataFileInfo{name: "1674056187_add_price_cache.up.sql", size: 255, mode: os.FileMode(0664), modTime: time.Unix(1677556450, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb7, 0x79, 0x6a, 0x9b, 0x28, 0xd1, 0x22, 0xf0, 0x84, 0x76, 0x40, 0x39, 0x49, 0x15, 0x5d, 0xaa, 0xfd, 0x11, 0xff, 0x13, 0x27, 0x42, 0x12, 0xfa, 0x82, 0xe6, 0x7a, 0xf0, 0x5e, 0x1f, 0xe3, 0xba}}
return a, nil
}
@ -993,7 +994,7 @@ func _1674136690_ens_usernamesUpSql() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "1674136690_ens_usernames.up.sql", size: 98, mode: os.FileMode(0664), modTime: time.Unix(1677517511, 0)}
info := bindataFileInfo{name: "1674136690_ens_usernames.up.sql", size: 98, mode: os.FileMode(0664), modTime: time.Unix(1677556450, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x81, 0x7a, 0xf3, 0xa8, 0x88, 0x99, 0xd6, 0x9c, 0x69, 0x48, 0x3c, 0x10, 0xda, 0x72, 0xdc, 0x14, 0xd, 0x6e, 0x8c, 0x82, 0x92, 0x2d, 0x2c, 0xee, 0x4c, 0x70, 0xa4, 0xdc, 0x5c, 0x5, 0x2, 0xc3}}
return a, nil
}
@ -1013,7 +1014,7 @@ func _1674232431_add_balance_historyUpSql() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "1674232431_add_balance_history.up.sql", size: 698, mode: os.FileMode(0664), modTime: time.Unix(1677517511, 0)}
info := bindataFileInfo{name: "1674232431_add_balance_history.up.sql", size: 698, mode: os.FileMode(0664), modTime: time.Unix(1677556450, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf7, 0xb5, 0x18, 0xca, 0x4a, 0x93, 0xbb, 0x6f, 0xa4, 0xee, 0xe4, 0x3e, 0xff, 0x6a, 0x4b, 0xe2, 0xe1, 0x61, 0x28, 0xee, 0xc5, 0x26, 0x57, 0x61, 0x5e, 0x6d, 0x44, 0x1e, 0x85, 0x43, 0x70, 0xa2}}
return a, nil
}
@ -1033,7 +1034,7 @@ func _1676368933_keypairs_to_keycardsUpSql() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "1676368933_keypairs_to_keycards.up.sql", size: 639, mode: os.FileMode(0664), modTime: time.Unix(1677517511, 0)}
info := bindataFileInfo{name: "1676368933_keypairs_to_keycards.up.sql", size: 639, mode: os.FileMode(0664), modTime: time.Unix(1677673850, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x81, 0x93, 0x27, 0x2, 0xf0, 0x37, 0x81, 0x65, 0xa4, 0xb3, 0x5b, 0x60, 0x36, 0x95, 0xfc, 0x81, 0xf0, 0x3b, 0x7c, 0xc3, 0x2c, 0x85, 0xbd, 0x38, 0x46, 0xa4, 0x95, 0x4a, 0x6, 0x3e, 0x74, 0xd5}}
return a, nil
}
@ -1053,7 +1054,7 @@ func _1676951398_add_currency_format_cacheUpSql() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "1676951398_add_currency_format_cache.up.sql", size: 291, mode: os.FileMode(0664), modTime: time.Unix(1677517511, 0)}
info := bindataFileInfo{name: "1676951398_add_currency_format_cache.up.sql", size: 291, mode: os.FileMode(0664), modTime: time.Unix(1677673850, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf9, 0xa3, 0x76, 0x35, 0xca, 0xf, 0xe8, 0xdf, 0xd9, 0x61, 0xf9, 0xed, 0xfc, 0x6d, 0xf5, 0xe, 0x11, 0x88, 0xbd, 0x14, 0x92, 0xc6, 0x57, 0x53, 0xe, 0xcd, 0x52, 0xf4, 0xa9, 0xb1, 0xdd, 0xfd}}
return a, nil
}
@ -1073,7 +1074,7 @@ func _1676968196_keycards_add_clock_columnUpSql() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "1676968196_keycards_add_clock_column.up.sql", size: 73, mode: os.FileMode(0664), modTime: time.Unix(1677517539, 0)}
info := bindataFileInfo{name: "1676968196_keycards_add_clock_column.up.sql", size: 73, mode: os.FileMode(0664), modTime: time.Unix(1677673850, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x4c, 0xf, 0x1c, 0x28, 0x41, 0x57, 0x57, 0x6c, 0xe, 0x75, 0x6b, 0x75, 0x12, 0x0, 0x18, 0x1e, 0x88, 0x1e, 0x45, 0xe0, 0x32, 0xb9, 0xd4, 0xd9, 0x2e, 0xc8, 0xb, 0x80, 0x6, 0x51, 0x3d, 0x28}}
return a, nil
}
@ -1093,11 +1094,31 @@ func _1676968197_add_fallback_rpc_to_networksUpSql() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "1676968197_add_fallback_rpc_to_networks.up.sql", size: 112, mode: os.FileMode(0664), modTime: time.Unix(1677517540, 0)}
info := bindataFileInfo{name: "1676968197_add_fallback_rpc_to_networks.up.sql", size: 112, mode: os.FileMode(0664), modTime: time.Unix(1677673850, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x77, 0x6a, 0xc6, 0x45, 0xfa, 0x62, 0x84, 0x74, 0x6d, 0x7c, 0xd7, 0x1d, 0x79, 0xb6, 0x38, 0x43, 0xa8, 0x8, 0x6b, 0x75, 0x3d, 0x9, 0x2, 0xc5, 0x9f, 0xbb, 0x45, 0x56, 0x4c, 0x4e, 0x17, 0x89}}
return a, nil
}
var __1677674090_add_chains_ens_istest_to_saved_addressesUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x92\xc1\x6e\xf2\x30\x10\x84\xef\x7e\x8a\x11\x27\x90\x72\xf8\xef\x9c\x0c\x6c\x84\xf5\x9b\x18\x39\x4b\x81\x93\x65\x11\x57\xa0\x96\xa4\x8a\x03\x7d\xfd\x2a\x14\x52\xd1\x50\xa9\xbd\xee\xcc\x8e\xbe\x1d\xed\xd4\x92\x64\x02\xcb\x89\x26\xa8\x14\x99\x61\xd0\x46\xe5\x9c\x23\xfa\x73\x28\x9c\x2f\x8a\x3a\xc4\x18\xa2\x2b\xc3\x3b\x86\x02\xb8\x4e\xf0\x24\xed\x74\x2e\xed\x65\x25\x5b\x69\x9d\x08\xa0\xf4\xc7\x00\xa6\x0d\xdf\x4d\x9f\xfd\xb9\x3a\xd5\x87\x26\x60\x62\x8c\x26\x99\x75\x2a\x66\x94\xca\x95\x66\xa4\x52\xe7\xd4\x7a\xeb\x70\xac\xce\xa1\xf8\x85\xf3\xf4\x56\xf8\x26\xb8\xdd\x6b\xb5\x7b\x81\xca\xb8\x6f\xfd\xd7\xda\x76\x7b\x7f\x28\x5d\xdc\x57\x75\xe3\x5a\xbc\x2f\xf0\x9b\x6d\x30\x68\x7d\xa1\x8c\x17\xfd\x07\xf9\x10\x5d\x13\x62\xd3\x71\xf5\x70\x96\x56\x2d\xa4\xdd\xe2\x3f\x6d\x31\xbc\x76\x94\x74\xa9\xc9\x2d\x60\x24\x46\x58\x2b\x9e\x9b\x15\xc3\x9a\xb5\x9a\x8d\x85\x50\x59\x4e\x96\xdb\x1b\xcc\xe3\xd6\xbb\xb8\xcf\xa8\xae\xcf\xe4\x56\x57\x72\xd7\xc6\x48\x00\xc8\x49\xd3\x94\xf1\xc7\x55\xa4\xd6\x2c\xbe\x43\x8c\xc5\xcc\x9a\xe5\xf5\x49\x7a\x9a\xd4\x4c\xf6\xb1\x78\xa1\xb7\x94\xc9\x05\xa1\x7f\xdb\x58\x7c\x04\x00\x00\xff\xff\x4b\x7d\x7a\x1a\x7e\x02\x00\x00")
func _1677674090_add_chains_ens_istest_to_saved_addressesUpSqlBytes() ([]byte, error) {
return bindataRead(
__1677674090_add_chains_ens_istest_to_saved_addressesUpSql,
"1677674090_add_chains_ens_istest_to_saved_addresses.up.sql",
)
}
func _1677674090_add_chains_ens_istest_to_saved_addressesUpSql() (*asset, error) {
bytes, err := _1677674090_add_chains_ens_istest_to_saved_addressesUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1677674090_add_chains_ens_istest_to_saved_addresses.up.sql", size: 638, mode: os.FileMode(0664), modTime: time.Unix(1677674113, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa8, 0x2d, 0xa4, 0x1b, 0xf6, 0x6a, 0x13, 0x7b, 0xe, 0x59, 0xcd, 0xe2, 0x4e, 0x81, 0x99, 0xc4, 0x33, 0x84, 0xde, 0x66, 0xca, 0xac, 0x2f, 0x5, 0x90, 0xac, 0xfd, 0x4e, 0xfc, 0x55, 0x44, 0xe5}}
return a, nil
}
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) {
@ -1113,7 +1134,7 @@ func docGo() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "doc.go", size: 74, mode: os.FileMode(0664), modTime: time.Unix(1677517511, 0)}
info := bindataFileInfo{name: "doc.go", size: 74, mode: os.FileMode(0664), modTime: time.Unix(1677556450, 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
}
@ -1307,6 +1328,8 @@ var _bindata = map[string]func() (*asset, error){
"1676968197_add_fallback_rpc_to_networks.up.sql": _1676968197_add_fallback_rpc_to_networksUpSql,
"1677674090_add_chains_ens_istest_to_saved_addresses.up.sql": _1677674090_add_chains_ens_istest_to_saved_addressesUpSql,
"doc.go": docGo,
}
@ -1400,6 +1423,7 @@ var _bintree = &bintree{nil, map[string]*bintree{
"1676951398_add_currency_format_cache.up.sql": &bintree{_1676951398_add_currency_format_cacheUpSql, map[string]*bintree{}},
"1676968196_keycards_add_clock_column.up.sql": &bintree{_1676968196_keycards_add_clock_columnUpSql, map[string]*bintree{}},
"1676968197_add_fallback_rpc_to_networks.up.sql": &bintree{_1676968197_add_fallback_rpc_to_networksUpSql, map[string]*bintree{}},
"1677674090_add_chains_ens_istest_to_saved_addresses.up.sql": &bintree{_1677674090_add_chains_ens_istest_to_saved_addressesUpSql, map[string]*bintree{}},
"doc.go": &bintree{docGo, map[string]*bintree{}},
}}

View File

@ -0,0 +1,16 @@
CREATE TABLE IF NOT EXISTS saved_addresses_new (
address VARCHAR NOT NULL,
name TEXT NOT NULL,
favourite BOOLEAN NOT NULL DEFAULT FALSE,
removed BOOLEAN NOT NULL DEFAULT FALSE,
update_clock INT NOT NULL DEFAULT 0,
chain_short_names VARCHAR DEFAULT "",
ens_name VARCHAR DEFAULT "",
is_test BOOLEAN DEFAULT FALSE,
PRIMARY KEY (address, ens_name, is_test)
) WITHOUT ROWID;
INSERT INTO saved_addresses_new (address, name, favourite, removed, update_clock)
SELECT address, name, favourite, removed, update_clock FROM saved_addresses;
DROP TABLE saved_addresses;
ALTER TABLE saved_addresses_new RENAME TO saved_addresses;

View File

@ -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(1662753054, 0)}
info := bindataFileInfo{name: "0001_app.down.sql", size: 356, mode: os.FileMode(0664), modTime: time.Unix(1674204953, 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(1662753054, 0)}
info := bindataFileInfo{name: "0001_app.up.sql", size: 2967, mode: os.FileMode(0664), modTime: time.Unix(1674204953, 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(1662753054, 0)}
info := bindataFileInfo{name: "0002_tokens.down.sql", size: 19, mode: os.FileMode(0664), modTime: time.Unix(1674204953, 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(1662753054, 0)}
info := bindataFileInfo{name: "0002_tokens.up.sql", size: 248, mode: os.FileMode(0664), modTime: time.Unix(1674204953, 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(1662753054, 0)}
info := bindataFileInfo{name: "0003_settings.down.sql", size: 118, mode: os.FileMode(0664), modTime: time.Unix(1674204953, 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(1662753054, 0)}
info := bindataFileInfo{name: "0003_settings.up.sql", size: 1311, mode: os.FileMode(0664), modTime: time.Unix(1674204953, 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(1662753054, 0)}
info := bindataFileInfo{name: "0004_pending_stickers.down.sql", size: 0, mode: os.FileMode(0664), modTime: time.Unix(1674204953, 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(1662753054, 0)}
info := bindataFileInfo{name: "0004_pending_stickers.up.sql", size: 61, mode: os.FileMode(0664), modTime: time.Unix(1674204953, 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(1662753054, 0)}
info := bindataFileInfo{name: "0005_waku_mode.down.sql", size: 0, mode: os.FileMode(0664), modTime: time.Unix(1674204953, 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(1662753054, 0)}
info := bindataFileInfo{name: "0005_waku_mode.up.sql", size: 146, mode: os.FileMode(0664), modTime: time.Unix(1674204953, 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(1662753054, 0)}
info := bindataFileInfo{name: "0006_appearance.up.sql", size: 67, mode: os.FileMode(0664), modTime: time.Unix(1674204953, 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(1662753054, 0)}
info := bindataFileInfo{name: "0007_enable_waku_default.up.sql", size: 38, mode: os.FileMode(0664), modTime: time.Unix(1674204953, 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(1662753054, 0)}
info := bindataFileInfo{name: "0008_add_push_notifications.up.sql", size: 349, mode: os.FileMode(0664), modTime: time.Unix(1674204953, 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(1662753054, 0)}
info := bindataFileInfo{name: "0009_enable_sending_push_notifications.down.sql", size: 49, mode: os.FileMode(0664), modTime: time.Unix(1674204953, 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(1662753054, 0)}
info := bindataFileInfo{name: "0009_enable_sending_push_notifications.up.sql", size: 49, mode: os.FileMode(0664), modTime: time.Unix(1674204953, 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(1662753054, 0)}
info := bindataFileInfo{name: "0010_add_block_mentions.down.sql", size: 83, mode: os.FileMode(0664), modTime: time.Unix(1674204953, 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(1662753054, 0)}
info := bindataFileInfo{name: "0010_add_block_mentions.up.sql", size: 89, mode: os.FileMode(0664), modTime: time.Unix(1674204953, 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(1662753054, 0)}
info := bindataFileInfo{name: "0011_allow_webview_permission_requests.down.sql", size: 0, mode: os.FileMode(0664), modTime: time.Unix(1674204953, 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(1662753054, 0)}
info := bindataFileInfo{name: "0011_allow_webview_permission_requests.up.sql", size: 88, mode: os.FileMode(0664), modTime: time.Unix(1674204953, 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(1662753054, 0)}
info := bindataFileInfo{name: "0012_pending_transactions.down.sql", size: 33, mode: os.FileMode(0664), modTime: time.Unix(1674204953, 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(1662753054, 0)}
info := bindataFileInfo{name: "0012_pending_transactions.up.sql", size: 321, mode: os.FileMode(0664), modTime: time.Unix(1674204953, 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(1662753054, 0)}
info := bindataFileInfo{name: "0013_favourites.down.sql", size: 23, mode: os.FileMode(0664), modTime: time.Unix(1674204953, 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(1662753054, 0)}
info := bindataFileInfo{name: "0013_favourites.up.sql", size: 132, mode: os.FileMode(0664), modTime: time.Unix(1674204953, 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(1662753054, 0)}
info := bindataFileInfo{name: "0014_add_use_mailservers.down.sql", size: 0, mode: os.FileMode(0664), modTime: time.Unix(1674204953, 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(1662753054, 0)}
info := bindataFileInfo{name: "0014_add_use_mailservers.up.sql", size: 111, mode: os.FileMode(0664), modTime: time.Unix(1674204953, 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(1662753054, 0)}
info := bindataFileInfo{name: "0015_link_previews.down.sql", size: 0, mode: os.FileMode(0664), modTime: time.Unix(1674204953, 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(1662753054, 0)}
info := bindataFileInfo{name: "0015_link_previews.up.sql", size: 203, mode: os.FileMode(0664), modTime: time.Unix(1674204953, 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(1662753054, 0)}
info := bindataFileInfo{name: "0016_local_notifications_preferences.down.sql", size: 43, mode: os.FileMode(0664), modTime: time.Unix(1674204953, 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(1662753054, 0)}
info := bindataFileInfo{name: "0016_local_notifications_preferences.up.sql", size: 204, mode: os.FileMode(0664), modTime: time.Unix(1674204953, 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(1662753054, 0)}
info := bindataFileInfo{name: "0017_bookmarks.down.sql", size: 22, mode: os.FileMode(0664), modTime: time.Unix(1674204953, 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(1662753054, 0)}
info := bindataFileInfo{name: "0017_bookmarks.up.sql", size: 147, mode: os.FileMode(0664), modTime: time.Unix(1674204953, 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(1662753054, 0)}
info := bindataFileInfo{name: "0018_profile_pictures_visibility.up.sql", size: 84, mode: os.FileMode(0664), modTime: time.Unix(1674204953, 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(1662753054, 0)}
info := bindataFileInfo{name: "0019_blocks_ranges_extra_data.up.sql", size: 89, mode: os.FileMode(0664), modTime: time.Unix(1674204953, 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(1662753054, 0)}
info := bindataFileInfo{name: "0020_metrics.up.sql", size: 235, mode: os.FileMode(0664), modTime: time.Unix(1674204953, 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(1662753054, 0)}
info := bindataFileInfo{name: "0021_add_session_id_to_metrics.up.sql", size: 55, mode: os.FileMode(0664), modTime: time.Unix(1674204953, 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(1662753054, 0)}
info := bindataFileInfo{name: "0022_pending_transfers.up.sql", size: 706, mode: os.FileMode(0664), modTime: time.Unix(1674204953, 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(1662753054, 0)}
info := bindataFileInfo{name: "1618237885_settings_anon_metrics_should_send.up.sql", size: 80, mode: os.FileMode(0664), modTime: time.Unix(1674204953, 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(1662753054, 0)}
info := bindataFileInfo{name: "1618395756_contacts_only.up.sql", size: 136, mode: os.FileMode(0664), modTime: time.Unix(1674204953, 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(1662753054, 0)}
info := bindataFileInfo{name: "1622184614_add_default_sync_period.up.sql", size: 125, mode: os.FileMode(0664), modTime: time.Unix(1674204953, 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(1662753054, 0)}
info := bindataFileInfo{name: "1625872445_user_status.up.sql", size: 351, mode: os.FileMode(0664), modTime: time.Unix(1674204953, 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(1662753054, 0)}
info := bindataFileInfo{name: "1627983977_add_gif_to_settings.up.sql", size: 102, mode: os.FileMode(0664), modTime: time.Unix(1674204953, 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(1662753054, 0)}
info := bindataFileInfo{name: "1628580203_add_hidden_account.up.sql", size: 67, mode: os.FileMode(0664), modTime: time.Unix(1674204953, 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(1662753054, 0)}
info := bindataFileInfo{name: "1629123384_add_id_to_app_metrics.up.sql", size: 589, mode: os.FileMode(0664), modTime: time.Unix(1674204953, 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(1662753054, 0)}
info := bindataFileInfo{name: "1630401853_add_opensea_enabled_to_settings.up.sql", size: 70, mode: os.FileMode(0664), modTime: time.Unix(1674204953, 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(1662753054, 0)}
info := bindataFileInfo{name: "1630464455_create-saved_addresses-table.down.sql", size: 28, mode: os.FileMode(0664), modTime: time.Unix(1674204953, 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(1662753054, 0)}
info := bindataFileInfo{name: "1630464455_create-saved_addresses-table.up.sql", size: 187, mode: os.FileMode(0664), modTime: time.Unix(1674204953, 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(1662753054, 0)}
info := bindataFileInfo{name: "1630485153_networks.down.sql", size: 21, mode: os.FileMode(0664), modTime: time.Unix(1674204953, 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(1662753054, 0)}
info := bindataFileInfo{name: "1630485153_networks.up.sql", size: 394, mode: os.FileMode(0664), modTime: time.Unix(1674204953, 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(1662753054, 0)}
info := bindataFileInfo{name: "1632262444_profile_pictures_show_to.up.sql", size: 81, mode: os.FileMode(0664), modTime: time.Unix(1674204953, 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(1662753054, 0)}
info := bindataFileInfo{name: "1635942153_add_telemetry_server_url_to_settings.up.sql", size: 128, mode: os.FileMode(0664), modTime: time.Unix(1674204953, 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(1662753054, 0)}
info := bindataFileInfo{name: "1635942154_add_backup_setting.up.sql", size: 287, mode: os.FileMode(0664), modTime: time.Unix(1674204953, 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(1662753054, 0)}
info := bindataFileInfo{name: "1637745568_add_auto_message_setting.up.sql", size: 122, mode: os.FileMode(0664), modTime: time.Unix(1674204953, 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(1662753054, 0)}
info := bindataFileInfo{name: "1640111208_nodeconfig.up.sql", size: 7659, mode: os.FileMode(0664), modTime: time.Unix(1674204953, 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(1662753054, 0)}
info := bindataFileInfo{name: "doc.go", size: 85, mode: os.FileMode(0664), modTime: time.Unix(1674204953, 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
}

View File

@ -603,14 +603,6 @@ func (db *Database) GetMasterAddress() (rst types.Address, err error) {
return
}
func (db *Database) TestNetworksEnabled() (rst bool, err error) {
err = db.makeSelectRow(TestNetworksEnabled).Scan(&rst)
if err == sql.ErrNoRows {
return rst, nil
}
return
}
func (db *Database) GetTestNetworksEnabled() (result bool, err error) {
err = db.makeSelectRow(TestNetworksEnabled).Scan(&result)
if err == sql.ErrNoRows {

View File

@ -20,12 +20,13 @@ func (m *Messenger) UpsertSavedAddress(ctx context.Context, sa wallet.SavedAddre
return m.syncNewSavedAddress(ctx, &sa, updatedClock, m.dispatchMessage)
}
func (m *Messenger) DeleteSavedAddress(ctx context.Context, chainID uint64, address gethcommon.Address) error {
updatedClock, err := m.savedAddressesManager.DeleteSavedAddress(chainID, address)
func (m *Messenger) DeleteSavedAddress(ctx context.Context, address gethcommon.Address, ens string, isTest bool) error {
updateClock := uint64(time.Now().Unix())
_, err := m.savedAddressesManager.DeleteSavedAddress(address, ens, isTest, updateClock)
if err != nil {
return err
}
return m.syncDeletedSavedAddress(ctx, chainID, address, updatedClock, m.dispatchMessage)
return m.syncDeletedSavedAddress(ctx, address, ens, isTest, updateClock, m.dispatchMessage)
}
func (m *Messenger) garbageCollectRemovedSavedAddresses() error {
@ -62,26 +63,30 @@ func (m *Messenger) dispatchSyncSavedAddress(ctx context.Context, syncMessage pr
func (m *Messenger) syncNewSavedAddress(ctx context.Context, savedAddress *wallet.SavedAddress, updateClock uint64, rawMessageHandler RawMessageHandler) error {
return m.dispatchSyncSavedAddress(ctx, protobuf.SyncSavedAddress{
Address: savedAddress.Address.Bytes(),
Name: savedAddress.Name,
Favourite: savedAddress.Favourite,
ChainId: savedAddress.ChainID,
UpdateClock: updateClock,
Address: savedAddress.Address.Bytes(),
Name: savedAddress.Name,
Favourite: savedAddress.Favourite,
Removed: savedAddress.Removed,
UpdateClock: savedAddress.UpdateClock,
ChainShortNames: savedAddress.ChainShortNames,
Ens: savedAddress.ENSName,
IsTest: savedAddress.IsTest,
}, rawMessageHandler)
}
func (m *Messenger) syncDeletedSavedAddress(ctx context.Context, chainID uint64, address gethcommon.Address, updateClock uint64, rawMessageHandler RawMessageHandler) error {
func (m *Messenger) syncDeletedSavedAddress(ctx context.Context, address gethcommon.Address, ens string, isTest bool, updateClock uint64, rawMessageHandler RawMessageHandler) error {
return m.dispatchSyncSavedAddress(ctx, protobuf.SyncSavedAddress{
Address: address.Bytes(),
ChainId: chainID,
UpdateClock: updateClock,
Removed: true,
IsTest: isTest,
Ens: ens,
}, rawMessageHandler)
}
func (m *Messenger) syncSavedAddress(ctx context.Context, savedAddress wallet.SavedAddress, rawMessageHandler RawMessageHandler) (err error) {
if savedAddress.Removed {
if err = m.syncDeletedSavedAddress(ctx, savedAddress.ChainID, savedAddress.Address, savedAddress.UpdateClock, rawMessageHandler); err != nil {
if err = m.syncDeletedSavedAddress(ctx, savedAddress.Address, savedAddress.ENSName, savedAddress.IsTest, savedAddress.UpdateClock, rawMessageHandler); err != nil {
return err
}
} else {
@ -95,18 +100,20 @@ func (m *Messenger) syncSavedAddress(ctx context.Context, savedAddress wallet.Sa
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)
_, err = m.savedAddressesManager.DeleteSavedAddress(
address, syncMessage.Ens, syncMessage.IsTest, syncMessage.UpdateClock)
if err != nil {
return err
}
state.Response.AddSavedAddress(&wallet.SavedAddress{ChainID: syncMessage.ChainId, Address: address})
state.Response.AddSavedAddress(&wallet.SavedAddress{Address: address, ENSName: syncMessage.Ens, IsTest: syncMessage.IsTest})
} else {
sa := wallet.SavedAddress{
Address: address,
Name: syncMessage.Name,
Favourite: syncMessage.Favourite,
ChainID: syncMessage.ChainId,
Address: address,
Name: syncMessage.Name,
Favourite: syncMessage.Favourite,
ChainShortNames: syncMessage.ChainShortNames,
ENSName: syncMessage.Ens,
IsTest: syncMessage.IsTest,
}
_, err = m.savedAddressesManager.AddSavedAddressIfNewerUpdate(sa, syncMessage.UpdateClock)

View File

@ -13,6 +13,7 @@ import (
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/multiaccounts/settings"
"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"
@ -113,12 +114,13 @@ func haveSameElements[T comparable](a []T, b []T, isEqual func(T, T) bool) bool
}
func savedAddressDataIsEqual(a, b wallet.SavedAddress) bool {
return a.Address == b.Address && a.ChainID == b.ChainID && a.Name == b.Name && a.Favourite == b.Favourite
return a.Address == b.Address && a.IsTest == b.IsTest && a.Name == b.Name &&
a.Favourite == b.Favourite && a.ENSName == b.ENSName && a.ChainShortNames == b.ChainShortNames
}
func (s *MessengerSyncSavedAddressesSuite) TestSyncExistingSavedAddresses() {
var testChainID1 uint64 = 1
var testChainID2 uint64 = 2
var isTestChain1 bool = false
var isTestChain2 bool = true
var testAddress1 = common.Address{1}
// Add saved addresses to main device
@ -126,13 +128,13 @@ func (s *MessengerSyncSavedAddressesSuite) TestSyncExistingSavedAddresses() {
Address: testAddress1,
Name: "TestC1A1",
Favourite: false,
ChainID: testChainID1,
IsTest: isTestChain1,
}
sa2 := wallet.SavedAddress{
Address: testAddress1,
ENSName: "test.ens.eth",
Name: "TestC2A1",
Favourite: true,
ChainID: testChainID2,
IsTest: isTestChain2,
}
savedAddressesManager := wallet.NewSavedAddressesManager(s.main.persistence.db)
@ -169,22 +171,21 @@ func (s *MessengerSyncSavedAddressesSuite) TestSyncExistingSavedAddresses() {
}
func (s *MessengerSyncSavedAddressesSuite) TestSyncSavedAddresses() {
var testChainID1 uint64 = 1
var isTestChain1 bool = true
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,
IsTest: isTestChain1,
}
sa2 := wallet.SavedAddress{
Address: testAddress2,
ENSName: "test.ens.eth",
Name: "TestC1A2",
Favourite: true,
ChainID: testChainID1,
IsTest: isTestChain1,
}
err := s.main.UpsertSavedAddress(context.Background(), sa1)
@ -213,26 +214,32 @@ func (s *MessengerSyncSavedAddressesSuite) TestSyncSavedAddresses() {
s.Require().True(haveSameElements([]wallet.SavedAddress{sa1, sa2}, savedAddresses, savedAddressDataIsEqual))
}
func (s *MessengerSyncSavedAddressesSuite) TestSyncDeletesOfSavedAddresses() {
var testChainID1 uint64 = 1
func (s *MessengerSyncSavedAddressesSuite) testSyncDeletesOfSavedAddressesWithTestModes(testModeMain bool, testModeOther bool) {
var isTestChain1 bool = true
var isTestChain2 bool = false
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,
IsTest: isTestChain1,
}
sa2 := wallet.SavedAddress{
Address: testAddress2,
ENSName: "test.ens.eth",
Name: "TestC1A2",
Favourite: true,
ChainID: testChainID1,
IsTest: isTestChain2,
}
err := s.main.UpsertSavedAddress(context.Background(), sa1)
err := s.main.settings.SaveSettingField(settings.TestNetworksEnabled, testModeMain)
s.Require().NoError(err)
err = s.other.settings.SaveSettingField(settings.TestNetworksEnabled, testModeOther)
s.Require().NoError(err)
s.Require().NoError(err)
err = s.main.UpsertSavedAddress(context.Background(), sa1)
s.Require().NoError(err)
err = s.main.UpsertSavedAddress(context.Background(), sa2)
s.Require().NoError(err)
@ -256,8 +263,8 @@ func (s *MessengerSyncSavedAddressesSuite) TestSyncDeletesOfSavedAddresses() {
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)
// Delete saved addresses with test mode = true and sync with the other device
err = s.main.DeleteSavedAddress(context.Background(), sa1.Address, sa1.ENSName, sa1.IsTest)
s.Require().NoError(err)
// Wait and check that saved addresses are synced
@ -265,11 +272,13 @@ func (s *MessengerSyncSavedAddressesSuite) TestSyncDeletesOfSavedAddresses() {
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)
sa := r.SavedAddresses()[0]
// We expect the deleted event to report address, ens, isTest
s.Require().Equal(sa1.Address, sa.Address)
s.Require().Equal(sa1.ENSName, sa.ENSName)
s.Require().Equal(sa1.IsTest, sa.IsTest)
s.Require().Equal("", sa.Name)
s.Require().Equal(false, sa.Favourite)
return true
}
return false
@ -282,4 +291,44 @@ func (s *MessengerSyncSavedAddressesSuite) TestSyncDeletesOfSavedAddresses() {
s.Require().NoError(err)
s.Require().Equal(1, len(savedAddresses))
s.Require().True(haveSameElements([]wallet.SavedAddress{sa2}, savedAddresses, savedAddressDataIsEqual))
// Delete saved addresses with test mode = false and sync with the other device
err = s.main.DeleteSavedAddress(context.Background(), sa2.Address, sa2.ENSName, sa2.IsTest)
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 {
sa := r.SavedAddresses()[0]
// We expect the deleted event to report address, ens, isTest
s.Require().Equal(sa2.Address, sa.Address)
s.Require().Equal(sa2.ENSName, sa.ENSName)
s.Require().Equal(sa2.IsTest, sa.IsTest)
s.Require().Equal("", sa.Name)
s.Require().Equal(false, sa.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(0, len(savedAddresses))
}
func (s *MessengerSyncSavedAddressesSuite) TestSyncDeletesOfSavedAddressesSameTestModeOnBothDevices() {
testModeMain := true
testModeOther := testModeMain
s.testSyncDeletesOfSavedAddressesWithTestModes(testModeMain, testModeOther)
}
func (s *MessengerSyncSavedAddressesSuite) TestSyncDeletesOfSavedAddressesDifferentTestModeOnDevices() {
testModeMain := true
testModeOther := !testModeMain
s.testSyncDeletesOfSavedAddressesWithTestModes(testModeMain, testModeOther)
}

View File

@ -2044,9 +2044,11 @@ 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"`
ChainShortNames string `protobuf:"bytes,8,opt,name=chain_short_names,json=chainShortNames,proto3" json:"chain_short_names,omitempty"`
Ens string `protobuf:"bytes,9,opt,name=ens,proto3" json:"ens,omitempty"`
IsTest bool `protobuf:"varint,10,opt,name=is_test,json=isTest,proto3" json:"is_test,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -2098,13 +2100,6 @@ func (m *SyncSavedAddress) GetFavourite() bool {
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
@ -2119,6 +2114,27 @@ func (m *SyncSavedAddress) GetUpdateClock() uint64 {
return 0
}
func (m *SyncSavedAddress) GetChainShortNames() string {
if m != nil {
return m.ChainShortNames
}
return ""
}
func (m *SyncSavedAddress) GetEns() string {
if m != nil {
return m.Ens
}
return ""
}
func (m *SyncSavedAddress) GetIsTest() bool {
if m != nil {
return m.IsTest
}
return false
}
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"`
@ -2784,170 +2800,172 @@ func init() {
}
var fileDescriptor_d61ab7221f0b5518 = []byte{
// 2631 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x39, 0x4d, 0x73, 0x1b, 0xc7,
0xb1, 0x5e, 0x00, 0xc4, 0x47, 0x03, 0x04, 0xa1, 0x11, 0x2d, 0x41, 0x14, 0x5d, 0x92, 0xd6, 0x76,
0x59, 0xaf, 0xca, 0x8f, 0x7e, 0x4f, 0x8e, 0xe3, 0xc4, 0x1f, 0x65, 0x43, 0x00, 0x62, 0xd1, 0x14,
0x41, 0xd6, 0x90, 0x90, 0x63, 0x57, 0xaa, 0xb6, 0x86, 0xbb, 0x23, 0x62, 0xc3, 0xc5, 0xee, 0x66,
0x67, 0x40, 0x05, 0xb9, 0xe5, 0x2f, 0xe4, 0x92, 0x1c, 0x7d, 0x4e, 0x6e, 0xa9, 0x72, 0x4e, 0x39,
0xe4, 0x98, 0x5b, 0x0e, 0x39, 0x26, 0x87, 0x9c, 0xf3, 0x2b, 0x52, 0xd3, 0x33, 0xbb, 0xd8, 0x05,
0x01, 0x46, 0xaa, 0x9c, 0x72, 0xc2, 0x74, 0x6f, 0x77, 0x6f, 0x4f, 0x7f, 0x37, 0x16, 0x36, 0x63,
0xe6, 0x27, 0x7e, 0x78, 0xbe, 0x17, 0x27, 0x91, 0x8c, 0x48, 0x1d, 0x7f, 0xce, 0x66, 0xcf, 0x77,
0x6e, 0x8a, 0x79, 0xe8, 0x3a, 0x82, 0x4b, 0xe9, 0x87, 0xe7, 0x42, 0x3f, 0xde, 0xb1, 0x59, 0x1c,
0x07, 0xbe, 0xcb, 0xa4, 0x1f, 0x85, 0xce, 0x94, 0x4b, 0xe6, 0x31, 0xc9, 0x9c, 0x29, 0x17, 0x82,
0x9d, 0x73, 0x4d, 0x63, 0x33, 0xb8, 0xfb, 0x23, 0x2e, 0xdd, 0x89, 0x1f, 0x9e, 0x3f, 0x66, 0xee,
0x05, 0xf7, 0xc6, 0xf1, 0x80, 0x49, 0x36, 0xe0, 0x92, 0xf9, 0x81, 0x20, 0xf7, 0xa0, 0x89, 0x4c,
0xe1, 0x6c, 0x7a, 0xc6, 0x93, 0xae, 0x75, 0xdf, 0x7a, 0xb8, 0x49, 0x41, 0xa1, 0x46, 0x88, 0x21,
0x0f, 0xa0, 0x25, 0x23, 0xc9, 0x82, 0x94, 0xa2, 0x84, 0x14, 0x4d, 0xc4, 0x69, 0x12, 0xfb, 0x1f,
0x1b, 0x50, 0x55, 0xb2, 0x67, 0x31, 0xd9, 0x86, 0x0d, 0x37, 0x88, 0xdc, 0x0b, 0x14, 0x54, 0xa1,
0x1a, 0x20, 0x6d, 0x28, 0xf9, 0x1e, 0x72, 0x36, 0x68, 0xc9, 0xf7, 0xc8, 0x67, 0x50, 0x77, 0xa3,
0x50, 0x32, 0x57, 0x8a, 0x6e, 0xf9, 0x7e, 0xf9, 0x61, 0xf3, 0xd1, 0x9b, 0x7b, 0xe9, 0x4d, 0xf7,
0x4e, 0xe6, 0xa1, 0xbb, 0x1f, 0x0a, 0xc9, 0x82, 0x00, 0x2f, 0xd6, 0xd7, 0x94, 0xcf, 0x1e, 0xd1,
0x8c, 0x89, 0xfc, 0x10, 0x9a, 0x6e, 0x34, 0x9d, 0xce, 0x42, 0x5f, 0xfa, 0x5c, 0x74, 0x2b, 0x28,
0xe3, 0x76, 0x51, 0x46, 0xdf, 0x10, 0xcc, 0x69, 0x9e, 0x96, 0x1c, 0xc1, 0x56, 0x2a, 0xc6, 0xd8,
0xa0, 0xbb, 0x71, 0xdf, 0x7a, 0xd8, 0x7c, 0xf4, 0xf6, 0x82, 0xfd, 0x1a, 0x83, 0xd1, 0x65, 0x6e,
0x32, 0x06, 0x92, 0x93, 0x9f, 0xca, 0xac, 0xbe, 0x8a, 0xcc, 0x15, 0x02, 0xc8, 0xfb, 0x50, 0x8b,
0x93, 0xe8, 0xb9, 0x1f, 0xf0, 0x6e, 0x0d, 0x65, 0xdd, 0x59, 0xc8, 0x4a, 0x65, 0x1c, 0x6b, 0x02,
0x9a, 0x52, 0x92, 0x43, 0x68, 0x9b, 0x63, 0xaa, 0x47, 0xfd, 0x55, 0xf4, 0x58, 0x62, 0x26, 0xef,
0x41, 0xcd, 0x44, 0x5c, 0xb7, 0x81, 0x72, 0x5e, 0x2f, 0x9a, 0xf8, 0x44, 0x3f, 0xa4, 0x29, 0x95,
0x32, 0x6e, 0x1a, 0xa2, 0xa9, 0x02, 0xf0, 0x4a, 0xc6, 0x5d, 0xe2, 0x26, 0x1f, 0x40, 0xfd, 0x82,
0xcf, 0x5d, 0x96, 0x78, 0xa2, 0xdb, 0x5c, 0x36, 0x83, 0x52, 0xa1, 0x17, 0x04, 0x07, 0x86, 0x80,
0x66, 0xa4, 0x4a, 0x8f, 0xf4, 0x9c, 0xea, 0xd1, 0x7a, 0x25, 0x3d, 0x96, 0xb8, 0xed, 0x3f, 0x56,
0xa0, 0x75, 0x38, 0x0b, 0xa4, 0xdf, 0x73, 0xdd, 0x68, 0x16, 0x4a, 0x42, 0xa0, 0x12, 0xb2, 0x29,
0xc7, 0x38, 0x6f, 0x50, 0x3c, 0x93, 0x5d, 0x68, 0x48, 0x7f, 0xca, 0x85, 0x64, 0xd3, 0x18, 0xa3,
0xbd, 0x4c, 0x17, 0x08, 0xf5, 0xd4, 0xf7, 0x78, 0x28, 0x7d, 0x37, 0x0a, 0xbb, 0x65, 0x64, 0x5b,
0x20, 0xc8, 0xe7, 0x00, 0x6e, 0x14, 0x44, 0x89, 0x33, 0x61, 0x62, 0x62, 0x02, 0xfa, 0xc1, 0x42,
0xd9, 0xfc, 0xbb, 0xf7, 0xfa, 0x51, 0x10, 0xcd, 0x92, 0x27, 0x4c, 0x4c, 0x68, 0x03, 0x99, 0xd4,
0x91, 0x74, 0xa1, 0x86, 0xc0, 0xbe, 0x87, 0x01, 0x5d, 0xa6, 0x29, 0x48, 0xde, 0xc9, 0xac, 0xe1,
0x98, 0xf2, 0x82, 0xe1, 0xd9, 0xa0, 0x6d, 0x83, 0x3e, 0xd6, 0x58, 0x72, 0x1b, 0x6a, 0x17, 0x7c,
0xee, 0xcc, 0x7c, 0x0f, 0x63, 0xae, 0x41, 0xab, 0x17, 0x7c, 0x3e, 0xf6, 0x3d, 0xf2, 0x09, 0x54,
0xfd, 0x29, 0x3b, 0xe7, 0x2a, 0x9e, 0x94, 0x66, 0x6f, 0xad, 0xd1, 0x6c, 0x1f, 0xef, 0x23, 0xe7,
0xfb, 0x8a, 0x98, 0x1a, 0x9e, 0x1d, 0x1b, 0x60, 0xa1, 0xb2, 0x2a, 0x11, 0x7e, 0xe8, 0xf1, 0x9f,
0x77, 0xad, 0xfb, 0xe5, 0x87, 0x65, 0xaa, 0x81, 0x9d, 0xbf, 0x59, 0xb0, 0x59, 0xe0, 0xce, 0x2b,
0x63, 0x15, 0x94, 0x49, 0x4d, 0x5f, 0xca, 0x99, 0xbe, 0x0b, 0xb5, 0x98, 0xcd, 0x83, 0x88, 0x79,
0x68, 0xda, 0x16, 0x4d, 0x41, 0xf5, 0xba, 0x17, 0xbe, 0x27, 0x95, 0x4d, 0x95, 0x51, 0x34, 0x40,
0x6e, 0x41, 0x75, 0xc2, 0xfd, 0xf3, 0x89, 0x34, 0xb6, 0x32, 0x10, 0xd9, 0x81, 0xba, 0x4a, 0x00,
0xe1, 0xff, 0x82, 0xa3, 0x8d, 0xca, 0x34, 0x83, 0xc9, 0x9b, 0xb0, 0x99, 0xe0, 0xc9, 0x91, 0x2c,
0x39, 0xe7, 0x12, 0x6d, 0x54, 0xa6, 0x2d, 0x8d, 0x3c, 0x45, 0xdc, 0xa2, 0x00, 0xd6, 0x73, 0x05,
0xd0, 0xfe, 0xab, 0x05, 0x37, 0x9f, 0x46, 0x2e, 0x0b, 0x8c, 0xa5, 0x8f, 0x8d, 0x72, 0x1f, 0x40,
0xe5, 0x82, 0xcf, 0x05, 0x9a, 0xa2, 0xe0, 0xef, 0x15, 0xc4, 0x7b, 0x07, 0x7c, 0x4e, 0x91, 0x9c,
0x7c, 0x04, 0xad, 0xa9, 0x32, 0x3b, 0xd3, 0x66, 0x47, 0x4b, 0x34, 0x1f, 0xdd, 0x5a, 0xed, 0x14,
0x5a, 0xa0, 0x55, 0x37, 0x8c, 0x99, 0x10, 0x2f, 0xa2, 0xc4, 0x33, 0x51, 0x98, 0xc1, 0x3b, 0xff,
0x0b, 0xe5, 0x03, 0x3e, 0x5f, 0x19, 0xdb, 0x04, 0x2a, 0xaa, 0x29, 0xe0, 0xab, 0x5a, 0x14, 0xcf,
0xf6, 0xb7, 0x16, 0x74, 0x94, 0x8e, 0xf9, 0x6a, 0xbd, 0xa6, 0x03, 0xbc, 0x03, 0x5b, 0x7e, 0x8e,
0xca, 0xc9, 0xda, 0x41, 0x3b, 0x8f, 0xde, 0xf7, 0xb0, 0x1f, 0xf1, 0x4b, 0xdf, 0xe5, 0x8e, 0x9c,
0xc7, 0xdc, 0x68, 0x08, 0x1a, 0x75, 0x3a, 0x8f, 0x79, 0xa6, 0x5c, 0xa5, 0xe8, 0xfd, 0x4b, 0x9e,
0x08, 0x3f, 0x0a, 0xd1, 0x9d, 0x9b, 0x34, 0x05, 0xed, 0x7f, 0x5a, 0x70, 0x7b, 0x4d, 0x43, 0x79,
0xc9, 0x5e, 0xf5, 0x26, 0x6c, 0x9a, 0xaa, 0xe8, 0x60, 0x38, 0x1b, 0x95, 0x5a, 0x06, 0xa9, 0x63,
0xf5, 0x0e, 0xd4, 0x79, 0x28, 0x9c, 0x9c, 0x62, 0x35, 0x1e, 0x8a, 0x91, 0xd2, 0xed, 0x01, 0xb4,
0x02, 0x26, 0xa4, 0x33, 0x8b, 0x3d, 0x26, 0xb9, 0xce, 0xcd, 0x0a, 0x6d, 0x2a, 0xdc, 0x58, 0xa3,
0xd4, 0x9d, 0xc5, 0x5c, 0x48, 0x3e, 0x75, 0x24, 0x3b, 0x57, 0xad, 0xa3, 0xac, 0xee, 0xac, 0x51,
0xa7, 0xec, 0x5c, 0x90, 0xb7, 0xa1, 0x1d, 0xa8, 0x80, 0x70, 0x42, 0xdf, 0xbd, 0xc0, 0x97, 0xe8,
0xf4, 0xdc, 0x44, 0xec, 0xc8, 0x20, 0xed, 0x5f, 0x56, 0xe1, 0xce, 0xda, 0xee, 0x49, 0xfe, 0x0f,
0xb6, 0xf3, 0x8a, 0x38, 0xc8, 0x1b, 0xcc, 0xcd, 0xed, 0x49, 0x4e, 0xa1, 0xa7, 0xfa, 0xc9, 0x7f,
0xb1, 0x29, 0x94, 0x6f, 0x99, 0xe7, 0x71, 0x0f, 0xfb, 0x56, 0x9d, 0x6a, 0x40, 0xc5, 0xc9, 0x99,
0x72, 0x32, 0xf7, 0xb0, 0x2d, 0xd5, 0x69, 0x0a, 0x2a, 0xfa, 0xe9, 0x4c, 0xe9, 0xd4, 0xd4, 0xf4,
0x08, 0x28, 0xfa, 0x84, 0x4f, 0xa3, 0x4b, 0xee, 0x61, 0xfb, 0xa8, 0xd3, 0x14, 0x24, 0xf7, 0xa1,
0x35, 0x61, 0xc2, 0x41, 0xb1, 0xce, 0x4c, 0x74, 0x37, 0xf1, 0x31, 0x4c, 0x98, 0xe8, 0x29, 0xd4,
0x58, 0xf5, 0xce, 0x9b, 0x97, 0x3c, 0xf1, 0x9f, 0xa7, 0xe3, 0x99, 0x90, 0x4c, 0xce, 0x44, 0xb7,
0x8d, 0x35, 0x83, 0xe4, 0x1f, 0x9d, 0xe0, 0x13, 0x1c, 0xb4, 0x92, 0x99, 0x90, 0x29, 0xe5, 0x16,
0x52, 0x36, 0x11, 0x67, 0x48, 0x3e, 0x85, 0xbb, 0x66, 0xfa, 0x70, 0x12, 0xfe, 0xb3, 0x19, 0x17,
0x52, 0x7b, 0x11, 0x59, 0x78, 0xb7, 0x83, 0x1c, 0x5d, 0x43, 0x42, 0x35, 0x05, 0x3a, 0x53, 0xf1,
0xf3, 0xf5, 0xec, 0x3a, 0x0d, 0x6e, 0xac, 0x65, 0xef, 0x63, 0x66, 0x7c, 0x06, 0xbb, 0xcb, 0xec,
0xca, 0x1c, 0x92, 0x9b, 0xd7, 0x13, 0xe4, 0xbf, 0x53, 0xe4, 0xa7, 0x48, 0xa1, 0xdf, 0xbf, 0x5e,
0x80, 0x56, 0xe0, 0xe6, 0x7a, 0x01, 0x5a, 0x83, 0x07, 0xd0, 0xf2, 0x7c, 0x11, 0x07, 0x6c, 0xae,
0xe3, 0x6b, 0x1b, 0x5d, 0xdf, 0x34, 0x38, 0x15, 0x63, 0xf6, 0x8b, 0xab, 0xf9, 0x9e, 0xb6, 0xec,
0xd5, 0xf9, 0x7e, 0x25, 0xa8, 0x4b, 0x2b, 0x82, 0x7a, 0x39, 0x72, 0xcb, 0x57, 0x22, 0xd7, 0x7e,
0x0c, 0x3b, 0xcb, 0x2f, 0x3e, 0x9e, 0x9d, 0x05, 0xbe, 0xdb, 0x9f, 0xb0, 0x97, 0xac, 0x35, 0xf6,
0x77, 0x65, 0xd8, 0x2c, 0x8c, 0xae, 0xff, 0x96, 0xaf, 0x85, 0x89, 0x79, 0x0f, 0x9a, 0x71, 0xe2,
0x5f, 0x32, 0xc9, 0x9d, 0x0b, 0x3e, 0x37, 0x1d, 0x10, 0x0c, 0x4a, 0x55, 0xf4, 0xfb, 0xaa, 0xaa,
0x0a, 0x37, 0xf1, 0x63, 0xa5, 0x17, 0xe6, 0x65, 0x8b, 0xe6, 0x51, 0xaa, 0x21, 0xfe, 0x34, 0xf2,
0x43, 0x93, 0x95, 0x75, 0x6a, 0x20, 0xd5, 0x2e, 0x74, 0xac, 0x72, 0x0f, 0x1b, 0x62, 0x9d, 0x66,
0xf0, 0x22, 0x69, 0x6a, 0xf9, 0xa4, 0x39, 0x82, 0x8e, 0xf1, 0xae, 0x70, 0x64, 0xe4, 0x28, 0x39,
0x66, 0x6a, 0x78, 0x7b, 0xdd, 0x80, 0x6e, 0xc8, 0x4f, 0xa3, 0x2f, 0x23, 0x3f, 0xa4, 0xed, 0xa4,
0x00, 0x93, 0x8f, 0xa1, 0x9e, 0x8e, 0x85, 0x66, 0x0c, 0xbd, 0xb7, 0x46, 0x90, 0x99, 0x47, 0x05,
0xcd, 0x18, 0xd4, 0xd4, 0xc5, 0x43, 0x37, 0x99, 0xc7, 0x32, 0x4b, 0xfa, 0x05, 0x42, 0x3d, 0x15,
0x31, 0x77, 0x25, 0x5b, 0xa4, 0xfe, 0x02, 0xa1, 0x9a, 0x96, 0x21, 0x55, 0x09, 0x8c, 0x8d, 0xba,
0x85, 0x96, 0x6b, 0x2f, 0xd0, 0x07, 0x7c, 0x2e, 0xec, 0xbf, 0x58, 0x70, 0xf7, 0x9a, 0x1b, 0x19,
0x7f, 0x59, 0x99, 0xbf, 0xde, 0x00, 0x88, 0x31, 0x36, 0xd0, 0x5d, 0xda, 0xff, 0x0d, 0x8d, 0x51,
0xde, 0xca, 0x9c, 0x5e, 0xce, 0x3b, 0xfd, 0x9a, 0xc2, 0x7a, 0x1b, 0x6a, 0xee, 0x84, 0x49, 0xd5,
0x55, 0x37, 0xf4, 0xa8, 0xa4, 0xc0, 0x7d, 0x4f, 0xc5, 0x6d, 0xba, 0x5a, 0xcc, 0xd5, 0xd3, 0xaa,
0x76, 0x7c, 0x86, 0xdb, 0x47, 0x27, 0xea, 0xf4, 0xad, 0xe9, 0x97, 0x21, 0x60, 0xff, 0xaa, 0x04,
0x9d, 0xe5, 0x70, 0x26, 0x9f, 0xe6, 0xd6, 0xb6, 0x2b, 0x13, 0xcb, 0x9a, 0xc6, 0x93, 0x5b, 0xda,
0xbe, 0x80, 0x96, 0xb9, 0xb5, 0xd2, 0x4e, 0x74, 0x4b, 0xcb, 0xa3, 0xe4, 0xfa, 0xfc, 0xa1, 0xcd,
0x38, 0x3b, 0x0b, 0xf2, 0x31, 0xd4, 0xd2, 0xc9, 0xa7, 0x8c, 0xf1, 0x70, 0x8d, 0x1a, 0xe9, 0x10,
0x94, 0x72, 0xfc, 0x07, 0xab, 0xa3, 0xfd, 0x21, 0x6c, 0xe1, 0x53, 0xa5, 0x90, 0xe9, 0x03, 0x2f,
0x97, 0xd7, 0x9f, 0xc0, 0x76, 0xca, 0x78, 0xa8, 0x97, 0x73, 0x41, 0x39, 0x7b, 0x59, 0xee, 0xcf,
0xe1, 0x16, 0x6e, 0x3a, 0xae, 0xf4, 0x2f, 0x7d, 0x39, 0xef, 0xf3, 0x50, 0xf2, 0xe4, 0x1a, 0xfe,
0x0e, 0x94, 0x7d, 0x4f, 0x9b, 0xb7, 0x45, 0xd5, 0xd1, 0x1e, 0xe8, 0xda, 0x54, 0x94, 0xd0, 0x73,
0x5d, 0x8e, 0x49, 0xf0, 0xb2, 0x52, 0x86, 0x3a, 0xc8, 0x8b, 0x52, 0x06, 0xbe, 0x98, 0xfa, 0x42,
0xbc, 0x82, 0x98, 0x6f, 0x2d, 0x68, 0x29, 0x39, 0x8f, 0xa3, 0xe8, 0x62, 0xca, 0x92, 0x8b, 0xf5,
0x8c, 0xb3, 0x24, 0x30, 0x66, 0x50, 0xc7, 0x6c, 0xf2, 0x2b, 0xe7, 0x26, 0xbf, 0xbb, 0xd0, 0xc0,
0xaa, 0xed, 0x28, 0x5a, 0x9d, 0x15, 0x75, 0x44, 0x8c, 0x93, 0x20, 0xdf, 0xbe, 0x37, 0x8a, 0xed,
0xfb, 0x0d, 0x00, 0x8f, 0x07, 0x5c, 0x8d, 0x41, 0x4c, 0x62, 0x56, 0x54, 0x68, 0xc3, 0x60, 0x7a,
0xd2, 0xfe, 0x52, 0x07, 0x7f, 0x3f, 0xe0, 0x2c, 0x79, 0xe2, 0x0b, 0x19, 0x25, 0xf3, 0x7c, 0x8e,
0x59, 0x85, 0x1c, 0x7b, 0x03, 0xc0, 0x55, 0x84, 0x5a, 0x56, 0x49, 0xcb, 0x32, 0x98, 0x9e, 0xb4,
0xff, 0x6c, 0x01, 0x51, 0xc2, 0xcc, 0xae, 0x7e, 0xec, 0xbb, 0x72, 0x96, 0xf0, 0x95, 0x33, 0x76,
0x6e, 0x89, 0x29, 0xad, 0x59, 0x62, 0xca, 0x38, 0xde, 0x5e, 0x59, 0x62, 0x2a, 0x88, 0x4e, 0x97,
0x98, 0xbb, 0xd0, 0xc0, 0x7e, 0x86, 0x5b, 0x8c, 0x1e, 0x88, 0x71, 0x8b, 0x39, 0x59, 0xb9, 0xc5,
0x54, 0x91, 0x60, 0xcd, 0x16, 0x53, 0xcb, 0x6f, 0x31, 0x13, 0xb8, 0x79, 0xf5, 0x26, 0x62, 0xfd,
0xa2, 0xf6, 0x03, 0xa8, 0xc7, 0x86, 0xc8, 0x24, 0xfb, 0x6e, 0x31, 0xcf, 0x8a, 0x92, 0x68, 0x46,
0x6d, 0xff, 0xae, 0x04, 0x37, 0x14, 0xc1, 0x57, 0x2c, 0x08, 0xb8, 0xbc, 0xbe, 0x81, 0x77, 0xa1,
0xc6, 0x3c, 0x2f, 0xe1, 0x42, 0xa4, 0x56, 0x33, 0xa0, 0xb2, 0xcf, 0x0b, 0x14, 0x80, 0x66, 0xab,
0x53, 0x03, 0x29, 0xdb, 0x2b, 0xdf, 0xa1, 0xd5, 0xea, 0x14, 0xcf, 0x0a, 0x87, 0x0b, 0x87, 0xae,
0x9f, 0x78, 0x56, 0x92, 0x95, 0xef, 0xd5, 0x50, 0xa0, 0xf7, 0xe5, 0x14, 0x54, 0xd4, 0x31, 0x93,
0x13, 0x33, 0x7b, 0xe2, 0x59, 0xf5, 0x92, 0xac, 0x84, 0xe3, 0xf6, 0xd7, 0xca, 0xd7, 0xf4, 0xd4,
0xdf, 0x8d, 0x9c, 0xbf, 0xd5, 0x7d, 0xd4, 0x8a, 0x8e, 0x7d, 0xa9, 0x41, 0x35, 0x80, 0x5e, 0xf5,
0x3d, 0x8f, 0x87, 0xa6, 0x21, 0x19, 0x68, 0xfd, 0x30, 0x6a, 0x1f, 0xea, 0x08, 0x2b, 0x18, 0x4b,
0x90, 0x0f, 0xa1, 0x6e, 0x6a, 0x5e, 0x5a, 0xad, 0xef, 0x16, 0xad, 0x5f, 0xa0, 0xa7, 0x19, 0xb1,
0xfd, 0x07, 0x4b, 0x87, 0xff, 0x09, 0xbb, 0xe4, 0x5e, 0xcf, 0xd8, 0x32, 0x67, 0x65, 0xab, 0x68,
0xe5, 0x55, 0xeb, 0xf8, 0x2e, 0x34, 0x9e, 0xb3, 0xcb, 0x68, 0x96, 0xf8, 0x92, 0x1b, 0xe3, 0x2f,
0x10, 0xaa, 0x93, 0xb9, 0x13, 0xe6, 0xe3, 0x16, 0x58, 0x41, 0x57, 0xd6, 0x10, 0xde, 0xf7, 0xae,
0x49, 0xd9, 0x07, 0xd0, 0xd2, 0xd3, 0x97, 0x93, 0x8f, 0xcc, 0xa6, 0xc6, 0xe1, 0x78, 0x68, 0xff,
0xda, 0x82, 0xd7, 0x57, 0xce, 0x03, 0x6b, 0x22, 0x67, 0xb9, 0x3b, 0xea, 0x1b, 0x14, 0xba, 0xe3,
0x10, 0xee, 0x4d, 0x74, 0x01, 0x70, 0x58, 0xe2, 0x4e, 0xfc, 0x4b, 0xee, 0x88, 0x59, 0x1c, 0x47,
0x89, 0x74, 0x78, 0xc8, 0xce, 0x02, 0x33, 0x0b, 0xd6, 0xe9, 0xae, 0x21, 0xeb, 0x69, 0xaa, 0x13,
0x4d, 0x34, 0xd4, 0x34, 0xf6, 0xef, 0x2d, 0xdd, 0x3a, 0x4e, 0xd5, 0x30, 0xaf, 0xd6, 0x03, 0x9e,
0xbc, 0xe4, 0xfa, 0xf9, 0x29, 0x54, 0xcd, 0x3e, 0xa0, 0xde, 0xd3, 0x5e, 0x9e, 0xa1, 0x72, 0x02,
0xf7, 0x4e, 0x17, 0x9b, 0x02, 0x35, 0x4c, 0xf6, 0x47, 0xd0, 0xcc, 0xa1, 0x49, 0x13, 0x6a, 0xe3,
0xd1, 0xc1, 0xe8, 0xe8, 0xab, 0x51, 0xe7, 0x35, 0x05, 0x9c, 0xd2, 0xf1, 0xc9, 0xe9, 0x70, 0xd0,
0xb1, 0xc8, 0x0d, 0xd8, 0x1c, 0x8f, 0x10, 0xfc, 0xea, 0x88, 0x9e, 0x3e, 0xf9, 0xba, 0x53, 0xb2,
0xbf, 0x2d, 0xeb, 0x59, 0xfa, 0x59, 0x6e, 0x57, 0x31, 0x83, 0xcd, 0x1a, 0xe5, 0x09, 0x54, 0x9e,
0x27, 0xd1, 0x34, 0x0d, 0x05, 0x75, 0x56, 0x17, 0x92, 0x91, 0xa9, 0xd9, 0x25, 0x19, 0xa9, 0xd0,
0x70, 0x27, 0x2a, 0xf2, 0xc2, 0xf3, 0x74, 0x8e, 0x59, 0x20, 0x94, 0x4b, 0xcc, 0xf4, 0xa7, 0xcb,
0xa9, 0x59, 0x11, 0x33, 0x5c, 0x0f, 0xff, 0xc0, 0x48, 0xb8, 0x88, 0xa3, 0x50, 0xa4, 0x69, 0x99,
0xc1, 0xaa, 0x16, 0x27, 0x3c, 0x0e, 0x7c, 0xcd, 0xac, 0x43, 0xa4, 0x61, 0x30, 0x3d, 0x49, 0xf8,
0xea, 0x9d, 0xac, 0x8e, 0x96, 0xfd, 0x5e, 0xd1, 0xb2, 0x2b, 0x6e, 0xbd, 0xf7, 0xec, 0xca, 0xd6,
0xb6, 0x72, 0x93, 0xd3, 0x3e, 0x6c, 0x64, 0x0d, 0xfc, 0xc7, 0x40, 0xae, 0x72, 0x5e, 0xf1, 0xc5,
0xf1, 0x70, 0x34, 0xd8, 0x1f, 0x7d, 0xd1, 0xb1, 0x48, 0x0b, 0xea, 0xbd, 0x7e, 0x7f, 0x78, 0xac,
0x3c, 0x53, 0x52, 0xd0, 0x60, 0xd8, 0x7f, 0xba, 0x3f, 0x1a, 0x0e, 0x3a, 0x65, 0x05, 0xf5, 0x7b,
0xa3, 0xfe, 0xf0, 0xe9, 0x70, 0xd0, 0xa9, 0xd8, 0x7f, 0xb7, 0x74, 0x67, 0xef, 0x17, 0x56, 0xa6,
0x01, 0x77, 0x7d, 0xb1, 0xfe, 0xbf, 0x98, 0x5d, 0x68, 0x18, 0x7b, 0xee, 0xa7, 0x91, 0xb6, 0x40,
0x90, 0x9f, 0xc0, 0x96, 0x67, 0xf8, 0x9d, 0x42, 0xe4, 0xbd, 0xbf, 0x3c, 0x23, 0xad, 0x7a, 0xe5,
0x5e, 0x7a, 0x30, 0xe6, 0x69, 0x7b, 0x05, 0xd8, 0x7e, 0x17, 0xda, 0x45, 0x8a, 0xc2, 0x65, 0x5f,
0x2b, 0x5c, 0xd6, 0xb2, 0xbf, 0xb3, 0x60, 0x6b, 0xe9, 0xbf, 0xee, 0xf5, 0xdd, 0x66, 0x79, 0x39,
0x2c, 0x5d, 0x59, 0x0e, 0xc9, 0xbb, 0x40, 0xf2, 0x24, 0x4e, 0x7e, 0xca, 0xee, 0xe4, 0x08, 0xf5,
0xb6, 0x99, 0x6f, 0x5f, 0x95, 0x57, 0x6a, 0x5f, 0x02, 0x80, 0xb2, 0x17, 0x66, 0xd4, 0xcb, 0xb7,
0x75, 0xab, 0xd8, 0xd6, 0x0f, 0xa0, 0x69, 0x3e, 0xd6, 0x9c, 0xaa, 0xde, 0x53, 0x42, 0x3b, 0xff,
0xcf, 0xe2, 0x25, 0xbd, 0xc5, 0xe7, 0x9d, 0x43, 0xf3, 0x75, 0xc7, 0x08, 0xdd, 0x53, 0x0c, 0x34,
0xcf, 0x6d, 0xff, 0xd6, 0x82, 0xb6, 0xd2, 0x2a, 0xf7, 0xe6, 0xef, 0x43, 0x33, 0xc9, 0xa0, 0xb4,
0x0b, 0x6c, 0x2f, 0xe4, 0x2f, 0x48, 0x69, 0x9e, 0x90, 0x3c, 0x82, 0x6d, 0x31, 0x3b, 0x4b, 0x3b,
0xc9, 0x97, 0x22, 0x0a, 0x1f, 0xcf, 0x25, 0x4f, 0xfb, 0xeb, 0xca, 0x67, 0xe4, 0x5d, 0xb8, 0x91,
0x2e, 0x5d, 0x0b, 0x06, 0xbd, 0x89, 0x5e, 0x7d, 0x60, 0xff, 0xc6, 0x82, 0xa6, 0x52, 0xd6, 0xfc,
0x77, 0x8f, 0xd3, 0x5e, 0xe6, 0x51, 0x75, 0x5c, 0xd9, 0x56, 0x6e, 0x41, 0xd5, 0xfc, 0x7d, 0x63,
0x1a, 0xba, 0xf9, 0xf7, 0x26, 0x17, 0x13, 0x95, 0x42, 0x4c, 0xec, 0x42, 0xc3, 0xb4, 0x29, 0x2e,
0xba, 0x1b, 0x38, 0x83, 0x2e, 0x10, 0x8b, 0xf4, 0xa8, 0xe6, 0xa7, 0x9c, 0x3f, 0x99, 0xd9, 0xc3,
0xa8, 0xa6, 0xc6, 0xdd, 0x28, 0x24, 0x1f, 0x41, 0x95, 0xe1, 0x09, 0x75, 0x6c, 0x3f, 0xb2, 0x8b,
0xa1, 0x50, 0x20, 0xde, 0xd3, 0x3f, 0xd4, 0x70, 0x90, 0xb7, 0x60, 0x33, 0x0a, 0x3c, 0x43, 0x32,
0xce, 0xca, 0x7b, 0x11, 0x49, 0xde, 0xc3, 0x4b, 0x28, 0xc8, 0x6c, 0x35, 0xaf, 0xaf, 0x7c, 0x05,
0x4d, 0xa9, 0x54, 0xbb, 0xab, 0x1a, 0xed, 0x6e, 0xc0, 0xe6, 0xc1, 0xf0, 0xeb, 0x7e, 0x8f, 0x0e,
0x9c, 0xde, 0x60, 0x80, 0x99, 0x44, 0xa0, 0xdd, 0xeb, 0xf7, 0x8f, 0xc6, 0xa3, 0xd3, 0x13, 0x83,
0xb3, 0xc8, 0x4d, 0xd8, 0x4a, 0xc9, 0x06, 0xc3, 0xa7, 0x43, 0x5d, 0x5f, 0xb6, 0xa1, 0x93, 0x11,
0xd2, 0xe1, 0xe1, 0xd1, 0x33, 0xac, 0x33, 0x00, 0xd5, 0xa7, 0x47, 0xfd, 0x03, 0x55, 0x65, 0x54,
0x52, 0x8e, 0x47, 0x06, 0xda, 0x20, 0x5b, 0xd0, 0x1c, 0xef, 0x0f, 0x9c, 0xf1, 0xf1, 0xa0, 0xa7,
0x04, 0x54, 0x49, 0x07, 0x5a, 0xa3, 0xde, 0xe1, 0xd0, 0xe9, 0x3f, 0xe9, 0x8d, 0xbe, 0x18, 0x0e,
0x3a, 0x35, 0xfb, 0x1b, 0xdd, 0xed, 0x72, 0xdf, 0x66, 0xc8, 0xff, 0xe7, 0x3e, 0xe4, 0xe8, 0x38,
0x5c, 0x73, 0xbd, 0xc5, 0x47, 0x9c, 0xcc, 0x3d, 0xa5, 0x9c, 0x7b, 0x1e, 0x6f, 0x7e, 0xd3, 0xdc,
0x7b, 0xef, 0xe3, 0x94, 0xf5, 0xac, 0x8a, 0xa7, 0xf7, 0xff, 0x15, 0x00, 0x00, 0xff, 0xff, 0x0a,
0x4f, 0x5b, 0xfc, 0x39, 0x1d, 0x00, 0x00,
// 2670 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x39, 0xcd, 0x73, 0xdb, 0xc6,
0xf5, 0x01, 0x49, 0xf1, 0xe3, 0x91, 0xa2, 0xe8, 0xb5, 0x63, 0xd3, 0xb2, 0x32, 0xb6, 0x91, 0x64,
0xe2, 0xdf, 0x6f, 0x52, 0xa5, 0x75, 0x9a, 0xa6, 0xcd, 0xc7, 0x24, 0x34, 0xc9, 0xc6, 0xb2, 0x2c,
0x4a, 0xb3, 0x12, 0x9d, 0x26, 0xd3, 0x19, 0xcc, 0x0a, 0x58, 0x8b, 0xa8, 0x40, 0x00, 0xc5, 0x2e,
0xe5, 0xb2, 0xb7, 0xfe, 0x0b, 0xbd, 0xb4, 0xc7, 0x9c, 0xdb, 0x5b, 0x67, 0x72, 0xeb, 0xa1, 0xc7,
0xde, 0x7a, 0xe8, 0xb1, 0x3d, 0xf4, 0xdc, 0xbf, 0xa0, 0xc7, 0xce, 0xdb, 0x5d, 0x80, 0x00, 0x45,
0xaa, 0xf6, 0xf4, 0xd4, 0x13, 0xf7, 0x3d, 0xbc, 0xf7, 0xf0, 0xf6, 0x7d, 0x3f, 0x10, 0x36, 0x63,
0xe6, 0x27, 0x7e, 0x78, 0xb6, 0x1b, 0x27, 0x91, 0x8c, 0x48, 0x5d, 0xfd, 0x9c, 0xce, 0x9e, 0x6f,
0x5f, 0x17, 0xf3, 0xd0, 0x75, 0x04, 0x97, 0xd2, 0x0f, 0xcf, 0x84, 0x7e, 0xbc, 0x6d, 0xb3, 0x38,
0x0e, 0x7c, 0x97, 0x49, 0x3f, 0x0a, 0x9d, 0x29, 0x97, 0xcc, 0x63, 0x92, 0x39, 0x53, 0x2e, 0x04,
0x3b, 0xe3, 0x9a, 0xc6, 0x66, 0x70, 0xe7, 0xc7, 0x5c, 0xba, 0x13, 0x3f, 0x3c, 0x7b, 0xc4, 0xdc,
0x73, 0xee, 0x8d, 0xe3, 0x01, 0x93, 0x6c, 0xc0, 0x25, 0xf3, 0x03, 0x41, 0xee, 0x42, 0x53, 0x31,
0x85, 0xb3, 0xe9, 0x29, 0x4f, 0xba, 0xd6, 0x3d, 0xeb, 0xc1, 0x26, 0x05, 0x44, 0x8d, 0x14, 0x86,
0xdc, 0x87, 0x96, 0x8c, 0x24, 0x0b, 0x52, 0x8a, 0x92, 0xa2, 0x68, 0x2a, 0x9c, 0x26, 0xb1, 0xff,
0xb1, 0x01, 0x55, 0x94, 0x3d, 0x8b, 0xc9, 0x0d, 0xd8, 0x70, 0x83, 0xc8, 0x3d, 0x57, 0x82, 0x2a,
0x54, 0x03, 0xa4, 0x0d, 0x25, 0xdf, 0x53, 0x9c, 0x0d, 0x5a, 0xf2, 0x3d, 0xf2, 0x19, 0xd4, 0xdd,
0x28, 0x94, 0xcc, 0x95, 0xa2, 0x5b, 0xbe, 0x57, 0x7e, 0xd0, 0x7c, 0xf8, 0xe6, 0x6e, 0x7a, 0xd3,
0xdd, 0xe3, 0x79, 0xe8, 0xee, 0x85, 0x42, 0xb2, 0x20, 0x50, 0x17, 0xeb, 0x6b, 0xca, 0x67, 0x0f,
0x69, 0xc6, 0x44, 0x7e, 0x04, 0x4d, 0x37, 0x9a, 0x4e, 0x67, 0xa1, 0x2f, 0x7d, 0x2e, 0xba, 0x15,
0x25, 0xe3, 0x56, 0x51, 0x46, 0xdf, 0x10, 0xcc, 0x69, 0x9e, 0x96, 0x1c, 0xc2, 0x56, 0x2a, 0xc6,
0xd8, 0xa0, 0xbb, 0x71, 0xcf, 0x7a, 0xd0, 0x7c, 0xf8, 0xf6, 0x82, 0xfd, 0x0a, 0x83, 0xd1, 0x65,
0x6e, 0x32, 0x06, 0x92, 0x93, 0x9f, 0xca, 0xac, 0xbe, 0x8a, 0xcc, 0x15, 0x02, 0xc8, 0xfb, 0x50,
0x8b, 0x93, 0xe8, 0xb9, 0x1f, 0xf0, 0x6e, 0x4d, 0xc9, 0xba, 0xbd, 0x90, 0x95, 0xca, 0x38, 0xd2,
0x04, 0x34, 0xa5, 0x24, 0x07, 0xd0, 0x36, 0xc7, 0x54, 0x8f, 0xfa, 0xab, 0xe8, 0xb1, 0xc4, 0x4c,
0xde, 0x83, 0x9a, 0x89, 0xb8, 0x6e, 0x43, 0xc9, 0x79, 0xbd, 0x68, 0xe2, 0x63, 0xfd, 0x90, 0xa6,
0x54, 0x68, 0xdc, 0x34, 0x44, 0x53, 0x05, 0xe0, 0x95, 0x8c, 0xbb, 0xc4, 0x4d, 0x3e, 0x80, 0xfa,
0x39, 0x9f, 0xbb, 0x2c, 0xf1, 0x44, 0xb7, 0xb9, 0x6c, 0x06, 0x54, 0xa1, 0x17, 0x04, 0xfb, 0x86,
0x80, 0x66, 0xa4, 0xa8, 0x47, 0x7a, 0x4e, 0xf5, 0x68, 0xbd, 0x92, 0x1e, 0x4b, 0xdc, 0xf6, 0x1f,
0x2b, 0xd0, 0x3a, 0x98, 0x05, 0xd2, 0xef, 0xb9, 0x6e, 0x34, 0x0b, 0x25, 0x21, 0x50, 0x09, 0xd9,
0x94, 0xab, 0x38, 0x6f, 0x50, 0x75, 0x26, 0x3b, 0xd0, 0x90, 0xfe, 0x94, 0x0b, 0xc9, 0xa6, 0xb1,
0x8a, 0xf6, 0x32, 0x5d, 0x20, 0xf0, 0xa9, 0xef, 0xf1, 0x50, 0xfa, 0x6e, 0x14, 0x76, 0xcb, 0x8a,
0x6d, 0x81, 0x20, 0x9f, 0x03, 0xb8, 0x51, 0x10, 0x25, 0xce, 0x84, 0x89, 0x89, 0x09, 0xe8, 0xfb,
0x0b, 0x65, 0xf3, 0xef, 0xde, 0xed, 0x47, 0x41, 0x34, 0x4b, 0x1e, 0x33, 0x31, 0xa1, 0x0d, 0xc5,
0x84, 0x47, 0xd2, 0x85, 0x9a, 0x02, 0xf6, 0x3c, 0x15, 0xd0, 0x65, 0x9a, 0x82, 0xe4, 0x9d, 0xcc,
0x1a, 0x8e, 0x29, 0x2f, 0x2a, 0x3c, 0x1b, 0xb4, 0x6d, 0xd0, 0x47, 0x1a, 0x4b, 0x6e, 0x41, 0xed,
0x9c, 0xcf, 0x9d, 0x99, 0xef, 0xa9, 0x98, 0x6b, 0xd0, 0xea, 0x39, 0x9f, 0x8f, 0x7d, 0x8f, 0x7c,
0x02, 0x55, 0x7f, 0xca, 0xce, 0x38, 0xc6, 0x13, 0x6a, 0xf6, 0xd6, 0x1a, 0xcd, 0xf6, 0xd4, 0x7d,
0xe4, 0x7c, 0x0f, 0x89, 0xa9, 0xe1, 0xd9, 0xb6, 0x01, 0x16, 0x2a, 0x63, 0x89, 0xf0, 0x43, 0x8f,
0xff, 0xa2, 0x6b, 0xdd, 0x2b, 0x3f, 0x28, 0x53, 0x0d, 0x6c, 0xff, 0xcd, 0x82, 0xcd, 0x02, 0x77,
0x5e, 0x19, 0xab, 0xa0, 0x4c, 0x6a, 0xfa, 0x52, 0xce, 0xf4, 0x5d, 0xa8, 0xc5, 0x6c, 0x1e, 0x44,
0xcc, 0x53, 0xa6, 0x6d, 0xd1, 0x14, 0xc4, 0xd7, 0xbd, 0xf0, 0x3d, 0x89, 0x36, 0x45, 0xa3, 0x68,
0x80, 0xdc, 0x84, 0xea, 0x84, 0xfb, 0x67, 0x13, 0x69, 0x6c, 0x65, 0x20, 0xb2, 0x0d, 0x75, 0x4c,
0x00, 0xe1, 0xff, 0x92, 0x2b, 0x1b, 0x95, 0x69, 0x06, 0x93, 0x37, 0x61, 0x33, 0x51, 0x27, 0x47,
0xb2, 0xe4, 0x8c, 0x4b, 0x65, 0xa3, 0x32, 0x6d, 0x69, 0xe4, 0x89, 0xc2, 0x2d, 0x0a, 0x60, 0x3d,
0x57, 0x00, 0xed, 0xbf, 0x5a, 0x70, 0xfd, 0x69, 0xe4, 0xb2, 0xc0, 0x58, 0xfa, 0xc8, 0x28, 0xf7,
0x01, 0x54, 0xce, 0xf9, 0x5c, 0x28, 0x53, 0x14, 0xfc, 0xbd, 0x82, 0x78, 0x77, 0x9f, 0xcf, 0xa9,
0x22, 0x27, 0x1f, 0x41, 0x6b, 0x8a, 0x66, 0x67, 0xda, 0xec, 0xca, 0x12, 0xcd, 0x87, 0x37, 0x57,
0x3b, 0x85, 0x16, 0x68, 0xf1, 0x86, 0x31, 0x13, 0xe2, 0x45, 0x94, 0x78, 0x26, 0x0a, 0x33, 0x78,
0xfb, 0x3b, 0x50, 0xde, 0xe7, 0xf3, 0x95, 0xb1, 0x4d, 0xa0, 0x82, 0x4d, 0x41, 0xbd, 0xaa, 0x45,
0xd5, 0xd9, 0xfe, 0xc6, 0x82, 0x0e, 0xea, 0x98, 0xaf, 0xd6, 0x6b, 0x3a, 0xc0, 0x3b, 0xb0, 0xe5,
0xe7, 0xa8, 0x9c, 0xac, 0x1d, 0xb4, 0xf3, 0xe8, 0x3d, 0x4f, 0xf5, 0x23, 0x7e, 0xe1, 0xbb, 0xdc,
0x91, 0xf3, 0x98, 0x1b, 0x0d, 0x41, 0xa3, 0x4e, 0xe6, 0x31, 0xcf, 0x94, 0xab, 0x14, 0xbd, 0x7f,
0xc1, 0x13, 0xe1, 0x47, 0xa1, 0x72, 0xe7, 0x26, 0x4d, 0x41, 0xfb, 0x9f, 0x16, 0xdc, 0x5a, 0xd3,
0x50, 0x5e, 0xb2, 0x57, 0xbd, 0x09, 0x9b, 0xa6, 0x2a, 0x3a, 0x2a, 0x9c, 0x8d, 0x4a, 0x2d, 0x83,
0xd4, 0xb1, 0x7a, 0x1b, 0xea, 0x3c, 0x14, 0x4e, 0x4e, 0xb1, 0x1a, 0x0f, 0xc5, 0x08, 0x75, 0xbb,
0x0f, 0xad, 0x80, 0x09, 0xe9, 0xcc, 0x62, 0x8f, 0x49, 0xae, 0x73, 0xb3, 0x42, 0x9b, 0x88, 0x1b,
0x6b, 0x14, 0xde, 0x59, 0xcc, 0x85, 0xe4, 0x53, 0x47, 0xb2, 0x33, 0x6c, 0x1d, 0x65, 0xbc, 0xb3,
0x46, 0x9d, 0xb0, 0x33, 0x41, 0xde, 0x86, 0x76, 0x80, 0x01, 0xe1, 0x84, 0xbe, 0x7b, 0xae, 0x5e,
0xa2, 0xd3, 0x73, 0x53, 0x61, 0x47, 0x06, 0x69, 0xff, 0xaa, 0x0a, 0xb7, 0xd7, 0x76, 0x4f, 0xf2,
0x5d, 0xb8, 0x91, 0x57, 0xc4, 0x51, 0xbc, 0xc1, 0xdc, 0xdc, 0x9e, 0xe4, 0x14, 0x7a, 0xaa, 0x9f,
0xfc, 0x0f, 0x9b, 0x02, 0x7d, 0xcb, 0x3c, 0x8f, 0x7b, 0xaa, 0x6f, 0xd5, 0xa9, 0x06, 0x30, 0x4e,
0x4e, 0xd1, 0xc9, 0xdc, 0x53, 0x6d, 0xa9, 0x4e, 0x53, 0x10, 0xe9, 0xa7, 0x33, 0xd4, 0xa9, 0xa9,
0xe9, 0x15, 0x80, 0xf4, 0x09, 0x9f, 0x46, 0x17, 0xdc, 0x53, 0xed, 0xa3, 0x4e, 0x53, 0x90, 0xdc,
0x83, 0xd6, 0x84, 0x09, 0x47, 0x89, 0x75, 0x66, 0xa2, 0xbb, 0xa9, 0x1e, 0xc3, 0x84, 0x89, 0x1e,
0xa2, 0xc6, 0xd8, 0x3b, 0xaf, 0x5f, 0xf0, 0xc4, 0x7f, 0x9e, 0x8e, 0x67, 0x42, 0x32, 0x39, 0x13,
0xdd, 0xb6, 0xaa, 0x19, 0x24, 0xff, 0xe8, 0x58, 0x3d, 0x51, 0x83, 0x56, 0x32, 0x13, 0x32, 0xa5,
0xdc, 0x52, 0x94, 0x4d, 0x85, 0x33, 0x24, 0x9f, 0xc2, 0x1d, 0x33, 0x7d, 0x38, 0x09, 0xff, 0xf9,
0x8c, 0x0b, 0xa9, 0xbd, 0xa8, 0x58, 0x78, 0xb7, 0xa3, 0x38, 0xba, 0x86, 0x84, 0x6a, 0x0a, 0xe5,
0x4c, 0xe4, 0xe7, 0xeb, 0xd9, 0x75, 0x1a, 0x5c, 0x5b, 0xcb, 0xde, 0x57, 0x99, 0xf1, 0x19, 0xec,
0x2c, 0xb3, 0xa3, 0x39, 0x24, 0x37, 0xaf, 0x27, 0x8a, 0xff, 0x76, 0x91, 0x9f, 0x2a, 0x0a, 0xfd,
0xfe, 0xf5, 0x02, 0xb4, 0x02, 0xd7, 0xd7, 0x0b, 0xd0, 0x1a, 0xdc, 0x87, 0x96, 0xe7, 0x8b, 0x38,
0x60, 0x73, 0x1d, 0x5f, 0x37, 0x94, 0xeb, 0x9b, 0x06, 0x87, 0x31, 0x66, 0xbf, 0xb8, 0x9c, 0xef,
0x69, 0xcb, 0x5e, 0x9d, 0xef, 0x97, 0x82, 0xba, 0xb4, 0x22, 0xa8, 0x97, 0x23, 0xb7, 0x7c, 0x29,
0x72, 0xed, 0x47, 0xb0, 0xbd, 0xfc, 0xe2, 0xa3, 0xd9, 0x69, 0xe0, 0xbb, 0xfd, 0x09, 0x7b, 0xc9,
0x5a, 0x63, 0x7f, 0x5b, 0x86, 0xcd, 0xc2, 0xe8, 0xfa, 0x1f, 0xf9, 0x5a, 0x2a, 0x31, 0xef, 0x42,
0x33, 0x4e, 0xfc, 0x0b, 0x26, 0xb9, 0x73, 0xce, 0xe7, 0xa6, 0x03, 0x82, 0x41, 0x61, 0x45, 0xbf,
0x87, 0x55, 0x55, 0xb8, 0x89, 0x1f, 0xa3, 0x5e, 0x2a, 0x2f, 0x5b, 0x34, 0x8f, 0xc2, 0x86, 0xf8,
0xb3, 0xc8, 0x0f, 0x4d, 0x56, 0xd6, 0xa9, 0x81, 0xb0, 0x5d, 0xe8, 0x58, 0xe5, 0x9e, 0x6a, 0x88,
0x75, 0x9a, 0xc1, 0x8b, 0xa4, 0xa9, 0xe5, 0x93, 0xe6, 0x10, 0x3a, 0xc6, 0xbb, 0xc2, 0x91, 0x91,
0x83, 0x72, 0xcc, 0xd4, 0xf0, 0xf6, 0xba, 0x01, 0xdd, 0x90, 0x9f, 0x44, 0x4f, 0x22, 0x3f, 0xa4,
0xed, 0xa4, 0x00, 0x93, 0x8f, 0xa1, 0x9e, 0x8e, 0x85, 0x66, 0x0c, 0xbd, 0xbb, 0x46, 0x90, 0x99,
0x47, 0x05, 0xcd, 0x18, 0x70, 0xea, 0xe2, 0xa1, 0x9b, 0xcc, 0x63, 0x99, 0x25, 0xfd, 0x02, 0x81,
0x4f, 0x45, 0xcc, 0x5d, 0xc9, 0x16, 0xa9, 0xbf, 0x40, 0x60, 0xd3, 0x32, 0xa4, 0x98, 0xc0, 0xaa,
0x51, 0xb7, 0x94, 0xe5, 0xda, 0x0b, 0xf4, 0x3e, 0x9f, 0x0b, 0xfb, 0x2f, 0x16, 0xdc, 0xb9, 0xe2,
0x46, 0xc6, 0x5f, 0x56, 0xe6, 0xaf, 0x37, 0x00, 0x62, 0x15, 0x1b, 0xca, 0x5d, 0xda, 0xff, 0x0d,
0x8d, 0x41, 0x6f, 0x65, 0x4e, 0x2f, 0xe7, 0x9d, 0x7e, 0x45, 0x61, 0xbd, 0x05, 0x35, 0x77, 0xc2,
0x24, 0x76, 0xd5, 0x0d, 0x3d, 0x2a, 0x21, 0xb8, 0xe7, 0x61, 0xdc, 0xa6, 0xab, 0xc5, 0x1c, 0x9f,
0x56, 0xb5, 0xe3, 0x33, 0xdc, 0x9e, 0x72, 0xa2, 0x4e, 0xdf, 0x9a, 0x7e, 0x99, 0x02, 0xec, 0x5f,
0x97, 0xa0, 0xb3, 0x1c, 0xce, 0xe4, 0xd3, 0xdc, 0xda, 0x76, 0x69, 0x62, 0x59, 0xd3, 0x78, 0x72,
0x4b, 0xdb, 0x17, 0xd0, 0x32, 0xb7, 0x46, 0xed, 0x44, 0xb7, 0xb4, 0x3c, 0x4a, 0xae, 0xcf, 0x1f,
0xda, 0x8c, 0xb3, 0xb3, 0x20, 0x1f, 0x43, 0x2d, 0x9d, 0x7c, 0xca, 0x2a, 0x1e, 0xae, 0x50, 0x23,
0x1d, 0x82, 0x52, 0x8e, 0xff, 0x62, 0x75, 0xb4, 0x3f, 0x84, 0x2d, 0xf5, 0x14, 0x15, 0x32, 0x7d,
0xe0, 0xe5, 0xf2, 0xfa, 0x13, 0xb8, 0x91, 0x32, 0x1e, 0xe8, 0xe5, 0x5c, 0x50, 0xce, 0x5e, 0x96,
0xfb, 0x73, 0xb8, 0xa9, 0x36, 0x1d, 0x57, 0xfa, 0x17, 0xbe, 0x9c, 0xf7, 0x79, 0x28, 0x79, 0x72,
0x05, 0x7f, 0x07, 0xca, 0xbe, 0xa7, 0xcd, 0xdb, 0xa2, 0x78, 0xb4, 0x07, 0xba, 0x36, 0x15, 0x25,
0xf4, 0x5c, 0x97, 0xab, 0x24, 0x78, 0x59, 0x29, 0x43, 0x1d, 0xe4, 0x45, 0x29, 0x03, 0x5f, 0x4c,
0x7d, 0x21, 0x5e, 0x41, 0xcc, 0x37, 0x16, 0xb4, 0x50, 0xce, 0xa3, 0x28, 0x3a, 0x9f, 0xb2, 0xe4,
0x7c, 0x3d, 0xe3, 0x2c, 0x09, 0x8c, 0x19, 0xf0, 0x98, 0x4d, 0x7e, 0xe5, 0xdc, 0xe4, 0x77, 0x07,
0x1a, 0xaa, 0x6a, 0x3b, 0x48, 0xab, 0xb3, 0xa2, 0xae, 0x10, 0xe3, 0x24, 0xc8, 0xb7, 0xef, 0x8d,
0x62, 0xfb, 0x7e, 0x03, 0xc0, 0xe3, 0x01, 0xc7, 0x31, 0x88, 0x49, 0x95, 0x15, 0x15, 0xda, 0x30,
0x98, 0x9e, 0xb4, 0x9f, 0xe8, 0xe0, 0xef, 0x07, 0x9c, 0x25, 0x8f, 0x7d, 0x21, 0xa3, 0x64, 0x9e,
0xcf, 0x31, 0xab, 0x90, 0x63, 0x6f, 0x00, 0xb8, 0x48, 0xa8, 0x65, 0x95, 0xb4, 0x2c, 0x83, 0xe9,
0x49, 0xfb, 0xcf, 0x16, 0x10, 0x14, 0x66, 0x76, 0xf5, 0x23, 0xdf, 0x95, 0xb3, 0x84, 0xaf, 0x9c,
0xb1, 0x73, 0x4b, 0x4c, 0x69, 0xcd, 0x12, 0x53, 0x56, 0xe3, 0xed, 0xa5, 0x25, 0xa6, 0xa2, 0xd0,
0xe9, 0x12, 0x73, 0x07, 0x1a, 0xaa, 0x9f, 0xa9, 0x2d, 0x46, 0x0f, 0xc4, 0x6a, 0x8b, 0x39, 0x5e,
0xb9, 0xc5, 0x54, 0x15, 0xc1, 0x9a, 0x2d, 0xa6, 0x96, 0xdf, 0x62, 0x26, 0x70, 0xfd, 0xf2, 0x4d,
0xc4, 0xfa, 0x45, 0xed, 0x87, 0x50, 0x8f, 0x0d, 0x91, 0x49, 0xf6, 0x9d, 0x62, 0x9e, 0x15, 0x25,
0xd1, 0x8c, 0xda, 0xfe, 0x7d, 0x09, 0xae, 0x21, 0xc1, 0x97, 0x2c, 0x08, 0xb8, 0xbc, 0xba, 0x81,
0x77, 0xa1, 0xc6, 0x3c, 0x2f, 0xe1, 0x42, 0xa4, 0x56, 0x33, 0x20, 0xda, 0xe7, 0x85, 0x12, 0xa0,
0xcc, 0x56, 0xa7, 0x06, 0x42, 0xdb, 0xa3, 0xef, 0x94, 0xd5, 0xea, 0x54, 0x9d, 0x11, 0xa7, 0x16,
0x0e, 0x5d, 0x3f, 0xd5, 0x19, 0x25, 0xa3, 0xef, 0x71, 0x28, 0xd0, 0xfb, 0x72, 0x0a, 0x22, 0x75,
0xcc, 0xe4, 0xc4, 0xcc, 0x9e, 0xea, 0x8c, 0xbd, 0x24, 0x2b, 0xe1, 0x6a, 0xfb, 0x6b, 0xe5, 0x6b,
0x7a, 0xea, 0xef, 0x46, 0xce, 0xdf, 0x78, 0x1f, 0x5c, 0xd1, 0x55, 0x5f, 0x6a, 0x50, 0x0d, 0x28,
0xaf, 0xfa, 0x9e, 0xc7, 0x43, 0xd3, 0x90, 0x0c, 0xb4, 0x7e, 0x18, 0xb5, 0x0f, 0x74, 0x84, 0x15,
0x8c, 0x25, 0xc8, 0x87, 0x50, 0x37, 0x35, 0x2f, 0xad, 0xd6, 0x77, 0x8a, 0xd6, 0x2f, 0xd0, 0xd3,
0x8c, 0xd8, 0xfe, 0x97, 0xa5, 0xc3, 0xff, 0x98, 0x5d, 0x70, 0xaf, 0x67, 0x6c, 0x99, 0xb3, 0xb2,
0x55, 0xb4, 0xf2, 0xaa, 0x75, 0x7c, 0x07, 0x1a, 0xcf, 0xd9, 0x45, 0x34, 0x4b, 0x7c, 0xc9, 0x8d,
0xf1, 0x17, 0x88, 0x2b, 0xf2, 0xf2, 0x3e, 0xb4, 0xf4, 0x88, 0xe5, 0xe4, 0xc3, 0xaf, 0xa9, 0x71,
0x7a, 0x06, 0xfc, 0x7f, 0xb8, 0xe6, 0x4e, 0x98, 0x1f, 0x3a, 0x62, 0x12, 0x25, 0x52, 0xb5, 0x43,
0xfd, 0x95, 0xab, 0x41, 0xb7, 0xd4, 0x83, 0x63, 0xc4, 0x63, 0x5b, 0x14, 0x58, 0x43, 0x78, 0x28,
0x8c, 0xcd, 0xf1, 0x88, 0xb1, 0xea, 0x0b, 0x47, 0x72, 0x21, 0xcd, 0x30, 0x50, 0xf5, 0xc5, 0x09,
0x17, 0xf2, 0x49, 0xa5, 0x5e, 0xe9, 0x6c, 0xd8, 0xbf, 0xb1, 0xe0, 0xf5, 0x95, 0x13, 0xc5, 0x9a,
0xd8, 0x5b, 0xee, 0xaf, 0xda, 0x06, 0x85, 0xfe, 0x3a, 0x84, 0xbb, 0x13, 0x5d, 0x42, 0x1c, 0x96,
0xb8, 0x13, 0xff, 0x82, 0x3b, 0x62, 0x16, 0xc7, 0xa8, 0x3b, 0x0f, 0xd9, 0x69, 0x60, 0xa6, 0xc9,
0x3a, 0xdd, 0x31, 0x64, 0x3d, 0x4d, 0x75, 0xac, 0x89, 0x86, 0x9a, 0xc6, 0xfe, 0x83, 0xa5, 0x9b,
0xcf, 0x09, 0xae, 0x03, 0xb8, 0x60, 0xf0, 0xe4, 0x25, 0x17, 0xd8, 0x4f, 0xa1, 0x6a, 0x36, 0x0a,
0x7c, 0x4f, 0x7b, 0x79, 0x0a, 0xcb, 0x09, 0xdc, 0x3d, 0x59, 0xec, 0x1a, 0xd4, 0x30, 0xd9, 0x1f,
0x41, 0x33, 0x87, 0x26, 0x4d, 0xa8, 0x8d, 0x47, 0xfb, 0xa3, 0xc3, 0x2f, 0x47, 0x9d, 0xd7, 0x10,
0x38, 0xa1, 0xe3, 0xe3, 0x93, 0xe1, 0xa0, 0x63, 0x91, 0x6b, 0xb0, 0x39, 0x1e, 0x29, 0xf0, 0xcb,
0x43, 0x7a, 0xf2, 0xf8, 0xab, 0x4e, 0xc9, 0xfe, 0xa6, 0xac, 0xa7, 0xf1, 0x67, 0xb9, 0x6d, 0xc7,
0x8c, 0x46, 0x6b, 0x94, 0x27, 0x50, 0x79, 0x9e, 0x44, 0xd3, 0x34, 0x98, 0xf0, 0x8c, 0x17, 0x92,
0x91, 0xa9, 0xfa, 0x25, 0x19, 0x61, 0x70, 0xb9, 0x13, 0x8c, 0xdd, 0xf0, 0x2c, 0x9d, 0x84, 0x16,
0x08, 0x74, 0x89, 0x99, 0x1f, 0x75, 0x41, 0x36, 0x4b, 0x66, 0x86, 0xeb, 0xa9, 0x4f, 0x20, 0x09,
0x17, 0x71, 0x14, 0x8a, 0x34, 0xb1, 0x33, 0x18, 0xab, 0x79, 0xc2, 0xe3, 0xc0, 0xd7, 0xcc, 0x3a,
0xfe, 0x1a, 0x06, 0xd3, 0x93, 0x84, 0xaf, 0xde, 0xea, 0xea, 0xca, 0xb2, 0xdf, 0x2f, 0x5a, 0x76,
0xc5, 0xad, 0x77, 0x9f, 0x5d, 0xda, 0xfb, 0x56, 0xee, 0x82, 0xda, 0x87, 0x8d, 0x6c, 0x04, 0xf8,
0x09, 0x90, 0xcb, 0x9c, 0x97, 0x7c, 0x71, 0x34, 0x1c, 0x0d, 0xf6, 0x46, 0x5f, 0x74, 0x2c, 0xd2,
0x82, 0x7a, 0xaf, 0xdf, 0x1f, 0x1e, 0xa1, 0x67, 0x4a, 0x08, 0x0d, 0x86, 0xfd, 0xa7, 0x7b, 0xa3,
0xe1, 0xa0, 0x53, 0x46, 0xa8, 0xdf, 0x1b, 0xf5, 0x87, 0x4f, 0x87, 0x83, 0x4e, 0xc5, 0xfe, 0xbb,
0xa5, 0x67, 0x83, 0x7e, 0x61, 0xe9, 0x1a, 0x70, 0xd7, 0x17, 0xeb, 0xbf, 0xe6, 0xec, 0x40, 0xc3,
0xd8, 0x73, 0x2f, 0x8d, 0xb4, 0x05, 0x82, 0xfc, 0x14, 0xb6, 0x3c, 0xc3, 0xef, 0x14, 0x22, 0xef,
0xfd, 0xe5, 0x29, 0x6b, 0xd5, 0x2b, 0x77, 0xd3, 0x83, 0x31, 0x4f, 0xdb, 0x2b, 0xc0, 0xf6, 0xbb,
0xd0, 0x2e, 0x52, 0x14, 0x2e, 0xfb, 0x5a, 0xe1, 0xb2, 0x96, 0xfd, 0xad, 0x05, 0x5b, 0x4b, 0x5f,
0xcb, 0xd7, 0xf7, 0xab, 0xe5, 0xf5, 0xb2, 0x74, 0x69, 0xbd, 0x24, 0xef, 0x02, 0xc9, 0x93, 0x38,
0xf9, 0x39, 0xbd, 0x93, 0x23, 0xd4, 0xb5, 0x2a, 0xdf, 0x00, 0x2b, 0xaf, 0xd4, 0x00, 0x05, 0x00,
0x65, 0x2f, 0xcc, 0xb0, 0x98, 0x1f, 0x0c, 0xac, 0xe2, 0x60, 0xb0, 0x0f, 0x4d, 0xf3, 0x77, 0xcf,
0x09, 0x76, 0xaf, 0x92, 0xb2, 0xf3, 0xff, 0x2d, 0x5e, 0xd2, 0x5b, 0xfc, 0x41, 0x74, 0x60, 0xfe,
0x1f, 0x32, 0x42, 0x77, 0x91, 0x81, 0xe6, 0xb9, 0xed, 0xdf, 0x59, 0xd0, 0x46, 0xad, 0x72, 0x6f,
0xfe, 0x01, 0x34, 0x93, 0x0c, 0x4a, 0xfb, 0xc8, 0x8d, 0x85, 0xfc, 0x05, 0x29, 0xcd, 0x13, 0x92,
0x87, 0x70, 0x43, 0xcc, 0x4e, 0xd3, 0x5e, 0xf4, 0x44, 0x44, 0xe1, 0xa3, 0xb9, 0xe4, 0x69, 0x87,
0x5e, 0xf9, 0x8c, 0xbc, 0x0b, 0xd7, 0xd2, 0xb5, 0x6d, 0xc1, 0xa0, 0x77, 0xd9, 0xcb, 0x0f, 0xec,
0xdf, 0x5a, 0xd0, 0x44, 0x65, 0xcd, 0xd7, 0x7f, 0x35, 0x2f, 0x66, 0x1e, 0xc5, 0xe3, 0xca, 0xc6,
0x74, 0x13, 0xaa, 0xe6, 0x03, 0x90, 0x19, 0x09, 0xcc, 0xf7, 0x9f, 0x5c, 0x4c, 0x54, 0x0a, 0x31,
0xb1, 0x03, 0x0d, 0xd3, 0xe8, 0xb8, 0xe8, 0x6e, 0xa8, 0x29, 0x76, 0x81, 0x58, 0xa4, 0x47, 0x35,
0x3f, 0x27, 0xfd, 0xc9, 0x4c, 0x2f, 0x46, 0x35, 0x1c, 0x98, 0xa3, 0x90, 0x7c, 0x04, 0x55, 0xa6,
0x4e, 0x4a, 0xc7, 0xf6, 0x43, 0xbb, 0x18, 0x0a, 0x05, 0xe2, 0x5d, 0xfd, 0x43, 0x0d, 0x07, 0x79,
0x0b, 0x36, 0xa3, 0xc0, 0x33, 0x24, 0xe3, 0xac, 0xbc, 0x17, 0x91, 0xe4, 0x3d, 0x75, 0x09, 0x84,
0xcc, 0x5e, 0xf4, 0xfa, 0xca, 0x57, 0xd0, 0x94, 0x0a, 0xdb, 0x5d, 0xd5, 0x68, 0x77, 0x0d, 0x36,
0xf7, 0x87, 0x5f, 0xf5, 0x7b, 0x74, 0xe0, 0xf4, 0x06, 0x03, 0x95, 0x49, 0x04, 0xda, 0xbd, 0x7e,
0xff, 0x70, 0x3c, 0x3a, 0x39, 0x36, 0x38, 0x8b, 0x5c, 0x87, 0xad, 0x94, 0x6c, 0x30, 0x7c, 0x3a,
0xd4, 0xf5, 0xe5, 0x06, 0x74, 0x32, 0x42, 0x3a, 0x3c, 0x38, 0x7c, 0xa6, 0xea, 0x0c, 0x40, 0xf5,
0xe9, 0x61, 0x7f, 0x1f, 0xab, 0x0c, 0x26, 0xe5, 0x78, 0x64, 0xa0, 0x0d, 0xb2, 0x05, 0xcd, 0xf1,
0xde, 0xc0, 0x19, 0x1f, 0x0d, 0x7a, 0x28, 0xa0, 0x4a, 0x3a, 0xd0, 0x1a, 0xf5, 0x0e, 0x86, 0x4e,
0xff, 0x71, 0x6f, 0xf4, 0xc5, 0x70, 0xd0, 0xa9, 0xd9, 0x5f, 0xeb, 0x6e, 0x97, 0xfb, 0x77, 0x87,
0x7c, 0x2f, 0xf7, 0x57, 0x90, 0x8e, 0xc3, 0x35, 0xd7, 0x5b, 0xfc, 0x0d, 0x94, 0xb9, 0xa7, 0x94,
0x73, 0xcf, 0xa3, 0xcd, 0xaf, 0x9b, 0xbb, 0xef, 0x7d, 0x9c, 0xb2, 0x9e, 0x56, 0xd5, 0xe9, 0xfd,
0x7f, 0x07, 0x00, 0x00, 0xff, 0xff, 0xc1, 0x13, 0x2d, 0x88, 0x7b, 0x1d, 0x00, 0x00,
}

View File

@ -225,12 +225,15 @@ message SyncWalletAccounts {
}
message SyncSavedAddress {
reserved 4;
bytes address = 1;
string name = 2;
bool favourite = 3;
uint64 chain_id = 4;
bool removed = 5;
uint64 update_clock = 7;
string chain_short_names = 8;
string ens = 9;
bool is_test= 10;
}
message SyncCommunitySettings {

View File

@ -930,19 +930,11 @@ func (api *PublicAPI) DestroyWalletConnectSession(ctx context.Context, PeerID st
// 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)
func (api *PublicAPI) DeleteSavedAddress(ctx context.Context, address ethcommon.Address, ens string, isTest bool) error {
return api.service.messenger.DeleteSavedAddress(ctx, address, ens, isTest)
}
// PushNotifications server endpoints

View File

@ -202,24 +202,21 @@ 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.GetSavedAddressesForChainID(api.s.rpcClient.UpstreamChainID)
rst, err := api.s.savedAddressesManager.GetSavedAddresses()
log.Debug("result from database for saved addresses", "len", len(rst))
return rst, err
}
func (api *API) AddSavedAddress(ctx context.Context, sa SavedAddress) error {
log.Debug("call to create or edit saved address")
if sa.ChainID == 0 {
sa.ChainID = api.s.rpcClient.UpstreamChainID
}
_, 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 {
func (api *API) DeleteSavedAddress(ctx context.Context, address common.Address, ens string, isTest bool) error {
log.Debug("call to remove saved address")
_, err := api.s.savedAddressesManager.DeleteSavedAddress(api.s.rpcClient.UpstreamChainID, address)
_, err := api.s.savedAddressesManager.DeleteSavedAddress(address, ens, isTest, uint64(time.Now().Unix()))
log.Debug("result from database for remove saved address", "err", err)
return err
}

View File

@ -15,16 +15,18 @@ type savedAddressMeta struct {
type SavedAddress struct {
Address common.Address `json:"address"`
// TODO: Add Emoji and Networks
// Emoji string `json:"emoji"`
Name string `json:"name"`
Favourite bool `json:"favourite"`
ChainID uint64 `json:"chainId"`
// TODO: Add Emoji
// Emoji string `json:"emoji"`
Name string `json:"name"`
Favourite bool `json:"favourite"`
ChainShortNames string `json:"chainShortNames"` // used with address only, not with ENSName
ENSName string `json:"ens"`
IsTest bool `json:"isTest"`
savedAddressMeta
}
func (s *SavedAddress) ID() string {
return fmt.Sprintf("%s-%d", s.Address.Hex(), s.ChainID)
return fmt.Sprintf("%s-%s-%t", s.Address.Hex(), s.ENSName, s.IsTest)
}
type SavedAddressesManager struct {
@ -35,7 +37,7 @@ func NewSavedAddressesManager(db *sql.DB) *SavedAddressesManager {
return &SavedAddressesManager{db: db}
}
const rawQueryColumnsOrder = "address, name, favourite, network_id, removed, update_clock"
const rawQueryColumnsOrder = "address, name, favourite, removed, update_clock, chain_short_names, ens_name, is_test"
// getSavedAddressesFromDBRows retrieves all data based on SELECT Query using rawQueryColumnsOrder
func getSavedAddressesFromDBRows(rows *sql.Rows) ([]SavedAddress, error) {
@ -43,7 +45,7 @@ func getSavedAddressesFromDBRows(rows *sql.Rows) ([]SavedAddress, error) {
for rows.Next() {
sa := SavedAddress{}
// based on rawQueryColumnsOrder
err := rows.Scan(&sa.Address, &sa.Name, &sa.Favourite, &sa.ChainID, &sa.Removed, &sa.UpdateClock)
err := rows.Scan(&sa.Address, &sa.Name, &sa.Favourite, &sa.Removed, &sa.UpdateClock, &sa.ChainShortNames, &sa.ENSName, &sa.IsTest)
if err != nil {
return nil, err
}
@ -54,8 +56,13 @@ func getSavedAddressesFromDBRows(rows *sql.Rows) ([]SavedAddress, error) {
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)
func (sam *SavedAddressesManager) getSavedAddresses(condition string) ([]SavedAddress, error) {
var whereCondition string
if condition != "" {
whereCondition = fmt.Sprintf("WHERE %s", condition)
}
rows, err := sam.db.Query(fmt.Sprintf("SELECT %s FROM saved_addresses %s", rawQueryColumnsOrder, whereCondition))
if err != nil {
return nil, err
}
@ -66,29 +73,16 @@ func (sam *SavedAddressesManager) GetSavedAddressesForChainID(chainID uint64) ([
}
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
return sam.getSavedAddresses("removed != 1")
}
// 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)
return sam.getSavedAddresses("")
}
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 (?, ?, ?, ?, ?, ?)"
sqlStatement := "INSERT OR REPLACE INTO saved_addresses (address, name, favourite, removed, update_clock, chain_short_names, ens_name, is_test) VALUES (?, ?, ?, ?, ?, ?, ?, ?)"
var err error
var insert *sql.Stmt
if tx != nil {
@ -100,7 +94,7 @@ func (sam *SavedAddressesManager) upsertSavedAddress(sa SavedAddress, tx *sql.Tx
return err
}
defer insert.Close()
_, err = insert.Exec(sa.ChainID, sa.Address, sa.Name, sa.Favourite, sa.Removed, sa.UpdateClock)
_, err = insert.Exec(sa.Address, sa.Name, sa.Favourite, sa.Removed, sa.UpdateClock, sa.ChainShortNames, sa.ENSName, sa.IsTest)
return err
}
@ -113,12 +107,12 @@ func (sam *SavedAddressesManager) UpdateMetadataAndUpsertSavedAddress(sa SavedAd
return sa.UpdateClock, nil
}
func (sam *SavedAddressesManager) startTransactionAndCheckIfNewerChange(ChainID uint64, Address common.Address, updateClock uint64) (newer bool, tx *sql.Tx, err error) {
func (sam *SavedAddressesManager) startTransactionAndCheckIfNewerChange(address common.Address, ens string, isTest bool, 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)
row := tx.QueryRow("SELECT update_clock FROM saved_addresses WHERE address = ? AND is_test = ? AND ens_name = ?", address, isTest, ens)
if err != nil {
return false, tx, err
}
@ -128,11 +122,11 @@ func (sam *SavedAddressesManager) startTransactionAndCheckIfNewerChange(ChainID
if err != nil {
return err == sql.ErrNoRows, tx, err
}
return dbUpdateClock <= updateClock, tx, nil
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)
newer, tx, err := sam.startTransactionAndCheckIfNewerChange(sa.Address, sa.ENSName, sa.IsTest, updateClock)
defer func() {
if err == nil {
err = tx.Commit()
@ -153,8 +147,11 @@ func (sam *SavedAddressesManager) AddSavedAddressIfNewerUpdate(sa SavedAddress,
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)
func (sam *SavedAddressesManager) DeleteSavedAddress(address common.Address, ens string, isTest bool, updateClock uint64) (deleted bool, err error) {
if err != nil {
return false, err
}
newer, tx, err := sam.startTransactionAndCheckIfNewerChange(address, ens, isTest, updateClock)
defer func() {
if err == nil {
err = tx.Commit()
@ -166,32 +163,22 @@ func (sam *SavedAddressesManager) DeleteSavedAddressIfNewerUpdate(chainID uint64
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, ?)`)
update, err := tx.Prepare(`UPDATE saved_addresses SET removed = 1, update_clock = ? WHERE address = ? AND is_test = ? AND ens_name = ?`)
if err != nil {
return false, err
}
defer insert.Close()
_, err = insert.Exec(chainID, address, updateClock)
defer update.Close()
res, err := update.Exec(updateClock, address, isTest, ens)
if err != nil {
return false, err
}
return true, nil
}
nRows, err := res.RowsAffected()
if err != nil {
return false, err
}
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
return nRows > 0, nil
}
func (sam *SavedAddressesManager) DeleteSoftRemovedSavedAddresses(threshold uint64) error {

View File

@ -1,10 +1,9 @@
package wallet
import (
"io/ioutil"
"os"
"strconv"
"testing"
"time"
"github.com/stretchr/testify/require"
@ -14,49 +13,50 @@ import (
"github.com/status-im/status-go/sqlite"
)
const (
ensMember int = iota
isTestMember
addressMember
)
func setupTestSavedAddressesDB(t *testing.T) (*SavedAddressesManager, func()) {
tmpfile, err := ioutil.TempFile("", "wallet-saved_addresses-tests-")
require.NoError(t, err)
db, err := appdatabase.InitializeDB(tmpfile.Name(), "wallet-saved_addresses-tests", sqlite.ReducedKDFIterationsNumber)
db, err := appdatabase.InitializeDB(sqlite.InMemoryPath, "wallet-saved_addresses-tests", sqlite.ReducedKDFIterationsNumber)
require.NoError(t, err)
return &SavedAddressesManager{db}, func() {
require.NoError(t, db.Close())
require.NoError(t, os.Remove(tmpfile.Name()))
}
}
func TestSavedAddresses(t *testing.T) {
func TestSavedAddressesAdd(t *testing.T) {
manager, stop := setupTestSavedAddressesDB(t)
defer stop()
rst, err := manager.GetSavedAddressesForChainID(777)
rst, err := manager.GetRawSavedAddresses()
require.NoError(t, err)
require.Nil(t, rst)
sa := SavedAddress{
Address: common.Address{1},
Name: "Zilliqa",
Favourite: true,
ChainID: 777,
Address: common.Address{1},
Name: "Zilliqa",
Favourite: true,
ChainShortNames: "eth:arb:",
ENSName: "test.stateofus.eth",
IsTest: false,
}
_, err = manager.UpdateMetadataAndUpsertSavedAddress(sa)
require.NoError(t, err)
rst, err = manager.GetSavedAddressesForChainID(777)
rst, err = manager.GetRawSavedAddresses()
require.NoError(t, err)
require.Equal(t, 1, len(rst))
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)
require.NoError(t, err)
rst, err = manager.GetSavedAddressesForChainID(777)
require.NoError(t, err)
require.Equal(t, 0, len(rst))
require.Equal(t, sa.ChainShortNames, rst[0].ChainShortNames)
require.Equal(t, sa.ENSName, rst[0].ENSName)
require.Equal(t, sa.IsTest, rst[0].IsTest)
}
func contains[T comparable](container []T, element T, isEqual func(T, T) bool) bool {
@ -78,7 +78,8 @@ func haveSameElements[T comparable](a []T, b []T, isEqual func(T, T) bool) bool
}
func savedAddressDataIsEqual(a, b SavedAddress) bool {
return a.Address == b.Address && a.ChainID == b.ChainID && a.Name == b.Name && a.Favourite == b.Favourite
return a.Address == b.Address && a.Name == b.Name && a.Favourite == b.Favourite &&
a.ChainShortNames == b.ChainShortNames && a.ENSName == b.ENSName && a.IsTest == b.IsTest
}
func TestSavedAddressesMetadata(t *testing.T) {
@ -92,13 +93,15 @@ func TestSavedAddressesMetadata(t *testing.T) {
// Add raw saved addresses
sa1 := SavedAddress{
Address: common.Address{1},
ChainID: 777,
Name: "Raw",
Favourite: true,
savedAddressMeta: savedAddressMeta{
Removed: false,
UpdateClock: 234,
},
ChainShortNames: "eth:arb:",
ENSName: "test.stateofus.eth",
IsTest: false,
}
err = manager.upsertSavedAddress(sa1, nil)
@ -112,9 +115,9 @@ func TestSavedAddressesMetadata(t *testing.T) {
// Add simple saved address without sync metadata
sa2 := SavedAddress{
Address: common.Address{2},
ChainID: 777,
Name: "Simple",
Favourite: false,
IsTest: false,
}
var sa2UpdatedClock uint64
@ -133,9 +136,9 @@ func TestSavedAddressesMetadata(t *testing.T) {
}
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)
require.Equal(t, sa2.IsTest, dbSavedAddresses[simpleIndex].IsTest)
// Check the default values
require.False(t, dbSavedAddresses[simpleIndex].Removed)
@ -143,12 +146,12 @@ func TestSavedAddressesMetadata(t *testing.T) {
require.Greater(t, dbSavedAddresses[simpleIndex].UpdateClock, uint64(0))
sa2Older := sa2
sa2Older.Name = "Conditional, NOT updated"
sa2Older.Favourite = true
sa2Older.IsTest = false
sa2Newer := sa2
sa2Newer.Name = "Conditional, updated"
sa2Newer.Favourite = false
sa2Newer.IsTest = false
// Try to add an older entry
updated := false
@ -190,7 +193,7 @@ func TestSavedAddressesMetadata(t *testing.T) {
// Try to delete the sa2 newer entry
updatedDeleteClock := updatedClock + 1
updated, err = manager.DeleteSavedAddressIfNewerUpdate(sa2Newer.ChainID, sa2Newer.Address, updatedDeleteClock)
updated, err = manager.DeleteSavedAddress(sa2Newer.Address, sa2Newer.ENSName, sa2Newer.IsTest, updatedDeleteClock)
require.NoError(t, err)
require.True(t, updated)
@ -219,7 +222,6 @@ func TestSavedAddressesCleanSoftDeletes(t *testing.T) {
for i := 0; i < 5; i++ {
sa := SavedAddress{
Address: common.Address{byte(i)},
ChainID: 777,
Name: "Test" + strconv.Itoa(i),
Favourite: false,
savedAddressMeta: savedAddressMeta{
@ -245,3 +247,168 @@ func TestSavedAddressesCleanSoftDeletes(t *testing.T) {
},
))
}
func TestSavedAddressesGet(t *testing.T) {
manager, stop := setupTestSavedAddressesDB(t)
defer stop()
sa := SavedAddress{
Address: common.Address{1},
ENSName: "test.ens.eth",
IsTest: false,
savedAddressMeta: savedAddressMeta{
Removed: true,
},
}
err := manager.upsertSavedAddress(sa, nil)
require.NoError(t, err)
dbSavedAddresses, err := manager.GetRawSavedAddresses()
require.NoError(t, err)
require.Equal(t, 1, len(dbSavedAddresses))
require.True(t, savedAddressDataIsEqual(sa, dbSavedAddresses[0]))
dbSavedAddresses, err = manager.GetSavedAddresses()
require.NoError(t, err)
require.Equal(t, 0, len(dbSavedAddresses))
}
func TestSavedAddressesDelete(t *testing.T) {
manager, stop := setupTestSavedAddressesDB(t)
defer stop()
sa0 := SavedAddress{
Address: common.Address{1},
IsTest: false,
}
err := manager.upsertSavedAddress(sa0, nil)
require.NoError(t, err)
rst, err := manager.GetRawSavedAddresses()
require.NoError(t, err)
require.Equal(t, 1, len(rst))
require.True(t, savedAddressDataIsEqual(sa0, rst[0]))
// Modify IsTest flag, insert
sa1 := sa0
sa1.IsTest = !sa1.IsTest
err = manager.upsertSavedAddress(sa1, nil)
require.NoError(t, err)
// Delete s0, test that only s1 is left
updateClock := uint64(time.Now().Unix())
_, err = manager.DeleteSavedAddress(sa0.Address, sa0.ENSName, sa0.IsTest, updateClock)
require.NoError(t, err)
rst, err = manager.GetSavedAddresses()
require.NoError(t, err)
require.Equal(t, 1, len(rst))
require.True(t, savedAddressDataIsEqual(sa1, rst[0]))
// Test that we still have both addresses
rst, err = manager.GetRawSavedAddresses()
require.NoError(t, err)
require.Equal(t, 2, len(rst))
// Delete s0 one more time with the same timestamp
deleted, err := manager.DeleteSavedAddress(sa0.Address, sa0.ENSName, sa0.IsTest, updateClock)
require.NoError(t, err)
require.False(t, deleted)
}
func testInsertSameAddressWithOneChange(t *testing.T, member int) {
manager, stop := setupTestSavedAddressesDB(t)
defer stop()
// Insert one address
sa := SavedAddress{
Address: common.Address{1},
ENSName: "test.ens.eth",
IsTest: true,
}
err := manager.upsertSavedAddress(sa, nil)
require.NoError(t, err)
rst, err := manager.GetRawSavedAddresses()
require.NoError(t, err)
require.Equal(t, 1, len(rst))
require.True(t, savedAddressDataIsEqual(sa, rst[0]))
sa2 := sa
if member == isTestMember {
sa2.IsTest = !sa2.IsTest
} else if member == addressMember {
sa2.Address = common.Address{7}
} else if member == ensMember {
sa2.ENSName += "_"
} else {
t.Error("Unsupported member change. Please add it to the list")
}
err = manager.upsertSavedAddress(sa2, nil)
require.NoError(t, err)
rst, err = manager.GetRawSavedAddresses()
require.NoError(t, err)
require.Equal(t, 2, len(rst))
// The order of records returned by GetRawSavedAddresses is not
// guaranteed to be the same as insertions, so swap indices if first record does not match
firstIndex := 0
secondIndex := 1
if rst[firstIndex] != sa {
firstIndex = 1
secondIndex = 0
}
require.True(t, savedAddressDataIsEqual(sa, rst[firstIndex]))
require.True(t, savedAddressDataIsEqual(sa2, rst[secondIndex]))
}
func TestSavedAddressesAddDifferentAddress(t *testing.T) {
testInsertSameAddressWithOneChange(t, addressMember)
}
func TestSavedAddressesAddDifferentIsTest(t *testing.T) {
testInsertSameAddressWithOneChange(t, isTestMember)
}
func TestSavedAddressesAddDifferentEns(t *testing.T) {
testInsertSameAddressWithOneChange(t, ensMember)
}
func TestSavedAddressesAddSame(t *testing.T) {
manager, stop := setupTestSavedAddressesDB(t)
defer stop()
// Insert one address
sa := SavedAddress{
Address: common.Address{1},
ENSName: "test.ens.eth",
IsTest: true,
}
err := manager.upsertSavedAddress(sa, nil)
require.NoError(t, err)
rst, err := manager.GetRawSavedAddresses()
require.NoError(t, err)
require.Equal(t, 1, len(rst))
require.True(t, savedAddressDataIsEqual(sa, rst[0]))
sa2 := sa
err = manager.upsertSavedAddress(sa2, nil)
require.NoError(t, err)
rst, err = manager.GetRawSavedAddresses()
require.NoError(t, err)
require.Equal(t, 1, len(rst))
}

View File

@ -1,9 +1,7 @@
package transfer
import (
"io/ioutil"
"math/big"
"os"
"testing"
"github.com/stretchr/testify/require"
@ -16,13 +14,10 @@ import (
)
func setupTestTransactionDB(t *testing.T) (*TransactionManager, func()) {
tmpfile, err := ioutil.TempFile("", "wallet-transactions-tests-")
require.NoError(t, err)
db, err := appdatabase.InitializeDB(tmpfile.Name(), "wallet-tests", sqlite.ReducedKDFIterationsNumber)
db, err := appdatabase.InitializeDB(sqlite.InMemoryPath, "wallet-tests", sqlite.ReducedKDFIterationsNumber)
require.NoError(t, err)
return &TransactionManager{db, nil, nil, nil, nil}, func() {
require.NoError(t, db.Close())
require.NoError(t, os.Remove(tmpfile.Name()))
}
}

View File

@ -20,7 +20,7 @@ const (
// WALMode for sqlite.
WALMode = "wal"
inMemoryPath = ":memory:"
InMemoryPath = ":memory:"
)
// DecryptDB completely removes the encryption from the db
@ -108,7 +108,7 @@ func openDB(path string, key string, kdfIterationsNumber int) (*sql.DB, error) {
if err != nil {
return nil, err
}
if mode != WALMode && path != inMemoryPath {
if mode != WALMode && path != InMemoryPath {
return nil, fmt.Errorf("unable to set journal_mode to WAL. actual mode %s", mode)
}