Split clock values for contacts
This commit is contained in:
parent
a3f59e223c
commit
cefa0089dc
|
@ -129,7 +129,7 @@ func _1640111208_dummyUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1640111208_dummy.up.sql", size: 258, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1640111208_dummy.up.sql", size: 258, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 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
|
||||
}
|
||||
|
@ -149,7 +149,7 @@ func _1642666031_add_removed_clock_to_bookmarksUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1642666031_add_removed_clock_to_bookmarks.up.sql", size: 117, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1642666031_add_removed_clock_to_bookmarks.up.sql", size: 117, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 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
|
||||
}
|
||||
|
@ -169,7 +169,7 @@ func _1643644541_gif_api_key_settingUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1643644541_gif_api_key_setting.up.sql", size: 108, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1643644541_gif_api_key_setting.up.sql", size: 108, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 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
|
||||
}
|
||||
|
@ -189,7 +189,7 @@ func _1644188994_recent_stickersUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1644188994_recent_stickers.up.sql", size: 79, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1644188994_recent_stickers.up.sql", size: 79, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 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
|
||||
}
|
||||
|
@ -209,7 +209,7 @@ func _1646659233_add_address_to_dapp_permisssionUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1646659233_add_address_to_dapp_permisssion.up.sql", size: 700, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1646659233_add_address_to_dapp_permisssion.up.sql", size: 700, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 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
|
||||
}
|
||||
|
@ -229,7 +229,7 @@ func _1646841105_add_emoji_accountUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1646841105_add_emoji_account.up.sql", size: 96, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1646841105_add_emoji_account.up.sql", size: 96, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 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
|
||||
}
|
||||
|
@ -249,7 +249,7 @@ func _1647278782_display_nameUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1647278782_display_name.up.sql", size: 110, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1647278782_display_name.up.sql", size: 110, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 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
|
||||
}
|
||||
|
@ -269,7 +269,7 @@ func _1647862838_reset_last_backupUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1647862838_reset_last_backup.up.sql", size: 37, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1647862838_reset_last_backup.up.sql", size: 37, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 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
|
||||
}
|
||||
|
@ -289,7 +289,7 @@ func _1647871652_add_settings_sync_clock_tableUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1647871652_add_settings_sync_clock_table.up.sql", size: 1044, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1647871652_add_settings_sync_clock_table.up.sql", size: 1044, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 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
|
||||
}
|
||||
|
@ -309,7 +309,7 @@ func _1647880168_add_torrent_configUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1647880168_add_torrent_config.up.sql", size: 211, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1647880168_add_torrent_config.up.sql", size: 211, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 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
|
||||
}
|
||||
|
@ -329,7 +329,7 @@ func _1647882837_add_communities_settings_tableUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1647882837_add_communities_settings_table.up.sql", size: 206, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1647882837_add_communities_settings_table.up.sql", size: 206, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 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
|
||||
}
|
||||
|
@ -349,7 +349,7 @@ func _1647956635_add_waku_messages_tableUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1647956635_add_waku_messages_table.up.sql", size: 266, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1647956635_add_waku_messages_table.up.sql", size: 266, mode: os.FileMode(0644), modTime: time.Unix(1664364467, 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
|
||||
}
|
||||
|
@ -369,7 +369,7 @@ func _1648554928_network_testUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1648554928_network_test.up.sql", size: 132, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1648554928_network_test.up.sql", size: 132, mode: os.FileMode(0644), modTime: time.Unix(1664364467, 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
|
||||
}
|
||||
|
@ -389,7 +389,7 @@ func _1649174829_add_visitble_tokenUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1649174829_add_visitble_token.up.sql", size: 84, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1649174829_add_visitble_token.up.sql", size: 84, mode: os.FileMode(0644), modTime: time.Unix(1664364467, 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
|
||||
}
|
||||
|
@ -409,7 +409,7 @@ func _1649882262_add_derived_from_accountsUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1649882262_add_derived_from_accounts.up.sql", size: 110, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1649882262_add_derived_from_accounts.up.sql", size: 110, mode: os.FileMode(0644), modTime: time.Unix(1664364467, 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
|
||||
}
|
||||
|
@ -429,7 +429,7 @@ func _1650612625_add_community_message_archive_hashes_tableUpSql() (*asset, erro
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1650612625_add_community_message_archive_hashes_table.up.sql", size: 130, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1650612625_add_community_message_archive_hashes_table.up.sql", size: 130, mode: os.FileMode(0644), modTime: time.Unix(1664364467, 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
|
||||
}
|
||||
|
@ -449,7 +449,7 @@ func _1650616788_add_communities_archives_info_tableUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1650616788_add_communities_archives_info_table.up.sql", size: 208, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1650616788_add_communities_archives_info_table.up.sql", size: 208, mode: os.FileMode(0644), modTime: time.Unix(1664364467, 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
|
||||
}
|
||||
|
@ -469,7 +469,7 @@ func _1652715604_add_clock_accountsUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1652715604_add_clock_accounts.up.sql", size: 62, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1652715604_add_clock_accounts.up.sql", size: 62, mode: os.FileMode(0644), modTime: time.Unix(1664364467, 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
|
||||
}
|
||||
|
@ -489,7 +489,7 @@ func _1653037334_add_notifications_settings_tableUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1653037334_add_notifications_settings_table.up.sql", size: 1276, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1653037334_add_notifications_settings_table.up.sql", size: 1276, mode: os.FileMode(0644), modTime: time.Unix(1664364467, 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
|
||||
}
|
||||
|
@ -509,7 +509,7 @@ func _1654702119_add_mutual_contact_settingsUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1654702119_add_mutual_contact_settings.up.sql", size: 78, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1654702119_add_mutual_contact_settings.up.sql", size: 78, mode: os.FileMode(0644), modTime: time.Unix(1664364467, 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
|
||||
}
|
||||
|
@ -529,7 +529,7 @@ func _1655375270_add_clock_field_to_communities_settings_tableUpSql() (*asset, e
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1655375270_add_clock_field_to_communities_settings_table.up.sql", size: 74, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1655375270_add_clock_field_to_communities_settings_table.up.sql", size: 74, mode: os.FileMode(0644), modTime: time.Unix(1664364467, 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
|
||||
}
|
||||
|
@ -549,7 +549,7 @@ func _1655385721_drop_networks_configUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1655385721_drop_networks_config.up.sql", size: 27, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1655385721_drop_networks_config.up.sql", size: 27, mode: os.FileMode(0644), modTime: time.Unix(1664364467, 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
|
||||
}
|
||||
|
@ -569,7 +569,7 @@ func _1655385724_networks_chaincolor_shortnameUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1655385724_networks_chainColor_shortName.up.sql", size: 220, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1655385724_networks_chainColor_shortName.up.sql", size: 220, mode: os.FileMode(0644), modTime: time.Unix(1664364467, 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
|
||||
}
|
||||
|
@ -589,7 +589,7 @@ func _1655456688_add_deleted_at_field_to_bookmarks_tableUpSql() (*asset, error)
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1655456688_add_deleted_at_field_to_bookmarks_table.up.sql", size: 69, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1655456688_add_deleted_at_field_to_bookmarks_table.up.sql", size: 69, mode: os.FileMode(0644), modTime: time.Unix(1664364467, 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
|
||||
}
|
||||
|
@ -609,7 +609,7 @@ func _1655462032_create_bookmarks_deleted_at_indexUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1655462032_create_bookmarks_deleted_at_index.up.sql", size: 81, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1655462032_create_bookmarks_deleted_at_index.up.sql", size: 81, mode: os.FileMode(0644), modTime: time.Unix(1664364467, 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
|
||||
}
|
||||
|
@ -629,7 +629,7 @@ func _1657617291_add_multi_transactions_tableUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1657617291_add_multi_transactions_table.up.sql", size: 412, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1657617291_add_multi_transactions_table.up.sql", size: 412, mode: os.FileMode(0644), modTime: time.Unix(1664364467, 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
|
||||
}
|
||||
|
@ -649,7 +649,7 @@ func _1660134042_add_social_links_settings_tableUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1660134042_add_social_links_settings_table.up.sql", size: 334, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1660134042_add_social_links_settings_table.up.sql", size: 334, mode: os.FileMode(0644), modTime: time.Unix(1664364467, 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
|
||||
}
|
||||
|
@ -669,7 +669,7 @@ func _1660134060_settings_bioUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1660134060_settings_bio.up.sql", size: 91, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1660134060_settings_bio.up.sql", size: 91, mode: os.FileMode(0644), modTime: time.Unix(1664364467, 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
|
||||
}
|
||||
|
@ -689,7 +689,7 @@ func _1660134070_add_wakuv2_storeUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1660134070_add_wakuv2_store.up.sql", size: 269, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1660134070_add_wakuv2_store.up.sql", size: 269, mode: os.FileMode(0644), modTime: time.Unix(1664364467, 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
|
||||
}
|
||||
|
@ -709,7 +709,7 @@ func _1660134072_waku2_store_messagesUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1660134072_waku2_store_messages.up.sql", size: 497, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1660134072_waku2_store_messages.up.sql", size: 497, mode: os.FileMode(0644), modTime: time.Unix(1664364467, 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
|
||||
}
|
||||
|
@ -729,7 +729,7 @@ func _1662365868_add_key_uid_accountsUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1662365868_add_key_uid_accounts.up.sql", size: 68, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1662365868_add_key_uid_accounts.up.sql", size: 68, mode: os.FileMode(0644), modTime: time.Unix(1668711465, 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
|
||||
}
|
||||
|
@ -749,7 +749,7 @@ func _1662447680_add_keypairs_tableUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1662447680_add_keypairs_table.up.sql", size: 218, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1662447680_add_keypairs_table.up.sql", size: 218, mode: os.FileMode(0644), modTime: time.Unix(1668711465, 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
|
||||
}
|
||||
|
@ -769,7 +769,7 @@ func _1662460056_move_favourites_to_saved_addressesUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1662460056_move_favourites_to_saved_addresses.up.sql", size: 233, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1662460056_move_favourites_to_saved_addresses.up.sql", size: 233, mode: os.FileMode(0644), modTime: time.Unix(1668711465, 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
|
||||
}
|
||||
|
@ -789,7 +789,7 @@ func _1662738097_add_base_fee_transactionUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1662738097_add_base_fee_transaction.up.sql", size: 112, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1662738097_add_base_fee_transaction.up.sql", size: 112, mode: os.FileMode(0644), modTime: time.Unix(1668711465, 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
|
||||
}
|
||||
|
@ -809,7 +809,7 @@ func _1662972194_add_keypairs_tableUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1662972194_add_keypairs_table.up.sql", size: 345, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1662972194_add_keypairs_table.up.sql", size: 345, mode: os.FileMode(0644), modTime: time.Unix(1668711465, 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
|
||||
}
|
||||
|
@ -829,7 +829,7 @@ func _1664392661_add_third_party_id_to_waku_messagesUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1664392661_add_third_party_id_to_waku_messages.up.sql", size: 70, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1664392661_add_third_party_id_to_waku_messages.up.sql", size: 70, mode: os.FileMode(0644), modTime: time.Unix(1668711465, 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
|
||||
}
|
||||
|
@ -849,7 +849,7 @@ func _1664783660_add_sync_info_to_saved_addressesUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1664783660_add_sync_info_to_saved_addresses.up.sql", size: 388, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1664783660_add_sync_info_to_saved_addresses.up.sql", size: 388, mode: os.FileMode(0644), modTime: time.Unix(1668711465, 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
|
||||
}
|
||||
|
@ -869,7 +869,7 @@ func _1668109917_wakunodesUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1668109917_wakunodes.up.sql", size: 99, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1668109917_wakunodes.up.sql", size: 99, mode: os.FileMode(0644), modTime: time.Unix(1669031482, 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
|
||||
}
|
||||
|
@ -889,7 +889,7 @@ func _1670249678_display_name_to_settings_sync_clock_tableUpSql() (*asset, error
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1670249678_display_name_to_settings_sync_clock_table.up.sql", size: 83, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1670249678_display_name_to_settings_sync_clock_table.up.sql", size: 83, mode: os.FileMode(0644), modTime: time.Unix(1673450916, 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
|
||||
}
|
||||
|
@ -909,7 +909,7 @@ func _1670836810_add_imported_flag_to_community_archive_hashesUpSql() (*asset, e
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1670836810_add_imported_flag_to_community_archive_hashes.up.sql", size: 144, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1670836810_add_imported_flag_to_community_archive_hashes.up.sql", size: 144, mode: os.FileMode(0644), modTime: time.Unix(1673008084, 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
|
||||
}
|
||||
|
@ -929,7 +929,7 @@ func _1671438731_add_magnetlink_uri_to_communities_archive_infoUpSql() (*asset,
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1671438731_add_magnetlink_uri_to_communities_archive_info.up.sql", size: 86, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1671438731_add_magnetlink_uri_to_communities_archive_info.up.sql", size: 86, mode: os.FileMode(0644), modTime: time.Unix(1673450916, 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
|
||||
}
|
||||
|
@ -949,7 +949,7 @@ func _1672933930_switcher_cardUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1672933930_switcher_card.up.sql", size: 162, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1672933930_switcher_card.up.sql", size: 162, mode: os.FileMode(0644), modTime: time.Unix(1673450916, 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
|
||||
}
|
||||
|
@ -969,7 +969,7 @@ func _1674056187_add_price_cacheUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1674056187_add_price_cache.up.sql", size: 255, mode: os.FileMode(0644), modTime: time.Unix(1674232305, 0)}
|
||||
info := bindataFileInfo{name: "1674056187_add_price_cache.up.sql", size: 255, mode: os.FileMode(0644), modTime: time.Unix(1674206429, 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
|
||||
}
|
||||
|
@ -989,7 +989,7 @@ func _1674136690_ens_usernamesUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1674136690_ens_usernames.up.sql", size: 98, mode: os.FileMode(0644), modTime: time.Unix(1674232305, 0)}
|
||||
info := bindataFileInfo{name: "1674136690_ens_usernames.up.sql", size: 98, mode: os.FileMode(0644), modTime: time.Unix(1674480962, 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
|
||||
}
|
||||
|
@ -1009,7 +1009,7 @@ func _1674232431_add_balance_historyUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1674232431_add_balance_history.up.sql", size: 698, mode: os.FileMode(0644), modTime: time.Unix(1674232305, 0)}
|
||||
info := bindataFileInfo{name: "1674232431_add_balance_history.up.sql", size: 698, mode: os.FileMode(0644), modTime: time.Unix(1674807337, 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
|
||||
}
|
||||
|
@ -1029,7 +1029,7 @@ func docGo() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "doc.go", size: 74, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "doc.go", size: 74, mode: os.FileMode(0644), modTime: time.Unix(1648117578, 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
|
||||
}
|
||||
|
|
|
@ -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(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "0001_app.down.sql", size: 356, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 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(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "0001_app.up.sql", size: 2967, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 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(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "0002_tokens.down.sql", size: 19, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 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(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "0002_tokens.up.sql", size: 248, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 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(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "0003_settings.down.sql", size: 118, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 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(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "0003_settings.up.sql", size: 1311, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 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(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "0004_pending_stickers.down.sql", size: 0, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 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(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "0004_pending_stickers.up.sql", size: 61, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 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(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "0005_waku_mode.down.sql", size: 0, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 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(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "0005_waku_mode.up.sql", size: 146, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 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(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "0006_appearance.up.sql", size: 67, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 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(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "0007_enable_waku_default.up.sql", size: 38, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 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(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "0008_add_push_notifications.up.sql", size: 349, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 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(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "0009_enable_sending_push_notifications.down.sql", size: 49, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 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(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "0009_enable_sending_push_notifications.up.sql", size: 49, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 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(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "0010_add_block_mentions.down.sql", size: 83, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 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(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "0010_add_block_mentions.up.sql", size: 89, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 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(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "0011_allow_webview_permission_requests.down.sql", size: 0, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 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(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "0011_allow_webview_permission_requests.up.sql", size: 88, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 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(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "0012_pending_transactions.down.sql", size: 33, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 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(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "0012_pending_transactions.up.sql", size: 321, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 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(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "0013_favourites.down.sql", size: 23, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 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(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "0013_favourites.up.sql", size: 132, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 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(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "0014_add_use_mailservers.down.sql", size: 0, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 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(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "0014_add_use_mailservers.up.sql", size: 111, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 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(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "0015_link_previews.down.sql", size: 0, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 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(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "0015_link_previews.up.sql", size: 203, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 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(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "0016_local_notifications_preferences.down.sql", size: 43, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 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(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "0016_local_notifications_preferences.up.sql", size: 204, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 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(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "0017_bookmarks.down.sql", size: 22, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 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(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "0017_bookmarks.up.sql", size: 147, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 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(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "0018_profile_pictures_visibility.up.sql", size: 84, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 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(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "0019_blocks_ranges_extra_data.up.sql", size: 89, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 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(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "0020_metrics.up.sql", size: 235, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 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(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "0021_add_session_id_to_metrics.up.sql", size: 55, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 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(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "0022_pending_transfers.up.sql", size: 706, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 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(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1618237885_settings_anon_metrics_should_send.up.sql", size: 80, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 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(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1618395756_contacts_only.up.sql", size: 136, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 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(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1622184614_add_default_sync_period.up.sql", size: 125, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 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(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1625872445_user_status.up.sql", size: 351, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 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(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1627983977_add_gif_to_settings.up.sql", size: 102, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 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(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1628580203_add_hidden_account.up.sql", size: 67, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 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(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1629123384_add_id_to_app_metrics.up.sql", size: 589, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 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(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1630401853_add_opensea_enabled_to_settings.up.sql", size: 70, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 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(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1630464455_create-saved_addresses-table.down.sql", size: 28, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 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(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1630464455_create-saved_addresses-table.up.sql", size: 187, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 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(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1630485153_networks.down.sql", size: 21, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 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(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1630485153_networks.up.sql", size: 394, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 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(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1632262444_profile_pictures_show_to.up.sql", size: 81, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 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(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1635942153_add_telemetry_server_url_to_settings.up.sql", size: 128, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 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(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1635942154_add_backup_setting.up.sql", size: 287, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 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(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1637745568_add_auto_message_setting.up.sql", size: 122, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 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(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1640111208_nodeconfig.up.sql", size: 7659, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 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(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "doc.go", size: 85, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 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
|
||||
}
|
||||
|
|
|
@ -86,7 +86,7 @@ func _1557732988_initialize_dbDownSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1557732988_initialize_db.down.sql", size: 72, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1557732988_initialize_db.down.sql", size: 72, mode: os.FileMode(0644), modTime: time.Unix(1648117579, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x77, 0x40, 0x78, 0xb7, 0x71, 0x3c, 0x20, 0x3b, 0xc9, 0xb, 0x2f, 0x49, 0xe4, 0xff, 0x1c, 0x84, 0x54, 0xa1, 0x30, 0xe3, 0x90, 0xf8, 0x73, 0xda, 0xb0, 0x2a, 0xea, 0x8e, 0xf1, 0x82, 0xe7, 0xd2}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -106,7 +106,7 @@ func _1557732988_initialize_dbUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1557732988_initialize_db.up.sql", size: 278, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1557732988_initialize_db.up.sql", size: 278, mode: os.FileMode(0644), modTime: time.Unix(1648117579, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf5, 0x85, 0x41, 0x7a, 0xba, 0x4f, 0xa3, 0x43, 0xc0, 0x63, 0xfa, 0x2c, 0xd1, 0xc5, 0xbb, 0x20, 0xa0, 0x64, 0xa8, 0x3b, 0x65, 0x82, 0xa2, 0x14, 0x28, 0x18, 0x7c, 0x8b, 0x3a, 0x7a, 0xfd, 0xe0}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -126,7 +126,7 @@ func staticGo() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "static.go", size: 178, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "static.go", size: 178, mode: os.FileMode(0644), modTime: time.Unix(1648117579, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xab, 0x8a, 0xf4, 0x27, 0x24, 0x9d, 0x2a, 0x1, 0x7b, 0x54, 0xea, 0xae, 0x4a, 0x35, 0x40, 0x92, 0xb5, 0xf9, 0xb3, 0x54, 0x3e, 0x3a, 0x1a, 0x2b, 0xae, 0xfb, 0x9e, 0x82, 0xeb, 0x4c, 0xf, 0x6}}
|
||||
return a, nil
|
||||
}
|
||||
|
|
|
@ -94,7 +94,7 @@ func _0001_accountsDownSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "0001_accounts.down.sql", size: 21, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "0001_accounts.down.sql", size: 21, mode: os.FileMode(0644), modTime: time.Unix(1648117579, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd2, 0x61, 0x4c, 0x18, 0xfc, 0xc, 0xdf, 0x5c, 0x1f, 0x5e, 0xd3, 0xbd, 0xfa, 0x12, 0x5e, 0x8d, 0x8d, 0x8b, 0xb9, 0x5f, 0x99, 0x46, 0x63, 0xa5, 0xe3, 0xa6, 0x8a, 0x4, 0xf1, 0x73, 0x8a, 0xe9}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -114,7 +114,7 @@ func _0001_accountsUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "0001_accounts.up.sql", size: 163, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "0001_accounts.up.sql", size: 163, mode: os.FileMode(0644), modTime: time.Unix(1648117579, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf2, 0xfa, 0x99, 0x8e, 0x96, 0xb3, 0x13, 0x6c, 0x1f, 0x6, 0x27, 0xc5, 0xd2, 0xd4, 0xe0, 0xa5, 0x26, 0x82, 0xa7, 0x26, 0xf2, 0x68, 0x9d, 0xed, 0x9c, 0x3d, 0xbb, 0xdc, 0x37, 0x28, 0xbc, 0x1}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -134,7 +134,7 @@ func _1605007189_identity_imagesDownSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1605007189_identity_images.down.sql", size: 29, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1605007189_identity_images.down.sql", size: 29, mode: os.FileMode(0644), modTime: time.Unix(1648117579, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x2f, 0xcf, 0xa7, 0xae, 0xd5, 0x4f, 0xcd, 0x14, 0x63, 0x9, 0xbe, 0x39, 0x49, 0x18, 0x96, 0xb2, 0xa3, 0x8, 0x7d, 0x41, 0xdb, 0x50, 0x5d, 0xf5, 0x4d, 0xa2, 0xd, 0x8f, 0x57, 0x79, 0x77, 0x67}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -154,7 +154,7 @@ func _1605007189_identity_imagesUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1605007189_identity_images.up.sql", size: 268, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1605007189_identity_images.up.sql", size: 268, mode: os.FileMode(0644), modTime: time.Unix(1648117579, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x50, 0xb6, 0xc1, 0x5c, 0x76, 0x72, 0x6b, 0x22, 0x34, 0xdc, 0x96, 0xdc, 0x2b, 0xfd, 0x2d, 0xbe, 0xcc, 0x1e, 0xd4, 0x5, 0x93, 0xd, 0xc2, 0x51, 0xf3, 0x1a, 0xef, 0x2b, 0x26, 0xa4, 0xeb, 0x65}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -174,7 +174,7 @@ func _1606224181_drop_photo_path_from_accountsDownSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1606224181_drop_photo_path_from_accounts.down.sql", size: 892, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1606224181_drop_photo_path_from_accounts.down.sql", size: 892, mode: os.FileMode(0644), modTime: time.Unix(1648117579, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x90, 0x24, 0x17, 0x7, 0x80, 0x93, 0x6f, 0x8d, 0x5d, 0xaa, 0x8c, 0x79, 0x15, 0x5d, 0xb3, 0x19, 0xd7, 0xd8, 0x39, 0xf9, 0x3a, 0x63, 0x8f, 0x81, 0x15, 0xb6, 0xd6, 0x9a, 0x37, 0xa8, 0x8e, 0x9b}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -194,7 +194,7 @@ func _1606224181_drop_photo_path_from_accountsUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1606224181_drop_photo_path_from_accounts.up.sql", size: 866, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1606224181_drop_photo_path_from_accounts.up.sql", size: 866, mode: os.FileMode(0644), modTime: time.Unix(1648117579, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xff, 0x4c, 0x97, 0xee, 0xef, 0x82, 0xb8, 0x6c, 0x71, 0xbb, 0x50, 0x7b, 0xe6, 0xd9, 0x22, 0x31, 0x7c, 0x1a, 0xfe, 0x91, 0x28, 0xf6, 0x6, 0x36, 0xe, 0xb1, 0xf1, 0xc8, 0x25, 0xac, 0x7e, 0xd6}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -214,7 +214,7 @@ func _1648646095_image_clockDownSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1648646095_image_clock.down.sql", size: 939, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1648646095_image_clock.down.sql", size: 939, mode: os.FileMode(0644), modTime: time.Unix(1664364467, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x4d, 0xa8, 0x1f, 0xf, 0xe0, 0xd7, 0xc9, 0x68, 0x98, 0xd8, 0x37, 0xb8, 0xba, 0x9e, 0xb2, 0x19, 0xf3, 0xc4, 0x73, 0x80, 0x3, 0x17, 0x2a, 0x53, 0x68, 0x10, 0x13, 0x54, 0x99, 0xb1, 0xf5, 0x1c}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -234,7 +234,7 @@ func _1648646095_image_clockUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1648646095_image_clock.up.sql", size: 69, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1648646095_image_clock.up.sql", size: 69, mode: os.FileMode(0644), modTime: time.Unix(1664364467, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x98, 0xa6, 0xa4, 0x4e, 0x4e, 0xca, 0x17, 0x56, 0xea, 0xfb, 0xf0, 0xa9, 0x81, 0x95, 0xe, 0x80, 0x52, 0x1, 0x47, 0x9b, 0xde, 0x14, 0xfa, 0x72, 0xc9, 0x62, 0x6f, 0x24, 0xa2, 0xc, 0x32, 0x50}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -254,7 +254,7 @@ func _1649317600_add_color_hashUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1649317600_add_color_hash.up.sql", size: 201, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1649317600_add_color_hash.up.sql", size: 201, mode: os.FileMode(0644), modTime: time.Unix(1664364467, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x1a, 0xf, 0x37, 0x6d, 0xcf, 0x99, 0xc9, 0x2e, 0xdc, 0x70, 0x11, 0xb4, 0x36, 0x26, 0x4f, 0x39, 0xa8, 0x44, 0xf, 0xcb, 0xcc, 0x81, 0x74, 0x7a, 0x88, 0xaa, 0x54, 0x8c, 0xc4, 0xe, 0x56, 0x4f}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -274,7 +274,7 @@ func _1660238799_accounts_kdfUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1660238799_accounts_kdf.up.sql", size: 115, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1660238799_accounts_kdf.up.sql", size: 115, mode: os.FileMode(0644), modTime: time.Unix(1668711465, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xdf, 0xe6, 0x7a, 0x69, 0x25, 0x42, 0x3b, 0x9c, 0x20, 0xf5, 0xcb, 0xae, 0xb0, 0xb3, 0x1b, 0x66, 0xc2, 0x5d, 0xd0, 0xc1, 0x59, 0xe8, 0xa9, 0xc5, 0x69, 0x58, 0x8f, 0xae, 0xe6, 0xd1, 0x4c, 0x53}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -294,7 +294,7 @@ func docGo() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "doc.go", size: 74, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "doc.go", size: 74, mode: os.FileMode(0644), modTime: time.Unix(1648117579, 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
|
||||
}
|
||||
|
|
|
@ -1,209 +0,0 @@
|
|||
// In order to run these tests, you must run a PostgreSQL database.
|
||||
//
|
||||
// Using Docker:
|
||||
// docker run -e POSTGRES_HOST_AUTH_METHOD=trust -d -p 5432:5432 postgres:9.6-alpine
|
||||
//
|
||||
|
||||
package protocol
|
||||
|
||||
import (
|
||||
"context"
|
||||
"crypto/ecdsa"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/suite"
|
||||
"go.uber.org/zap"
|
||||
|
||||
bindata "github.com/status-im/migrate/v4/source/go_bindata"
|
||||
|
||||
appmetricsDB "github.com/status-im/status-go/appmetrics"
|
||||
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/postgres"
|
||||
"github.com/status-im/status-go/protocol/anonmetrics"
|
||||
"github.com/status-im/status-go/protocol/anonmetrics/migrations"
|
||||
"github.com/status-im/status-go/protocol/tt"
|
||||
"github.com/status-im/status-go/services/appmetrics"
|
||||
"github.com/status-im/status-go/waku"
|
||||
)
|
||||
|
||||
func TestMessengerAnonMetricsSuite(t *testing.T) {
|
||||
suite.Run(t, new(MessengerAnonMetricsSuite))
|
||||
}
|
||||
|
||||
type MessengerAnonMetricsSuite struct {
|
||||
suite.Suite
|
||||
alice *Messenger // client instance of Messenger
|
||||
bob *Messenger // server instance of Messenger
|
||||
|
||||
aliceKey *ecdsa.PrivateKey // private key for the alice instance of Messenger
|
||||
bobKey *ecdsa.PrivateKey // private key for the bob instance of Messenger
|
||||
|
||||
// If one wants to send messages between different instances of Messenger,
|
||||
// a single Waku service should be shared.
|
||||
shh types.Waku
|
||||
logger *zap.Logger
|
||||
}
|
||||
|
||||
func (s *MessengerAnonMetricsSuite) SetupSuite() {
|
||||
// ResetDefaultTestPostgresDB Required to completely reset the Postgres DB
|
||||
err := postgres.ResetDefaultTestPostgresDB()
|
||||
s.NoError(err)
|
||||
}
|
||||
|
||||
func (s *MessengerAnonMetricsSuite) SetupTest() {
|
||||
var err error
|
||||
|
||||
s.logger = tt.MustCreateTestLogger()
|
||||
|
||||
// Setup Waku things
|
||||
config := waku.DefaultConfig
|
||||
config.MinimumAcceptedPoW = 0
|
||||
shh := waku.New(&config, s.logger)
|
||||
s.shh = gethbridge.NewGethWakuWrapper(shh)
|
||||
s.Require().NoError(shh.Start())
|
||||
|
||||
// Generate private keys for Alice and Bob
|
||||
s.aliceKey, err = crypto.GenerateKey()
|
||||
s.Require().NoError(err)
|
||||
|
||||
s.bobKey, err = crypto.GenerateKey()
|
||||
s.Require().NoError(err)
|
||||
|
||||
// Generate Alice Messenger as the client
|
||||
amcc := &anonmetrics.ClientConfig{
|
||||
ShouldSend: true,
|
||||
SendAddress: &s.bobKey.PublicKey,
|
||||
Active: anonmetrics.ActiveClientPhrase,
|
||||
}
|
||||
s.alice, err = newMessengerWithKey(s.shh, s.aliceKey, s.logger, []Option{WithAnonMetricsClientConfig(amcc)})
|
||||
s.Require().NoError(err)
|
||||
_, err = s.alice.Start()
|
||||
s.Require().NoError(err)
|
||||
|
||||
// Generate Bob Messenger as the Server
|
||||
amsc := &anonmetrics.ServerConfig{
|
||||
Enabled: true,
|
||||
PostgresURI: postgres.DefaultTestURI,
|
||||
Active: anonmetrics.ActiveServerPhrase,
|
||||
}
|
||||
s.bob, err = newMessengerWithKey(s.shh, s.bobKey, s.logger, []Option{WithAnonMetricsServerConfig(amsc)})
|
||||
s.Require().NoError(err)
|
||||
|
||||
_, err = s.bob.Start()
|
||||
s.Require().NoError(err)
|
||||
}
|
||||
|
||||
func (s *MessengerAnonMetricsSuite) TearDownTest() {
|
||||
// Down migrate the DB
|
||||
if s.bob.anonMetricsServer != nil {
|
||||
postgresMigration := bindata.Resource(migrations.AssetNames(), migrations.Asset)
|
||||
m, err := anonmetrics.MakeMigration(s.bob.anonMetricsServer.PostgresDB, postgresMigration)
|
||||
s.NoError(err)
|
||||
|
||||
err = m.Down()
|
||||
s.NoError(err)
|
||||
}
|
||||
|
||||
// Shutdown messengers
|
||||
s.NoError(s.alice.Shutdown())
|
||||
s.alice = nil
|
||||
s.NoError(s.bob.Shutdown())
|
||||
s.bob = nil
|
||||
_ = s.logger.Sync()
|
||||
}
|
||||
|
||||
func (s *MessengerAnonMetricsSuite) TestReceiveAnonMetric() {
|
||||
// Create the appmetrics API to simulate incoming metrics from `status-mobile`
|
||||
ama := appmetrics.NewAPI(appmetricsDB.NewDB(s.alice.database))
|
||||
|
||||
// Generate and store some metrics to Alice
|
||||
ams := appmetricsDB.GenerateMetrics(10)
|
||||
err := ama.SaveAppMetrics(context.Background(), ams)
|
||||
s.Require().NoError(err)
|
||||
|
||||
// Check that we have what we stored
|
||||
amsdb, err := ama.GetAppMetrics(context.Background(), 100, 0)
|
||||
s.Require().NoError(err)
|
||||
s.Require().Len(amsdb.AppMetrics, 10)
|
||||
|
||||
// Wait for messages to arrive at bob
|
||||
_, err = WaitOnMessengerResponse(
|
||||
s.bob,
|
||||
func(r *MessengerResponse) bool { return len(r.AnonymousMetrics) > 0 },
|
||||
"no anonymous metrics received",
|
||||
)
|
||||
s.Require().NoError(err)
|
||||
|
||||
// Get app metrics from postgres DB
|
||||
bobMetrics, err := s.bob.anonMetricsServer.GetAppMetrics(100, 0)
|
||||
s.Require().NoError(err)
|
||||
s.Require().Len(bobMetrics, 5)
|
||||
|
||||
// Check the values of received and stored metrics against the broadcast metrics
|
||||
for i, bobMetric := range bobMetrics {
|
||||
s.Require().True(bobMetric.CreatedAt.Equal(amsdb.AppMetrics[i].CreatedAt), "created_at values are equal")
|
||||
s.Require().Exactly(bobMetric.SessionID, amsdb.AppMetrics[i].SessionID, "session_id matched exactly")
|
||||
s.Require().Exactly(bobMetric.Value, amsdb.AppMetrics[i].Value, "value matches exactly")
|
||||
s.Require().Exactly(bobMetric.Event, amsdb.AppMetrics[i].Event, "event matches exactly")
|
||||
s.Require().Exactly(bobMetric.OS, amsdb.AppMetrics[i].OS, "operating system matches exactly")
|
||||
s.Require().Exactly(bobMetric.AppVersion, amsdb.AppMetrics[i].AppVersion, "app version matches exactly")
|
||||
}
|
||||
}
|
||||
|
||||
// TestActivationIsOff tests if using the incorrect activation phrase for the anon metric client / server deactivates
|
||||
// the client / server. This test can be removed when / if the anon metrics functionality is reintroduced / re-approved.
|
||||
func (s *MessengerAnonMetricsSuite) TestActivationIsOff() {
|
||||
var err error
|
||||
|
||||
// Check the set up messengers are in the expected state with the correct activation phrases
|
||||
s.NotNil(s.alice.anonMetricsClient)
|
||||
s.NotNil(s.bob.anonMetricsServer)
|
||||
|
||||
// Generate Alice Messenger as the client with an incorrect phrase
|
||||
amcc := &anonmetrics.ClientConfig{
|
||||
ShouldSend: true,
|
||||
SendAddress: &s.bobKey.PublicKey,
|
||||
Active: "the wrong client phrase",
|
||||
}
|
||||
s.alice, err = newMessengerWithKey(s.shh, s.aliceKey, s.logger, []Option{WithAnonMetricsClientConfig(amcc)})
|
||||
s.NoError(err)
|
||||
_, err = s.alice.Start()
|
||||
s.Require().NoError(err)
|
||||
|
||||
s.Nil(s.alice.anonMetricsClient)
|
||||
|
||||
// Generate Alice Messenger as the client with an no activation phrase
|
||||
amcc = &anonmetrics.ClientConfig{
|
||||
ShouldSend: true,
|
||||
SendAddress: &s.bobKey.PublicKey,
|
||||
}
|
||||
s.alice, err = newMessengerWithKey(s.shh, s.aliceKey, s.logger, []Option{WithAnonMetricsClientConfig(amcc)})
|
||||
s.NoError(err)
|
||||
_, err = s.alice.Start()
|
||||
s.Require().NoError(err)
|
||||
|
||||
s.Nil(s.alice.anonMetricsClient)
|
||||
|
||||
// Generate Bob Messenger as the Server with an incorrect phrase
|
||||
amsc := &anonmetrics.ServerConfig{
|
||||
Enabled: true,
|
||||
PostgresURI: postgres.DefaultTestURI,
|
||||
Active: "the wrong server phrase",
|
||||
}
|
||||
s.bob, err = newMessengerWithKey(s.shh, s.bobKey, s.logger, []Option{WithAnonMetricsServerConfig(amsc)})
|
||||
s.Require().NoError(err)
|
||||
|
||||
s.Nil(s.bob.anonMetricsServer)
|
||||
|
||||
// Generate Bob Messenger as the Server with no activation phrase
|
||||
amsc = &anonmetrics.ServerConfig{
|
||||
Enabled: true,
|
||||
PostgresURI: postgres.DefaultTestURI,
|
||||
}
|
||||
s.bob, err = newMessengerWithKey(s.shh, s.bobKey, s.logger, []Option{WithAnonMetricsServerConfig(amsc)})
|
||||
s.Require().NoError(err)
|
||||
|
||||
s.Nil(s.bob.anonMetricsServer)
|
||||
}
|
|
@ -86,7 +86,7 @@ func _1619446565_postgres_make_anon_metrics_tableDownSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1619446565_postgres_make_anon_metrics_table.down.sql", size: 24, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1619446565_postgres_make_anon_metrics_table.down.sql", size: 24, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x75, 0xea, 0x1, 0x74, 0xe6, 0xa3, 0x11, 0xd0, 0x86, 0x87, 0x7e, 0x31, 0xb4, 0x1a, 0x27, 0x5d, 0xda, 0x77, 0xa3, 0xf5, 0x1d, 0x88, 0x79, 0xcf, 0xd5, 0x95, 0x75, 0xd, 0x47, 0xa1, 0x90, 0x5}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -106,7 +106,7 @@ func _1619446565_postgres_make_anon_metrics_tableUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1619446565_postgres_make_anon_metrics_table.up.sql", size: 443, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1619446565_postgres_make_anon_metrics_table.up.sql", size: 443, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd5, 0xdc, 0x72, 0x28, 0x3c, 0xf6, 0x94, 0xb0, 0x47, 0x3d, 0xca, 0x55, 0x3d, 0xf7, 0x83, 0xb8, 0x7d, 0x2f, 0x1e, 0x98, 0xb7, 0xde, 0xa, 0xff, 0xa0, 0x52, 0x60, 0x83, 0x56, 0xc5, 0xd1, 0xa2}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -126,7 +126,7 @@ func docGo() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "doc.go", size: 380, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "doc.go", size: 380, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x49, 0x1, 0xd4, 0xd6, 0xc7, 0x44, 0xd4, 0xfd, 0x7b, 0x69, 0x1f, 0xe3, 0xe, 0x48, 0x14, 0x99, 0xf0, 0x8e, 0x43, 0xae, 0x54, 0x64, 0xa2, 0x8b, 0x82, 0x1c, 0x2b, 0xb, 0xec, 0xf5, 0xb3, 0xfc}}
|
||||
return a, nil
|
||||
}
|
||||
|
|
|
@ -49,7 +49,7 @@ func (c *Contact) CanonicalName() string {
|
|||
}
|
||||
|
||||
func (c *Contact) CanonicalImage(profilePicturesVisibility settings.ProfilePicturesVisibilityType) string {
|
||||
if profilePicturesVisibility == settings.ProfilePicturesVisibilityNone || (profilePicturesVisibility == settings.ProfilePicturesVisibilityContactsOnly && !c.Added) {
|
||||
if profilePicturesVisibility == settings.ProfilePicturesVisibilityNone || (profilePicturesVisibility == settings.ProfilePicturesVisibilityContactsOnly && !c.added()) {
|
||||
return c.Identicon
|
||||
}
|
||||
|
||||
|
@ -111,12 +111,19 @@ type Contact struct {
|
|||
|
||||
Images map[string]images.IdentityImage `json:"images"`
|
||||
|
||||
Added bool `json:"added"`
|
||||
Blocked bool `json:"blocked"`
|
||||
HasAddedUs bool `json:"hasAddedUs"`
|
||||
Blocked bool `json:"blocked"`
|
||||
|
||||
ContactRequestState ContactRequestState `json:"contactRequestState"`
|
||||
ContactRequestClock uint64 `json:"contactRequestClock"`
|
||||
// ContactRequestRemoteState is the state of the contact request
|
||||
// on the contact's end
|
||||
ContactRequestRemoteState ContactRequestState `json:"contactRequestRemoteState"`
|
||||
// ContactRequestRemoteClock is the clock for incoming contact requests
|
||||
ContactRequestRemoteClock uint64 `json:"contactRequestRemoteClock"`
|
||||
|
||||
// ContactRequestLocalState is the state of the contact request
|
||||
// on our end
|
||||
ContactRequestLocalState ContactRequestState `json:"contactRequestLocalState"`
|
||||
// ContactRequestLocalClock is the clock for outgoing contact requests
|
||||
ContactRequestLocalClock uint64 `json:"contactRequestLocalClock"`
|
||||
|
||||
IsSyncing bool
|
||||
Removed bool
|
||||
|
@ -153,71 +160,129 @@ func (c Contact) PublicKey() (*ecdsa.PublicKey, error) {
|
|||
return crypto.UnmarshalPubkey(b)
|
||||
}
|
||||
|
||||
func (c *Contact) Block() {
|
||||
func (c *Contact) Block(clock uint64) {
|
||||
c.Blocked = true
|
||||
c.Added = false
|
||||
c.DismissContactRequest(clock)
|
||||
}
|
||||
|
||||
func (c *Contact) BlockDesktop() {
|
||||
c.Blocked = true
|
||||
}
|
||||
|
||||
func (c *Contact) Unblock() {
|
||||
func (c *Contact) Unblock(clock uint64) {
|
||||
c.Blocked = false
|
||||
// Reset the contact request flow
|
||||
c.RetractContactRequest(clock)
|
||||
}
|
||||
|
||||
func (c *Contact) Remove() {
|
||||
c.Added = false
|
||||
c.Removed = true
|
||||
func (c *Contact) added() bool {
|
||||
return c.ContactRequestLocalState == ContactRequestStateSent
|
||||
}
|
||||
|
||||
func (c *Contact) Add() {
|
||||
c.Added = true
|
||||
func (c *Contact) hasAddedUs() bool {
|
||||
return c.ContactRequestRemoteState == ContactRequestStateReceived
|
||||
}
|
||||
|
||||
func (c *Contact) mutual() bool {
|
||||
return c.added() && c.hasAddedUs()
|
||||
}
|
||||
|
||||
type ContactRequestProcessingResponse struct {
|
||||
processed bool
|
||||
newContactRequestReceived bool
|
||||
}
|
||||
|
||||
func (c *Contact) ContactRequestSent(clock uint64) ContactRequestProcessingResponse {
|
||||
if clock <= c.ContactRequestLocalClock {
|
||||
return ContactRequestProcessingResponse{}
|
||||
}
|
||||
|
||||
c.ContactRequestLocalClock = clock
|
||||
c.ContactRequestLocalState = ContactRequestStateSent
|
||||
|
||||
c.Removed = false
|
||||
|
||||
return ContactRequestProcessingResponse{processed: true}
|
||||
}
|
||||
|
||||
func (c *Contact) ContactRequestSent() {
|
||||
switch c.ContactRequestState {
|
||||
case ContactRequestStateNone, ContactRequestStateDismissed:
|
||||
c.ContactRequestState = ContactRequestStateSent
|
||||
case ContactRequestStateReceived:
|
||||
c.ContactRequestState = ContactRequestStateMutual
|
||||
func (c *Contact) AcceptContactRequest(clock uint64) ContactRequestProcessingResponse {
|
||||
// We treat accept the same as sent, that's because accepting a contact
|
||||
// request that does not exist is possible if the instruction is coming from
|
||||
// a different device, we'd rather assume that a contact requested existed
|
||||
// and didn't reach our device than being in an inconsistent state
|
||||
return c.ContactRequestSent(clock)
|
||||
}
|
||||
|
||||
func (c *Contact) RetractContactRequest(clock uint64) ContactRequestProcessingResponse {
|
||||
if clock <= c.ContactRequestLocalClock {
|
||||
return ContactRequestProcessingResponse{}
|
||||
}
|
||||
|
||||
// This is a symmetric action, we set both local & remote clock
|
||||
// since we want everything before this point discarded, regardless
|
||||
// the side it was sent from
|
||||
c.ContactRequestLocalClock = clock
|
||||
c.ContactRequestLocalState = ContactRequestStateNone
|
||||
c.ContactRequestRemoteState = ContactRequestStateNone
|
||||
c.ContactRequestRemoteClock = clock
|
||||
c.Removed = true
|
||||
|
||||
return ContactRequestProcessingResponse{processed: true}
|
||||
}
|
||||
|
||||
func (c *Contact) ContactRequestReceived() {
|
||||
switch c.ContactRequestState {
|
||||
func (c *Contact) DismissContactRequest(clock uint64) ContactRequestProcessingResponse {
|
||||
if clock <= c.ContactRequestLocalClock {
|
||||
return ContactRequestProcessingResponse{}
|
||||
}
|
||||
|
||||
c.ContactRequestLocalClock = clock
|
||||
c.ContactRequestLocalState = ContactRequestStateDismissed
|
||||
|
||||
return ContactRequestProcessingResponse{processed: true}
|
||||
}
|
||||
|
||||
// Remote actions
|
||||
|
||||
func (c *Contact) ContactRequestRetracted(clock uint64) ContactRequestProcessingResponse {
|
||||
if clock <= c.ContactRequestRemoteClock {
|
||||
return ContactRequestProcessingResponse{}
|
||||
}
|
||||
|
||||
// This is a symmetric action, we set both local & remote clock
|
||||
// since we want everything before this point discarded, regardless
|
||||
// the side it was sent from
|
||||
c.ContactRequestRemoteClock = clock
|
||||
c.ContactRequestRemoteState = ContactRequestStateNone
|
||||
c.ContactRequestLocalClock = clock
|
||||
c.ContactRequestLocalState = ContactRequestStateNone
|
||||
|
||||
return ContactRequestProcessingResponse{processed: true}
|
||||
}
|
||||
|
||||
func (c *Contact) ContactRequestReceived(clock uint64) ContactRequestProcessingResponse {
|
||||
if clock <= c.ContactRequestRemoteClock {
|
||||
return ContactRequestProcessingResponse{}
|
||||
}
|
||||
|
||||
r := ContactRequestProcessingResponse{processed: true}
|
||||
c.ContactRequestRemoteClock = clock
|
||||
switch c.ContactRequestRemoteState {
|
||||
case ContactRequestStateNone:
|
||||
c.ContactRequestState = ContactRequestStateReceived
|
||||
case ContactRequestStateSent:
|
||||
c.ContactRequestState = ContactRequestStateMutual
|
||||
r.newContactRequestReceived = true
|
||||
}
|
||||
c.ContactRequestRemoteState = ContactRequestStateReceived
|
||||
|
||||
return r
|
||||
}
|
||||
|
||||
func (c *Contact) ContactRequestAccepted() {
|
||||
switch c.ContactRequestState {
|
||||
case ContactRequestStateSent:
|
||||
c.ContactRequestState = ContactRequestStateMutual
|
||||
func (c *Contact) ContactRequestAccepted(clock uint64) ContactRequestProcessingResponse {
|
||||
if clock <= c.ContactRequestRemoteClock {
|
||||
return ContactRequestProcessingResponse{}
|
||||
}
|
||||
}
|
||||
|
||||
func (c *Contact) AcceptContactRequest() {
|
||||
switch c.ContactRequestState {
|
||||
case ContactRequestStateReceived, ContactRequestStateDismissed:
|
||||
c.ContactRequestState = ContactRequestStateMutual
|
||||
}
|
||||
}
|
||||
|
||||
func (c *Contact) RetractContactRequest() {
|
||||
c.ContactRequestState = ContactRequestStateNone
|
||||
}
|
||||
|
||||
func (c *Contact) ContactRequestRetracted() {
|
||||
c.ContactRequestState = ContactRequestStateNone
|
||||
}
|
||||
|
||||
func (c *Contact) DismissContactRequest() {
|
||||
c.ContactRequestState = ContactRequestStateDismissed
|
||||
// We treat received and accepted in the same way
|
||||
// since the intention is clear on the other side
|
||||
// and there's no difference
|
||||
return c.ContactRequestReceived(clock)
|
||||
}
|
||||
|
||||
func buildContactFromPkString(pkString string) (*Contact, error) {
|
||||
|
@ -267,11 +332,34 @@ func contactIDFromPublicKeyString(key string) (string, error) {
|
|||
return contactIDFromPublicKey(pubKey), nil
|
||||
}
|
||||
|
||||
func (c *Contact) processSyncContactRequestState(remoteState ContactRequestState, remoteClock uint64, localState ContactRequestState, localClock uint64) {
|
||||
// We process the two separately, first local state
|
||||
switch localState {
|
||||
case ContactRequestStateDismissed:
|
||||
c.DismissContactRequest(localClock)
|
||||
case ContactRequestStateNone:
|
||||
c.RetractContactRequest(localClock)
|
||||
case ContactRequestStateSent:
|
||||
c.ContactRequestSent(localClock)
|
||||
}
|
||||
|
||||
// and later remote state
|
||||
switch remoteState {
|
||||
case ContactRequestStateReceived:
|
||||
c.ContactRequestReceived(remoteClock)
|
||||
case ContactRequestStateNone:
|
||||
c.ContactRequestRetracted(remoteClock)
|
||||
}
|
||||
}
|
||||
|
||||
func (c *Contact) MarshalJSON() ([]byte, error) {
|
||||
type Alias Contact
|
||||
item := struct {
|
||||
*Alias
|
||||
CompressedKey string `json:"compressedKey"`
|
||||
CompressedKey string `json:"compressedKey"`
|
||||
Added bool `json:"added"`
|
||||
ContactRequestState ContactRequestState `json:"contactRequestState"`
|
||||
HasAddedUs bool `json:"hasAddedUs"`
|
||||
}{
|
||||
Alias: (*Alias)(c),
|
||||
}
|
||||
|
@ -282,5 +370,16 @@ func (c *Contact) MarshalJSON() ([]byte, error) {
|
|||
}
|
||||
item.CompressedKey = compressedKey
|
||||
|
||||
item.Added = c.added()
|
||||
item.HasAddedUs = c.hasAddedUs()
|
||||
|
||||
if c.mutual() {
|
||||
item.ContactRequestState = ContactRequestStateMutual
|
||||
} else if c.added() {
|
||||
item.ContactRequestState = ContactRequestStateSent
|
||||
} else if c.hasAddedUs() {
|
||||
item.ContactRequestState = ContactRequestStateReceived
|
||||
}
|
||||
|
||||
return json.Marshal(item)
|
||||
}
|
||||
|
|
|
@ -2,6 +2,7 @@ package protocol
|
|||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
|
@ -11,6 +12,541 @@ import (
|
|||
"github.com/status-im/status-go/protocol/common"
|
||||
)
|
||||
|
||||
type contactTest struct {
|
||||
actualLocalState ContactRequestState
|
||||
expectedLocalState ContactRequestState
|
||||
actualRemoteState ContactRequestState
|
||||
expectedRemoteState ContactRequestState
|
||||
expectedAdded bool
|
||||
expectedHasAddedUs bool
|
||||
expectedMutual bool
|
||||
}
|
||||
|
||||
func (ct contactTest) Contact() Contact {
|
||||
return Contact{
|
||||
ContactRequestLocalState: ct.actualLocalState,
|
||||
ContactRequestRemoteState: ct.actualRemoteState,
|
||||
}
|
||||
}
|
||||
|
||||
func validateContactTest(t *testing.T, contact Contact, tc contactTest, testNum int) {
|
||||
failedMessage := fmt.Sprintf("test failed: %d", testNum)
|
||||
require.Equal(t, tc.expectedLocalState, contact.ContactRequestLocalState, failedMessage+", contact request local state not matching")
|
||||
require.Equal(t, tc.expectedRemoteState, contact.ContactRequestRemoteState, failedMessage+", contact request remote state not matching")
|
||||
|
||||
require.Equal(t, tc.expectedAdded, contact.added(), failedMessage+", added() not matching")
|
||||
require.Equal(t, tc.expectedHasAddedUs, contact.hasAddedUs(), failedMessage+", hasAddedUs() not matching")
|
||||
require.Equal(t, tc.expectedMutual, contact.mutual(), failedMessage+", mutual() not matching")
|
||||
}
|
||||
|
||||
/*
|
||||
none/none
|
||||
sent/none
|
||||
dismissed/none
|
||||
none/received
|
||||
sent/received
|
||||
dismissed/received
|
||||
*/
|
||||
|
||||
func TestContactContactRequestSent(t *testing.T) {
|
||||
|
||||
clock := uint64(1)
|
||||
|
||||
/* Cases to consider are:
|
||||
Local = none Remote = none
|
||||
Local = none Remote = received
|
||||
Local = sent Remote = none
|
||||
Local = sent Remote = received
|
||||
Local = dismissed Remote = none
|
||||
Local = dismissed Remote = received
|
||||
*/
|
||||
|
||||
tests := []contactTest{
|
||||
{
|
||||
actualLocalState: ContactRequestStateNone,
|
||||
actualRemoteState: ContactRequestStateNone,
|
||||
expectedLocalState: ContactRequestStateSent,
|
||||
expectedRemoteState: ContactRequestStateNone,
|
||||
expectedAdded: true,
|
||||
expectedHasAddedUs: false,
|
||||
expectedMutual: false,
|
||||
},
|
||||
{
|
||||
actualLocalState: ContactRequestStateNone,
|
||||
actualRemoteState: ContactRequestStateReceived,
|
||||
expectedLocalState: ContactRequestStateSent,
|
||||
expectedRemoteState: ContactRequestStateReceived,
|
||||
expectedAdded: true,
|
||||
expectedHasAddedUs: true,
|
||||
expectedMutual: true,
|
||||
},
|
||||
{
|
||||
actualLocalState: ContactRequestStateSent,
|
||||
actualRemoteState: ContactRequestStateNone,
|
||||
expectedLocalState: ContactRequestStateSent,
|
||||
expectedRemoteState: ContactRequestStateNone,
|
||||
expectedAdded: true,
|
||||
expectedHasAddedUs: false,
|
||||
expectedMutual: false,
|
||||
},
|
||||
{
|
||||
actualLocalState: ContactRequestStateSent,
|
||||
actualRemoteState: ContactRequestStateReceived,
|
||||
expectedLocalState: ContactRequestStateSent,
|
||||
expectedRemoteState: ContactRequestStateReceived,
|
||||
expectedAdded: true,
|
||||
expectedHasAddedUs: true,
|
||||
expectedMutual: true,
|
||||
},
|
||||
{
|
||||
actualLocalState: ContactRequestStateDismissed,
|
||||
actualRemoteState: ContactRequestStateNone,
|
||||
expectedLocalState: ContactRequestStateSent,
|
||||
expectedRemoteState: ContactRequestStateNone,
|
||||
expectedAdded: true,
|
||||
expectedHasAddedUs: false,
|
||||
expectedMutual: false,
|
||||
},
|
||||
{
|
||||
actualLocalState: ContactRequestStateDismissed,
|
||||
actualRemoteState: ContactRequestStateReceived,
|
||||
expectedLocalState: ContactRequestStateSent,
|
||||
expectedRemoteState: ContactRequestStateReceived,
|
||||
expectedAdded: true,
|
||||
expectedHasAddedUs: true,
|
||||
expectedMutual: true,
|
||||
},
|
||||
}
|
||||
|
||||
for testNum, tc := range tests {
|
||||
contact := tc.Contact()
|
||||
|
||||
contact.ContactRequestSent(clock)
|
||||
validateContactTest(t, contact, tc, testNum+1)
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
func TestContactAcceptContactRequest(t *testing.T) {
|
||||
|
||||
clock := uint64(1)
|
||||
|
||||
tests := []contactTest{
|
||||
{
|
||||
actualLocalState: ContactRequestStateNone,
|
||||
actualRemoteState: ContactRequestStateNone,
|
||||
expectedLocalState: ContactRequestStateSent,
|
||||
expectedRemoteState: ContactRequestStateNone,
|
||||
expectedAdded: true,
|
||||
expectedHasAddedUs: false,
|
||||
expectedMutual: false,
|
||||
},
|
||||
{
|
||||
actualLocalState: ContactRequestStateNone,
|
||||
actualRemoteState: ContactRequestStateReceived,
|
||||
expectedLocalState: ContactRequestStateSent,
|
||||
expectedRemoteState: ContactRequestStateReceived,
|
||||
expectedAdded: true,
|
||||
expectedHasAddedUs: true,
|
||||
expectedMutual: true,
|
||||
},
|
||||
{
|
||||
actualLocalState: ContactRequestStateSent,
|
||||
actualRemoteState: ContactRequestStateNone,
|
||||
expectedLocalState: ContactRequestStateSent,
|
||||
expectedRemoteState: ContactRequestStateNone,
|
||||
expectedAdded: true,
|
||||
expectedHasAddedUs: false,
|
||||
expectedMutual: false,
|
||||
},
|
||||
{
|
||||
actualLocalState: ContactRequestStateSent,
|
||||
actualRemoteState: ContactRequestStateReceived,
|
||||
expectedLocalState: ContactRequestStateSent,
|
||||
expectedRemoteState: ContactRequestStateReceived,
|
||||
expectedAdded: true,
|
||||
expectedHasAddedUs: true,
|
||||
expectedMutual: true,
|
||||
},
|
||||
{
|
||||
actualLocalState: ContactRequestStateDismissed,
|
||||
actualRemoteState: ContactRequestStateNone,
|
||||
expectedLocalState: ContactRequestStateSent,
|
||||
expectedRemoteState: ContactRequestStateNone,
|
||||
expectedAdded: true,
|
||||
expectedHasAddedUs: false,
|
||||
expectedMutual: false,
|
||||
},
|
||||
{
|
||||
actualLocalState: ContactRequestStateDismissed,
|
||||
actualRemoteState: ContactRequestStateReceived,
|
||||
expectedLocalState: ContactRequestStateSent,
|
||||
expectedRemoteState: ContactRequestStateReceived,
|
||||
expectedAdded: true,
|
||||
expectedHasAddedUs: true,
|
||||
expectedMutual: true,
|
||||
},
|
||||
}
|
||||
|
||||
for testNum, tc := range tests {
|
||||
contact := tc.Contact()
|
||||
|
||||
contact.AcceptContactRequest(clock)
|
||||
validateContactTest(t, contact, tc, testNum+1)
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
func TestContactRetractContactRequest(t *testing.T) {
|
||||
|
||||
clock := uint64(1)
|
||||
|
||||
tests := []contactTest{
|
||||
{
|
||||
actualLocalState: ContactRequestStateNone,
|
||||
actualRemoteState: ContactRequestStateNone,
|
||||
expectedLocalState: ContactRequestStateNone,
|
||||
expectedRemoteState: ContactRequestStateNone,
|
||||
expectedAdded: false,
|
||||
expectedHasAddedUs: false,
|
||||
expectedMutual: false,
|
||||
},
|
||||
{
|
||||
actualLocalState: ContactRequestStateNone,
|
||||
actualRemoteState: ContactRequestStateReceived,
|
||||
expectedLocalState: ContactRequestStateNone,
|
||||
expectedRemoteState: ContactRequestStateNone,
|
||||
expectedAdded: false,
|
||||
expectedHasAddedUs: false,
|
||||
expectedMutual: false,
|
||||
},
|
||||
{
|
||||
actualLocalState: ContactRequestStateSent,
|
||||
actualRemoteState: ContactRequestStateNone,
|
||||
expectedLocalState: ContactRequestStateNone,
|
||||
expectedRemoteState: ContactRequestStateNone,
|
||||
expectedAdded: false,
|
||||
expectedHasAddedUs: false,
|
||||
expectedMutual: false,
|
||||
},
|
||||
{
|
||||
actualLocalState: ContactRequestStateSent,
|
||||
actualRemoteState: ContactRequestStateReceived,
|
||||
expectedLocalState: ContactRequestStateNone,
|
||||
expectedRemoteState: ContactRequestStateNone,
|
||||
expectedAdded: false,
|
||||
expectedHasAddedUs: false,
|
||||
expectedMutual: false,
|
||||
},
|
||||
{
|
||||
actualLocalState: ContactRequestStateDismissed,
|
||||
actualRemoteState: ContactRequestStateNone,
|
||||
expectedLocalState: ContactRequestStateNone,
|
||||
expectedRemoteState: ContactRequestStateNone,
|
||||
expectedAdded: false,
|
||||
expectedHasAddedUs: false,
|
||||
expectedMutual: false,
|
||||
},
|
||||
{
|
||||
actualLocalState: ContactRequestStateDismissed,
|
||||
actualRemoteState: ContactRequestStateReceived,
|
||||
expectedLocalState: ContactRequestStateNone,
|
||||
expectedRemoteState: ContactRequestStateNone,
|
||||
expectedAdded: false,
|
||||
expectedHasAddedUs: false,
|
||||
expectedMutual: false,
|
||||
},
|
||||
}
|
||||
|
||||
for testNum, tc := range tests {
|
||||
contact := tc.Contact()
|
||||
|
||||
contact.RetractContactRequest(clock)
|
||||
validateContactTest(t, contact, tc, testNum+1)
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
func TestContactDismissContactRequest(t *testing.T) {
|
||||
|
||||
clock := uint64(1)
|
||||
|
||||
tests := []contactTest{
|
||||
{
|
||||
actualLocalState: ContactRequestStateNone,
|
||||
actualRemoteState: ContactRequestStateNone,
|
||||
expectedLocalState: ContactRequestStateDismissed,
|
||||
expectedRemoteState: ContactRequestStateNone,
|
||||
expectedAdded: false,
|
||||
expectedHasAddedUs: false,
|
||||
expectedMutual: false,
|
||||
},
|
||||
{
|
||||
actualLocalState: ContactRequestStateNone,
|
||||
actualRemoteState: ContactRequestStateReceived,
|
||||
expectedLocalState: ContactRequestStateDismissed,
|
||||
expectedRemoteState: ContactRequestStateReceived,
|
||||
expectedAdded: false,
|
||||
expectedHasAddedUs: true,
|
||||
expectedMutual: false,
|
||||
},
|
||||
{
|
||||
actualLocalState: ContactRequestStateSent,
|
||||
actualRemoteState: ContactRequestStateNone,
|
||||
expectedLocalState: ContactRequestStateDismissed,
|
||||
expectedRemoteState: ContactRequestStateNone,
|
||||
expectedAdded: false,
|
||||
expectedHasAddedUs: false,
|
||||
expectedMutual: false,
|
||||
},
|
||||
{
|
||||
actualLocalState: ContactRequestStateSent,
|
||||
actualRemoteState: ContactRequestStateReceived,
|
||||
expectedLocalState: ContactRequestStateDismissed,
|
||||
expectedRemoteState: ContactRequestStateReceived,
|
||||
expectedAdded: false,
|
||||
expectedHasAddedUs: true,
|
||||
expectedMutual: false,
|
||||
},
|
||||
{
|
||||
actualLocalState: ContactRequestStateDismissed,
|
||||
actualRemoteState: ContactRequestStateNone,
|
||||
expectedLocalState: ContactRequestStateDismissed,
|
||||
expectedRemoteState: ContactRequestStateNone,
|
||||
expectedAdded: false,
|
||||
expectedHasAddedUs: false,
|
||||
expectedMutual: false,
|
||||
},
|
||||
{
|
||||
actualLocalState: ContactRequestStateDismissed,
|
||||
actualRemoteState: ContactRequestStateReceived,
|
||||
expectedLocalState: ContactRequestStateDismissed,
|
||||
expectedRemoteState: ContactRequestStateReceived,
|
||||
expectedAdded: false,
|
||||
expectedHasAddedUs: true,
|
||||
expectedMutual: false,
|
||||
},
|
||||
}
|
||||
|
||||
for testNum, tc := range tests {
|
||||
contact := tc.Contact()
|
||||
|
||||
contact.DismissContactRequest(clock)
|
||||
validateContactTest(t, contact, tc, testNum+1)
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
func TestContactContactRequestRetracted(t *testing.T) {
|
||||
|
||||
clock := uint64(1)
|
||||
|
||||
tests := []contactTest{
|
||||
{
|
||||
actualLocalState: ContactRequestStateNone,
|
||||
actualRemoteState: ContactRequestStateNone,
|
||||
expectedLocalState: ContactRequestStateNone,
|
||||
expectedRemoteState: ContactRequestStateNone,
|
||||
expectedAdded: false,
|
||||
expectedHasAddedUs: false,
|
||||
expectedMutual: false,
|
||||
},
|
||||
{
|
||||
actualLocalState: ContactRequestStateNone,
|
||||
actualRemoteState: ContactRequestStateReceived,
|
||||
expectedLocalState: ContactRequestStateNone,
|
||||
expectedRemoteState: ContactRequestStateNone,
|
||||
expectedAdded: false,
|
||||
expectedHasAddedUs: false,
|
||||
expectedMutual: false,
|
||||
},
|
||||
{
|
||||
actualLocalState: ContactRequestStateSent,
|
||||
actualRemoteState: ContactRequestStateNone,
|
||||
expectedLocalState: ContactRequestStateNone,
|
||||
expectedRemoteState: ContactRequestStateNone,
|
||||
expectedAdded: false,
|
||||
expectedHasAddedUs: false,
|
||||
expectedMutual: false,
|
||||
},
|
||||
{
|
||||
actualLocalState: ContactRequestStateSent,
|
||||
actualRemoteState: ContactRequestStateReceived,
|
||||
expectedLocalState: ContactRequestStateNone,
|
||||
expectedRemoteState: ContactRequestStateNone,
|
||||
expectedAdded: false,
|
||||
expectedHasAddedUs: false,
|
||||
expectedMutual: false,
|
||||
},
|
||||
{
|
||||
actualLocalState: ContactRequestStateDismissed,
|
||||
actualRemoteState: ContactRequestStateNone,
|
||||
expectedLocalState: ContactRequestStateNone,
|
||||
expectedRemoteState: ContactRequestStateNone,
|
||||
expectedAdded: false,
|
||||
expectedHasAddedUs: false,
|
||||
expectedMutual: false,
|
||||
},
|
||||
{
|
||||
actualLocalState: ContactRequestStateDismissed,
|
||||
actualRemoteState: ContactRequestStateReceived,
|
||||
expectedLocalState: ContactRequestStateNone,
|
||||
expectedRemoteState: ContactRequestStateNone,
|
||||
expectedAdded: false,
|
||||
expectedHasAddedUs: false,
|
||||
expectedMutual: false,
|
||||
},
|
||||
}
|
||||
|
||||
for testNum, tc := range tests {
|
||||
contact := tc.Contact()
|
||||
|
||||
contact.ContactRequestRetracted(clock)
|
||||
validateContactTest(t, contact, tc, testNum+1)
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
func TestContactContactRequestReceived(t *testing.T) {
|
||||
|
||||
clock := uint64(1)
|
||||
|
||||
tests := []contactTest{
|
||||
{
|
||||
actualLocalState: ContactRequestStateNone,
|
||||
actualRemoteState: ContactRequestStateNone,
|
||||
expectedLocalState: ContactRequestStateNone,
|
||||
expectedRemoteState: ContactRequestStateReceived,
|
||||
expectedAdded: false,
|
||||
expectedHasAddedUs: true,
|
||||
expectedMutual: false,
|
||||
},
|
||||
{
|
||||
actualLocalState: ContactRequestStateNone,
|
||||
actualRemoteState: ContactRequestStateReceived,
|
||||
expectedLocalState: ContactRequestStateNone,
|
||||
expectedRemoteState: ContactRequestStateReceived,
|
||||
expectedAdded: false,
|
||||
expectedHasAddedUs: true,
|
||||
expectedMutual: false,
|
||||
},
|
||||
{
|
||||
actualLocalState: ContactRequestStateSent,
|
||||
actualRemoteState: ContactRequestStateNone,
|
||||
expectedLocalState: ContactRequestStateSent,
|
||||
expectedRemoteState: ContactRequestStateReceived,
|
||||
expectedAdded: true,
|
||||
expectedHasAddedUs: true,
|
||||
expectedMutual: true,
|
||||
},
|
||||
{
|
||||
actualLocalState: ContactRequestStateSent,
|
||||
actualRemoteState: ContactRequestStateReceived,
|
||||
expectedLocalState: ContactRequestStateSent,
|
||||
expectedRemoteState: ContactRequestStateReceived,
|
||||
expectedAdded: true,
|
||||
expectedHasAddedUs: true,
|
||||
expectedMutual: true,
|
||||
},
|
||||
{
|
||||
actualLocalState: ContactRequestStateDismissed,
|
||||
actualRemoteState: ContactRequestStateNone,
|
||||
expectedLocalState: ContactRequestStateDismissed,
|
||||
expectedRemoteState: ContactRequestStateReceived,
|
||||
expectedAdded: false,
|
||||
expectedHasAddedUs: true,
|
||||
expectedMutual: false,
|
||||
},
|
||||
{
|
||||
actualLocalState: ContactRequestStateDismissed,
|
||||
actualRemoteState: ContactRequestStateReceived,
|
||||
expectedLocalState: ContactRequestStateDismissed,
|
||||
expectedRemoteState: ContactRequestStateReceived,
|
||||
expectedAdded: false,
|
||||
expectedHasAddedUs: true,
|
||||
expectedMutual: false,
|
||||
},
|
||||
}
|
||||
|
||||
for testNum, tc := range tests {
|
||||
contact := tc.Contact()
|
||||
|
||||
contact.ContactRequestReceived(clock)
|
||||
validateContactTest(t, contact, tc, testNum+1)
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
func TestContactContactRequestAccepted(t *testing.T) {
|
||||
|
||||
clock := uint64(1)
|
||||
|
||||
tests := []contactTest{
|
||||
{
|
||||
actualLocalState: ContactRequestStateNone,
|
||||
actualRemoteState: ContactRequestStateNone,
|
||||
expectedLocalState: ContactRequestStateNone,
|
||||
expectedRemoteState: ContactRequestStateReceived,
|
||||
expectedAdded: false,
|
||||
expectedHasAddedUs: true,
|
||||
expectedMutual: false,
|
||||
},
|
||||
{
|
||||
actualLocalState: ContactRequestStateNone,
|
||||
actualRemoteState: ContactRequestStateReceived,
|
||||
expectedLocalState: ContactRequestStateNone,
|
||||
expectedRemoteState: ContactRequestStateReceived,
|
||||
expectedAdded: false,
|
||||
expectedHasAddedUs: true,
|
||||
expectedMutual: false,
|
||||
},
|
||||
{
|
||||
actualLocalState: ContactRequestStateSent,
|
||||
actualRemoteState: ContactRequestStateNone,
|
||||
expectedLocalState: ContactRequestStateSent,
|
||||
expectedRemoteState: ContactRequestStateReceived,
|
||||
expectedAdded: true,
|
||||
expectedHasAddedUs: true,
|
||||
expectedMutual: true,
|
||||
},
|
||||
{
|
||||
actualLocalState: ContactRequestStateSent,
|
||||
actualRemoteState: ContactRequestStateReceived,
|
||||
expectedLocalState: ContactRequestStateSent,
|
||||
expectedRemoteState: ContactRequestStateReceived,
|
||||
expectedAdded: true,
|
||||
expectedHasAddedUs: true,
|
||||
expectedMutual: true,
|
||||
},
|
||||
{
|
||||
actualLocalState: ContactRequestStateDismissed,
|
||||
actualRemoteState: ContactRequestStateNone,
|
||||
expectedLocalState: ContactRequestStateDismissed,
|
||||
expectedRemoteState: ContactRequestStateReceived,
|
||||
expectedAdded: false,
|
||||
expectedHasAddedUs: true,
|
||||
expectedMutual: false,
|
||||
},
|
||||
{
|
||||
actualLocalState: ContactRequestStateDismissed,
|
||||
actualRemoteState: ContactRequestStateReceived,
|
||||
expectedLocalState: ContactRequestStateDismissed,
|
||||
expectedRemoteState: ContactRequestStateReceived,
|
||||
expectedAdded: false,
|
||||
expectedHasAddedUs: true,
|
||||
expectedMutual: false,
|
||||
},
|
||||
}
|
||||
|
||||
for testNum, tc := range tests {
|
||||
contact := tc.Contact()
|
||||
|
||||
contact.ContactRequestAccepted(clock)
|
||||
validateContactTest(t, contact, tc, testNum+1)
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
func TestMarshalContactJSON(t *testing.T) {
|
||||
contact := &Contact{}
|
||||
id, err := crypto.GenerateKey()
|
||||
|
@ -21,4 +557,5 @@ func TestMarshalContactJSON(t *testing.T) {
|
|||
|
||||
require.NoError(t, err)
|
||||
require.True(t, strings.Contains(string(encodedContact), "compressedKey\":\"zQ"))
|
||||
|
||||
}
|
||||
|
|
|
@ -103,7 +103,7 @@ func _1536754952_initial_schemaDownSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1536754952_initial_schema.down.sql", size: 83, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1536754952_initial_schema.down.sql", size: 83, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x44, 0xcf, 0x76, 0x71, 0x1f, 0x5e, 0x9a, 0x43, 0xd8, 0xcd, 0xb8, 0xc3, 0x70, 0xc3, 0x7f, 0xfc, 0x90, 0xb4, 0x25, 0x1e, 0xf4, 0x66, 0x20, 0xb8, 0x33, 0x7e, 0xb0, 0x76, 0x1f, 0xc, 0xc0, 0x75}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -123,7 +123,7 @@ func _1536754952_initial_schemaUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1536754952_initial_schema.up.sql", size: 962, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1536754952_initial_schema.up.sql", size: 962, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xea, 0x90, 0x5a, 0x59, 0x3e, 0x3, 0xe2, 0x3c, 0x81, 0x42, 0xcd, 0x4c, 0x9a, 0xe8, 0xda, 0x93, 0x2b, 0x70, 0xa4, 0xd5, 0x29, 0x3e, 0xd5, 0xc9, 0x27, 0xb6, 0xb7, 0x65, 0xff, 0x0, 0xcb, 0xde}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -143,7 +143,7 @@ func _1539249977_update_ratchet_infoDownSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1539249977_update_ratchet_info.down.sql", size: 311, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1539249977_update_ratchet_info.down.sql", size: 311, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x1, 0xa4, 0xeb, 0xa0, 0xe6, 0xa0, 0xd4, 0x48, 0xbb, 0xad, 0x6f, 0x7d, 0x67, 0x8c, 0xbd, 0x25, 0xde, 0x1f, 0x73, 0x9a, 0xbb, 0xa8, 0xc9, 0x30, 0xb7, 0xa9, 0x7c, 0xaf, 0xb5, 0x1, 0x61, 0xdd}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -163,7 +163,7 @@ func _1539249977_update_ratchet_infoUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1539249977_update_ratchet_info.up.sql", size: 368, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1539249977_update_ratchet_info.up.sql", size: 368, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc, 0x8e, 0xbf, 0x6f, 0xa, 0xc0, 0xe1, 0x3c, 0x42, 0x28, 0x88, 0x1d, 0xdb, 0xba, 0x1c, 0x83, 0xec, 0xba, 0xd3, 0x5f, 0x5c, 0x77, 0x5e, 0xa7, 0x46, 0x36, 0xec, 0x69, 0xa, 0x4b, 0x17, 0x79}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -183,7 +183,7 @@ func _1540715431_add_versionDownSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1540715431_add_version.down.sql", size: 127, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1540715431_add_version.down.sql", size: 127, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf5, 0x9, 0x4, 0xe3, 0x76, 0x2e, 0xb8, 0x9, 0x23, 0xf0, 0x70, 0x93, 0xc4, 0x50, 0xe, 0x9d, 0x84, 0x22, 0x8c, 0x94, 0xd3, 0x24, 0x9, 0x9a, 0xc1, 0xa1, 0x48, 0x45, 0xfd, 0x40, 0x6e, 0xe6}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -203,7 +203,7 @@ func _1540715431_add_versionUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1540715431_add_version.up.sql", size: 265, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1540715431_add_version.up.sql", size: 265, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc7, 0x4c, 0x36, 0x96, 0xdf, 0x16, 0x10, 0xa6, 0x27, 0x1a, 0x79, 0x8b, 0x42, 0x83, 0x23, 0xc, 0x7e, 0xb6, 0x3d, 0x2, 0xda, 0xa4, 0xb4, 0xd, 0x27, 0x55, 0xba, 0xdc, 0xb2, 0x88, 0x8f, 0xa6}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -223,7 +223,7 @@ func _1541164797_add_installationsDownSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1541164797_add_installations.down.sql", size: 26, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1541164797_add_installations.down.sql", size: 26, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf5, 0xfd, 0xe6, 0xd8, 0xca, 0x3b, 0x38, 0x18, 0xee, 0x0, 0x5f, 0x36, 0x9e, 0x1e, 0xd, 0x19, 0x3e, 0xb4, 0x73, 0x53, 0xe9, 0xa5, 0xac, 0xdd, 0xa1, 0x2f, 0xc7, 0x6c, 0xa8, 0xd9, 0xa, 0x88}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -243,7 +243,7 @@ func _1541164797_add_installationsUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1541164797_add_installations.up.sql", size: 216, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1541164797_add_installations.up.sql", size: 216, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x2d, 0x18, 0x26, 0xb8, 0x88, 0x47, 0xdb, 0x83, 0xcc, 0xb6, 0x9d, 0x1c, 0x1, 0xae, 0x2f, 0xde, 0x97, 0x82, 0x3, 0x30, 0xa8, 0x63, 0xa1, 0x78, 0x4b, 0xa5, 0x9, 0x8, 0x75, 0xa2, 0x57, 0x81}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -263,7 +263,7 @@ func _1558084410_add_secretDownSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1558084410_add_secret.down.sql", size: 56, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1558084410_add_secret.down.sql", size: 56, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x49, 0xb, 0x65, 0xdf, 0x59, 0xbf, 0xe9, 0x5, 0x5b, 0x6f, 0xd5, 0x3a, 0xb7, 0x57, 0xe8, 0x78, 0x38, 0x73, 0x53, 0x57, 0xf7, 0x24, 0x4, 0xe4, 0xa2, 0x49, 0x22, 0xa2, 0xc6, 0xfd, 0x80, 0xa4}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -283,7 +283,7 @@ func _1558084410_add_secretUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1558084410_add_secret.up.sql", size: 301, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1558084410_add_secret.up.sql", size: 301, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf5, 0x32, 0x36, 0x8e, 0x47, 0xb0, 0x8f, 0xc1, 0xc6, 0xf7, 0xc6, 0x9f, 0x2d, 0x44, 0x75, 0x2b, 0x26, 0xec, 0x6, 0xa0, 0x7b, 0xa5, 0xbd, 0xc8, 0x76, 0x8a, 0x82, 0x68, 0x2, 0x42, 0xb5, 0xf4}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -303,7 +303,7 @@ func _1558588866_add_versionDownSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1558588866_add_version.down.sql", size: 47, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1558588866_add_version.down.sql", size: 47, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xde, 0x52, 0x34, 0x3c, 0x46, 0x4a, 0xf0, 0x72, 0x47, 0x6f, 0x49, 0x5c, 0xc7, 0xf9, 0x32, 0xce, 0xc4, 0x3d, 0xfd, 0x61, 0xa1, 0x8b, 0x8f, 0xf2, 0x31, 0x34, 0xde, 0x15, 0x49, 0xa6, 0xde, 0xb9}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -323,7 +323,7 @@ func _1558588866_add_versionUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1558588866_add_version.up.sql", size: 57, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1558588866_add_version.up.sql", size: 57, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x2a, 0xea, 0x64, 0x39, 0x61, 0x20, 0x83, 0x83, 0xb, 0x2e, 0x79, 0x64, 0xb, 0x53, 0xfa, 0xfe, 0xc6, 0xf7, 0x67, 0x42, 0xd3, 0x4f, 0xdc, 0x7e, 0x30, 0x32, 0xe8, 0x14, 0x41, 0xe9, 0xe7, 0x3b}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -343,7 +343,7 @@ func _1559627659_add_contact_codeDownSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1559627659_add_contact_code.down.sql", size: 32, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1559627659_add_contact_code.down.sql", size: 32, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x5d, 0x64, 0x6d, 0xce, 0x24, 0x42, 0x20, 0x8d, 0x4f, 0x37, 0xaa, 0x9d, 0xc, 0x57, 0x98, 0xc1, 0xd1, 0x1a, 0x34, 0xcd, 0x9f, 0x8f, 0x34, 0x86, 0xb3, 0xd3, 0xdc, 0xf1, 0x7d, 0xe5, 0x1b, 0x6e}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -363,7 +363,7 @@ func _1559627659_add_contact_codeUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1559627659_add_contact_code.up.sql", size: 198, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1559627659_add_contact_code.up.sql", size: 198, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x16, 0xf6, 0xc2, 0x62, 0x9c, 0xd2, 0xc9, 0x1e, 0xd8, 0xea, 0xaa, 0xea, 0x95, 0x8f, 0x89, 0x6a, 0x85, 0x5d, 0x9d, 0x99, 0x78, 0x3c, 0x90, 0x66, 0x99, 0x3e, 0x4b, 0x19, 0x62, 0xfb, 0x31, 0x4d}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -383,7 +383,7 @@ func _1561368210_add_installation_metadataDownSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1561368210_add_installation_metadata.down.sql", size: 35, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1561368210_add_installation_metadata.down.sql", size: 35, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa8, 0xde, 0x3f, 0xd2, 0x4a, 0x50, 0x98, 0x56, 0xe3, 0xc0, 0xcd, 0x9d, 0xb0, 0x34, 0x3b, 0xe5, 0x62, 0x18, 0xb5, 0x20, 0xc9, 0x3e, 0xdc, 0x6a, 0x40, 0x36, 0x66, 0xea, 0x51, 0x8c, 0x71, 0xf5}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -403,7 +403,7 @@ func _1561368210_add_installation_metadataUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1561368210_add_installation_metadata.up.sql", size: 267, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1561368210_add_installation_metadata.up.sql", size: 267, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb4, 0x71, 0x8f, 0x29, 0xb1, 0xaa, 0xd6, 0xd1, 0x8c, 0x17, 0xef, 0x6c, 0xd5, 0x80, 0xb8, 0x2c, 0xc3, 0xfe, 0xec, 0x24, 0x4d, 0xc8, 0x25, 0xd3, 0xb4, 0xcd, 0xa9, 0xac, 0x63, 0x61, 0xb2, 0x9c}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -423,7 +423,7 @@ func _1632236298_add_communitiesDownSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1632236298_add_communities.down.sql", size: 151, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1632236298_add_communities.down.sql", size: 151, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x26, 0xe5, 0x47, 0xd1, 0xe5, 0xec, 0x5b, 0x3e, 0xdc, 0x22, 0xf4, 0x27, 0xee, 0x70, 0xf3, 0x9, 0x4f, 0xd2, 0x9f, 0x92, 0xf, 0x5a, 0x18, 0x11, 0xb7, 0x40, 0xab, 0xf1, 0x98, 0x72, 0xd6, 0x60}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -443,7 +443,7 @@ func _1632236298_add_communitiesUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1632236298_add_communities.up.sql", size: 584, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1632236298_add_communities.up.sql", size: 584, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x8f, 0xe0, 0x1, 0x6e, 0x84, 0xc, 0x35, 0xe4, 0x5a, 0xf, 0xbe, 0xcb, 0xf7, 0xd2, 0xa8, 0x25, 0xf5, 0xdb, 0x7, 0xcb, 0xa3, 0xe6, 0xf4, 0xc4, 0x1b, 0xa5, 0xec, 0x32, 0x1e, 0x1e, 0x48, 0x60}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -463,7 +463,7 @@ func _1636536507_add_index_bundlesUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1636536507_add_index_bundles.up.sql", size: 347, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1636536507_add_index_bundles.up.sql", size: 347, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf1, 0xb9, 0x3c, 0x16, 0xfc, 0xfb, 0xb2, 0xb4, 0x3b, 0xfe, 0xdc, 0xf5, 0x9c, 0x42, 0xa0, 0xa0, 0xd4, 0xd, 0x5b, 0x97, 0x10, 0x80, 0x95, 0xe, 0x13, 0xc1, 0x18, 0x8, 0xee, 0xf, 0x99, 0xee}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -483,7 +483,7 @@ func docGo() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "doc.go", size: 377, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "doc.go", size: 377, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xef, 0xaf, 0xdf, 0xcf, 0x65, 0xae, 0x19, 0xfc, 0x9d, 0x29, 0xc1, 0x91, 0xaf, 0xb5, 0xd5, 0xb1, 0x56, 0xf3, 0xee, 0xa8, 0xba, 0x13, 0x65, 0xdb, 0xab, 0xcf, 0x4e, 0xac, 0x92, 0xe9, 0x60, 0xf1}}
|
||||
return a, nil
|
||||
}
|
||||
|
|
|
@ -29,7 +29,7 @@ func EncryptIdentityImagesWithContactPubKeys(iis map[string]*protobuf.IdentityIm
|
|||
ii.Payload = encryptedPayload
|
||||
ii.Encrypted = true
|
||||
m.allContacts.Range(func(contactID string, contact *Contact) (shouldContinue bool) {
|
||||
if !contact.Added {
|
||||
if !contact.added() {
|
||||
return true
|
||||
}
|
||||
var pubK *ecdsa.PublicKey
|
||||
|
|
|
@ -1551,7 +1551,7 @@ func (m *Messenger) Init() error {
|
|||
for idx, contact := range contacts {
|
||||
m.allContacts.Store(contact.ID, contacts[idx])
|
||||
// We only need filters for contacts added by us and not blocked.
|
||||
if !contact.Added || contact.Blocked {
|
||||
if !contact.added() || contact.Blocked {
|
||||
continue
|
||||
}
|
||||
publicKey, err := contact.PublicKey()
|
||||
|
@ -2318,7 +2318,7 @@ func (m *Messenger) SyncDevices(ctx context.Context, ensName, photoPath string,
|
|||
|
||||
m.allContacts.Range(func(contactID string, contact *Contact) (shouldContinue bool) {
|
||||
if contact.ID != myID &&
|
||||
(contact.LocalNickname != "" || contact.Added || contact.Blocked) {
|
||||
(contact.LocalNickname != "" || contact.added() || contact.Blocked) {
|
||||
if err = m.syncContact(ctx, contact, rawMessageHandler); err != nil {
|
||||
return false
|
||||
}
|
||||
|
@ -2720,32 +2720,7 @@ func (m *Messenger) syncContact(ctx context.Context, contact *Contact, rawMessag
|
|||
}
|
||||
clock, chat := m.getLastClockWithRelatedChat()
|
||||
|
||||
var ensName string
|
||||
if contact.ENSVerified {
|
||||
ensName = contact.EnsName
|
||||
}
|
||||
|
||||
oneToOneChat, ok := m.allChats.Load(contact.ID)
|
||||
muted := false
|
||||
if ok {
|
||||
muted = oneToOneChat.Muted
|
||||
}
|
||||
|
||||
syncMessage := &protobuf.SyncInstallationContactV2{
|
||||
LastUpdatedLocally: contact.LastUpdatedLocally,
|
||||
LastUpdated: contact.LastUpdated,
|
||||
Id: contact.ID,
|
||||
EnsName: ensName,
|
||||
LocalNickname: contact.LocalNickname,
|
||||
Added: contact.Added,
|
||||
Blocked: contact.Blocked,
|
||||
Muted: muted,
|
||||
Removed: contact.Removed,
|
||||
VerificationStatus: int64(contact.VerificationStatus),
|
||||
TrustStatus: int64(contact.TrustStatus),
|
||||
HasAddedUs: contact.HasAddedUs,
|
||||
ContactRequestState: int64(contact.ContactRequestState),
|
||||
}
|
||||
syncMessage := m.buildSyncContactMessage(contact)
|
||||
|
||||
encodedMessage, err := proto.Marshal(syncMessage)
|
||||
if err != nil {
|
||||
|
@ -4260,7 +4235,7 @@ func (m *Messenger) saveDataAndPrepareResponse(messageState *ReceivedMessageStat
|
|||
contact, ok := messageState.AllContacts.Load(id)
|
||||
if ok {
|
||||
contactsToSave = append(contactsToSave, contact)
|
||||
messageState.Response.Contacts = append(messageState.Response.Contacts, contact)
|
||||
messageState.Response.AddContact(contact)
|
||||
}
|
||||
return true
|
||||
})
|
||||
|
@ -4464,7 +4439,7 @@ func (m *Messenger) MessageByChatID(chatID, cursor string, limit int) ([]*common
|
|||
if chat.Timeline() {
|
||||
var chatIDs = []string{"@" + contactIDFromPublicKey(&m.identity.PublicKey)}
|
||||
m.allContacts.Range(func(contactID string, contact *Contact) (shouldContinue bool) {
|
||||
if contact.Added {
|
||||
if contact.added() {
|
||||
chatIDs = append(chatIDs, "@"+contact.ID)
|
||||
}
|
||||
return true
|
||||
|
@ -5584,7 +5559,7 @@ func (m *Messenger) pushNotificationOptions() *pushnotificationclient.Registrati
|
|||
var publicChatIDs []string
|
||||
|
||||
m.allContacts.Range(func(contactID string, contact *Contact) (shouldContinue bool) {
|
||||
if contact.Added && !contact.Blocked {
|
||||
if contact.added() && !contact.Blocked {
|
||||
pk, err := contact.PublicKey()
|
||||
if err != nil {
|
||||
m.logger.Warn("could not parse contact public key")
|
||||
|
@ -5782,7 +5757,7 @@ func (m *Messenger) EmojiReactionsByChatID(chatID string, cursor string, limit i
|
|||
if chat.Timeline() {
|
||||
var chatIDs = []string{"@" + contactIDFromPublicKey(&m.identity.PublicKey)}
|
||||
m.allContacts.Range(func(contactID string, contact *Contact) (shouldContinue bool) {
|
||||
if contact.Added {
|
||||
if contact.added() {
|
||||
chatIDs = append(chatIDs, "@"+contact.ID)
|
||||
}
|
||||
return true
|
||||
|
@ -6110,3 +6085,7 @@ func chunkAttachmentsByByteSize(slice []*protobuf.DiscordMessageAttachment, maxF
|
|||
}
|
||||
return chunks
|
||||
}
|
||||
|
||||
func (m *Messenger) myHexIdentity() string {
|
||||
return common.PubkeyToHex(&m.identity.PublicKey)
|
||||
}
|
||||
|
|
|
@ -199,7 +199,7 @@ func (m *Messenger) encodeAndDispatchBackupMessage(ctx context.Context, message
|
|||
func (m *Messenger) backupContacts(ctx context.Context) []*protobuf.Backup {
|
||||
var contacts []*protobuf.SyncInstallationContactV2
|
||||
m.allContacts.Range(func(contactID string, contact *Contact) (shouldContinue bool) {
|
||||
syncContact := m.syncBackupContact(ctx, contact)
|
||||
syncContact := m.buildSyncContactMessage(contact)
|
||||
if syncContact != nil {
|
||||
contacts = append(contacts, syncContact)
|
||||
}
|
||||
|
@ -267,12 +267,7 @@ func (m *Messenger) backupCommunities(ctx context.Context, clock uint64) ([]*pro
|
|||
return backupMessages, nil
|
||||
}
|
||||
|
||||
// syncContact sync as contact with paired devices
|
||||
func (m *Messenger) syncBackupContact(ctx context.Context, contact *Contact) *protobuf.SyncInstallationContactV2 {
|
||||
if contact.IsSyncing {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *Messenger) buildSyncContactMessage(contact *Contact) *protobuf.SyncInstallationContactV2 {
|
||||
var ensName string
|
||||
if contact.ENSVerified {
|
||||
ensName = contact.EnsName
|
||||
|
@ -285,18 +280,22 @@ func (m *Messenger) syncBackupContact(ctx context.Context, contact *Contact) *pr
|
|||
}
|
||||
|
||||
return &protobuf.SyncInstallationContactV2{
|
||||
LastUpdatedLocally: contact.LastUpdatedLocally,
|
||||
LastUpdated: contact.LastUpdated,
|
||||
Id: contact.ID,
|
||||
EnsName: ensName,
|
||||
LocalNickname: contact.LocalNickname,
|
||||
Added: contact.Added,
|
||||
Blocked: contact.Blocked,
|
||||
Muted: muted,
|
||||
HasAddedUs: contact.HasAddedUs,
|
||||
Removed: contact.Removed,
|
||||
VerificationStatus: int64(contact.VerificationStatus),
|
||||
TrustStatus: int64(contact.TrustStatus),
|
||||
LastUpdatedLocally: contact.LastUpdatedLocally,
|
||||
LastUpdated: contact.LastUpdated,
|
||||
Id: contact.ID,
|
||||
EnsName: ensName,
|
||||
LocalNickname: contact.LocalNickname,
|
||||
Added: contact.added(),
|
||||
Blocked: contact.Blocked,
|
||||
Muted: muted,
|
||||
HasAddedUs: contact.hasAddedUs(),
|
||||
Removed: contact.Removed,
|
||||
ContactRequestLocalState: int64(contact.ContactRequestLocalState),
|
||||
ContactRequestRemoteState: int64(contact.ContactRequestRemoteState),
|
||||
ContactRequestRemoteClock: int64(contact.ContactRequestRemoteClock),
|
||||
ContactRequestLocalClock: int64(contact.ContactRequestLocalClock),
|
||||
VerificationStatus: int64(contact.VerificationStatus),
|
||||
TrustStatus: int64(contact.TrustStatus),
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -98,6 +98,11 @@ func (s *MessengerBackupSuite) TestBackupContacts() {
|
|||
s.Require().Equal(actualContacts[1].ID, contactID1)
|
||||
}
|
||||
|
||||
s.Require().Equal(ContactRequestStateSent, actualContacts[0].ContactRequestLocalState)
|
||||
s.Require().Equal(ContactRequestStateSent, actualContacts[1].ContactRequestLocalState)
|
||||
s.Require().True(actualContacts[0].added())
|
||||
s.Require().True(actualContacts[1].added())
|
||||
|
||||
// Backup
|
||||
|
||||
clock, err := bob1.BackupData(context.Background())
|
||||
|
@ -132,6 +137,8 @@ func (s *MessengerBackupSuite) TestBackupContacts() {
|
|||
s.Require().Equal(actualContacts[0].ID, contactID2)
|
||||
s.Require().Equal(actualContacts[1].ID, contactID1)
|
||||
}
|
||||
s.Require().Equal(ContactRequestStateSent, actualContacts[0].ContactRequestLocalState)
|
||||
s.Require().Equal(ContactRequestStateSent, actualContacts[1].ContactRequestLocalState)
|
||||
lastBackup, err := bob1.lastBackup()
|
||||
s.Require().NoError(err)
|
||||
s.Require().NotEmpty(lastBackup)
|
||||
|
|
|
@ -12,6 +12,29 @@ import (
|
|||
"strings"
|
||||
)
|
||||
|
||||
func (m *Messenger) getOneToOneAndNextClock(contact *Contact) (*Chat, uint64, error) {
|
||||
chat, ok := m.allChats.Load(contact.ID)
|
||||
if !ok {
|
||||
publicKey, err := contact.PublicKey()
|
||||
if err != nil {
|
||||
return nil, 0, err
|
||||
}
|
||||
|
||||
chat = OneToOneFromPublicKey(publicKey, m.getTimesource())
|
||||
|
||||
// We don't want to show the chat to the user by default
|
||||
chat.Active = false
|
||||
|
||||
if err := m.saveChat(chat); err != nil {
|
||||
return nil, 0, err
|
||||
}
|
||||
m.allChats.Store(chat.ID, chat)
|
||||
}
|
||||
clock, _ := chat.NextClockAndTimestamp(m.getTimesource())
|
||||
|
||||
return chat, clock, nil
|
||||
}
|
||||
|
||||
func (m *Messenger) Chats() []*Chat {
|
||||
var chats []*Chat
|
||||
|
||||
|
@ -267,14 +290,11 @@ func (m *Messenger) CreateOneToOneChat(request *requests.CreateOneToOneChat) (*M
|
|||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
contact, ok := m.allContacts.Load(chatID)
|
||||
if !ok {
|
||||
var err error
|
||||
contact, err = buildContactFromPkString(chatID)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
contact, err := m.BuildContact(chatID)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
contact.EnsName = ensName
|
||||
contact.ENSVerified = true
|
||||
err = m.persistence.SaveContact(contact, nil)
|
||||
|
|
|
@ -91,7 +91,7 @@ func (s *MessengerContactRequestSuite) TestReceiveAndAcceptContactRequest() {
|
|||
// Make sure contact is added on the sender side
|
||||
contacts := s.m.AddedContacts()
|
||||
s.Require().Len(contacts, 1)
|
||||
s.Require().Equal(ContactRequestStateSent, contacts[0].ContactRequestState)
|
||||
s.Require().Equal(ContactRequestStateSent, contacts[0].ContactRequestLocalState)
|
||||
|
||||
// Wait for the message to reach its destination
|
||||
resp, err = WaitOnMessengerResponse(
|
||||
|
@ -116,7 +116,7 @@ func (s *MessengerContactRequestSuite) TestReceiveAndAcceptContactRequest() {
|
|||
|
||||
// Check the contact state is correctly set
|
||||
s.Require().Len(resp.Contacts, 1)
|
||||
s.Require().Equal(ContactRequestStateReceived, resp.Contacts[0].ContactRequestState)
|
||||
s.Require().Equal(ContactRequestStateReceived, resp.Contacts[0].ContactRequestRemoteState)
|
||||
|
||||
// Make sure it's the pending contact requests
|
||||
contactRequests, _, err = theirMessenger.PendingContactRequests("", 10)
|
||||
|
@ -141,7 +141,7 @@ func (s *MessengerContactRequestSuite) TestReceiveAndAcceptContactRequest() {
|
|||
|
||||
// Check the contact state is correctly set
|
||||
s.Require().Len(resp.Contacts, 1)
|
||||
s.Require().Equal(ContactRequestStateMutual, resp.Contacts[0].ContactRequestState)
|
||||
s.Require().True(resp.Contacts[0].mutual())
|
||||
|
||||
// Make sure the sender is added to our contacts
|
||||
contacts = theirMessenger.AddedContacts()
|
||||
|
@ -181,7 +181,7 @@ func (s *MessengerContactRequestSuite) TestReceiveAndAcceptContactRequest() {
|
|||
|
||||
// Check the contact state is correctly set
|
||||
s.Require().Len(resp.Contacts, 1)
|
||||
s.Require().Equal(ContactRequestStateMutual, resp.Contacts[0].ContactRequestState)
|
||||
s.Require().True(resp.Contacts[0].mutual())
|
||||
}
|
||||
|
||||
func (s *MessengerContactRequestSuite) TestReceiveAndDismissContactRequest() {
|
||||
|
@ -208,7 +208,7 @@ func (s *MessengerContactRequestSuite) TestReceiveAndDismissContactRequest() {
|
|||
|
||||
// Check the contact state is correctly set
|
||||
s.Require().Len(resp.Contacts, 1)
|
||||
s.Require().Equal(ContactRequestStateSent, resp.Contacts[0].ContactRequestState)
|
||||
s.Require().Equal(ContactRequestStateSent, resp.Contacts[0].ContactRequestLocalState)
|
||||
|
||||
// Make sure it's not returned as coming from us
|
||||
contactRequests, _, err := s.m.PendingContactRequests("", 10)
|
||||
|
@ -239,7 +239,7 @@ func (s *MessengerContactRequestSuite) TestReceiveAndDismissContactRequest() {
|
|||
|
||||
// Check the contact state is correctly set
|
||||
s.Require().Len(resp.Contacts, 1)
|
||||
s.Require().Equal(ContactRequestStateReceived, resp.Contacts[0].ContactRequestState)
|
||||
s.Require().Equal(ContactRequestStateReceived, resp.Contacts[0].ContactRequestRemoteState)
|
||||
|
||||
// Check contact request has been received
|
||||
s.Require().NoError(err)
|
||||
|
@ -256,7 +256,7 @@ func (s *MessengerContactRequestSuite) TestReceiveAndDismissContactRequest() {
|
|||
|
||||
// Check the contact state is correctly set
|
||||
s.Require().Len(resp.Contacts, 1)
|
||||
s.Require().Equal(ContactRequestStateDismissed, resp.Contacts[0].ContactRequestState)
|
||||
s.Require().Equal(ContactRequestStateDismissed, resp.Contacts[0].ContactRequestLocalState)
|
||||
|
||||
// Make sure the message is updated
|
||||
s.Require().NotNil(resp)
|
||||
|
@ -299,7 +299,7 @@ func (s *MessengerContactRequestSuite) TestReceiveAcceptAndRetractContactRequest
|
|||
|
||||
// Check the contact state is correctly set
|
||||
s.Require().Len(resp.Contacts, 1)
|
||||
s.Require().Equal(ContactRequestStateSent, resp.Contacts[0].ContactRequestState)
|
||||
s.Require().Equal(ContactRequestStateSent, resp.Contacts[0].ContactRequestLocalState)
|
||||
|
||||
s.Require().NotNil(resp)
|
||||
s.Require().Len(resp.Messages(), 1)
|
||||
|
@ -328,7 +328,7 @@ func (s *MessengerContactRequestSuite) TestReceiveAcceptAndRetractContactRequest
|
|||
|
||||
// Check the contact state is correctly set
|
||||
s.Require().Len(resp.Contacts, 1)
|
||||
s.Require().Equal(ContactRequestStateReceived, resp.Contacts[0].ContactRequestState)
|
||||
s.Require().Equal(ContactRequestStateReceived, resp.Contacts[0].ContactRequestRemoteState)
|
||||
|
||||
// Check activity center notification is of the right type
|
||||
s.Require().Len(resp.ActivityCenterNotifications(), 1)
|
||||
|
@ -355,7 +355,7 @@ func (s *MessengerContactRequestSuite) TestReceiveAcceptAndRetractContactRequest
|
|||
|
||||
// Check the contact state is correctly set
|
||||
s.Require().Len(resp.Contacts, 1)
|
||||
s.Require().Equal(ContactRequestStateMutual, resp.Contacts[0].ContactRequestState)
|
||||
s.Require().True(resp.Contacts[0].mutual())
|
||||
|
||||
s.Require().Len(resp.ActivityCenterNotifications(), 1)
|
||||
s.Require().Equal(resp.ActivityCenterNotifications()[0].ID.String(), contactRequests[0].ID)
|
||||
|
@ -387,7 +387,7 @@ func (s *MessengerContactRequestSuite) TestReceiveAcceptAndRetractContactRequest
|
|||
|
||||
// Check the contact state is correctly set
|
||||
s.Require().Len(resp.Contacts, 1)
|
||||
s.Require().Equal(ContactRequestStateMutual, resp.Contacts[0].ContactRequestState)
|
||||
s.Require().True(resp.Contacts[0].mutual())
|
||||
|
||||
// Make sure the message is updated, sender side
|
||||
s.Require().NotNil(resp)
|
||||
|
@ -403,12 +403,13 @@ func (s *MessengerContactRequestSuite) TestReceiveAcceptAndRetractContactRequest
|
|||
s.Require().NoError(err)
|
||||
s.Require().NotNil(resp)
|
||||
s.Require().Len(resp.Contacts, 1)
|
||||
s.Require().False(resp.Contacts[0].HasAddedUs)
|
||||
s.Require().False(resp.Contacts[0].Added)
|
||||
s.Require().False(resp.Contacts[0].hasAddedUs())
|
||||
s.Require().False(resp.Contacts[0].added())
|
||||
|
||||
// Check the contact state is correctly set
|
||||
s.Require().Len(resp.Contacts, 1)
|
||||
s.Require().Equal(ContactRequestStateNone, resp.Contacts[0].ContactRequestState)
|
||||
s.Require().Equal(ContactRequestStateNone, resp.Contacts[0].ContactRequestLocalState)
|
||||
s.Require().Equal(ContactRequestStateNone, resp.Contacts[0].ContactRequestRemoteState)
|
||||
|
||||
// Wait for the message to reach its destination
|
||||
resp, err = WaitOnMessengerResponse(
|
||||
|
@ -425,12 +426,13 @@ func (s *MessengerContactRequestSuite) TestReceiveAcceptAndRetractContactRequest
|
|||
myID := types.EncodeHex(crypto.FromECDSAPub(&s.m.identity.PublicKey))
|
||||
s.Require().Equal(myID, resp.Contacts[0].ID)
|
||||
|
||||
s.Require().False(resp.Contacts[0].Added)
|
||||
s.Require().False(resp.Contacts[0].HasAddedUs)
|
||||
s.Require().False(resp.Contacts[0].added())
|
||||
s.Require().False(resp.Contacts[0].hasAddedUs())
|
||||
|
||||
// Check the contact state is correctly set
|
||||
s.Require().Len(resp.Contacts, 1)
|
||||
s.Require().Equal(ContactRequestStateNone, resp.Contacts[0].ContactRequestState)
|
||||
s.Require().Equal(ContactRequestStateNone, resp.Contacts[0].ContactRequestLocalState)
|
||||
s.Require().Equal(ContactRequestStateNone, resp.Contacts[0].ContactRequestRemoteState)
|
||||
}
|
||||
|
||||
func (s *MessengerContactRequestSuite) TestReceiveAcceptAndRetractContactRequestOutOfOrder() {
|
||||
|
@ -465,7 +467,7 @@ func (s *MessengerContactRequestSuite) TestReceiveAcceptAndRetractContactRequest
|
|||
s.Require().Len(response.ActivityCenterNotifications(), 1)
|
||||
contacts := s.m.Contacts()
|
||||
s.Require().Len(contacts, 1)
|
||||
s.Require().Equal(ContactRequestStateReceived, contacts[0].ContactRequestState)
|
||||
s.Require().Equal(ContactRequestStateReceived, contacts[0].ContactRequestRemoteState)
|
||||
|
||||
retract := protobuf.RetractContactRequest{
|
||||
Clock: 2,
|
||||
|
@ -476,7 +478,7 @@ func (s *MessengerContactRequestSuite) TestReceiveAcceptAndRetractContactRequest
|
|||
// Nothing should have changed
|
||||
contacts = s.m.Contacts()
|
||||
s.Require().Len(contacts, 1)
|
||||
s.Require().Equal(ContactRequestStateReceived, contacts[0].ContactRequestState)
|
||||
s.Require().Equal(ContactRequestStateReceived, contacts[0].ContactRequestRemoteState)
|
||||
}
|
||||
|
||||
func (s *MessengerContactRequestSuite) TestReceiveAndAcceptContactRequestTwice() {
|
||||
|
@ -509,7 +511,7 @@ func (s *MessengerContactRequestSuite) TestReceiveAndAcceptContactRequestTwice()
|
|||
// Make sure contact is added on the sender side
|
||||
contacts := s.m.AddedContacts()
|
||||
s.Require().Len(contacts, 1)
|
||||
s.Require().Equal(ContactRequestStateSent, contacts[0].ContactRequestState)
|
||||
s.Require().Equal(ContactRequestStateSent, contacts[0].ContactRequestLocalState)
|
||||
|
||||
// Wait for the message to reach its destination
|
||||
resp, err = WaitOnMessengerResponse(
|
||||
|
@ -531,7 +533,7 @@ func (s *MessengerContactRequestSuite) TestReceiveAndAcceptContactRequestTwice()
|
|||
|
||||
// Check the contact state is correctly set
|
||||
s.Require().Len(resp.Contacts, 1)
|
||||
s.Require().Equal(ContactRequestStateReceived, resp.Contacts[0].ContactRequestState)
|
||||
s.Require().Equal(ContactRequestStateReceived, resp.Contacts[0].ContactRequestRemoteState)
|
||||
|
||||
// Make sure it's the pending contact requests
|
||||
contactRequests, _, err = theirMessenger.PendingContactRequests("", 10)
|
||||
|
@ -556,7 +558,7 @@ func (s *MessengerContactRequestSuite) TestReceiveAndAcceptContactRequestTwice()
|
|||
|
||||
// Check the contact state is correctly set
|
||||
s.Require().Len(resp.Contacts, 1)
|
||||
s.Require().Equal(ContactRequestStateMutual, resp.Contacts[0].ContactRequestState)
|
||||
s.Require().True(resp.Contacts[0].mutual())
|
||||
|
||||
// Make sure the sender is added to our contacts
|
||||
contacts = theirMessenger.AddedContacts()
|
||||
|
@ -593,7 +595,7 @@ func (s *MessengerContactRequestSuite) TestReceiveAndAcceptContactRequestTwice()
|
|||
|
||||
// Check the contact state is correctly set
|
||||
s.Require().Len(resp.Contacts, 1)
|
||||
s.Require().Equal(ContactRequestStateMutual, resp.Contacts[0].ContactRequestState)
|
||||
s.Require().True(resp.Contacts[0].mutual())
|
||||
|
||||
// Resend contact request with higher clock value
|
||||
resp, err = s.m.SendContactRequest(context.Background(), request)
|
||||
|
@ -649,7 +651,7 @@ func (s *MessengerContactRequestSuite) TestAcceptLatestContactRequestForContact(
|
|||
// Make sure contact is added on the sender side
|
||||
contacts := s.m.AddedContacts()
|
||||
s.Require().Len(contacts, 1)
|
||||
s.Require().Equal(ContactRequestStateSent, contacts[0].ContactRequestState)
|
||||
s.Require().Equal(ContactRequestStateSent, contacts[0].ContactRequestLocalState)
|
||||
|
||||
// Wait for the message to reach its destination
|
||||
resp, err = WaitOnMessengerResponse(
|
||||
|
@ -675,7 +677,7 @@ func (s *MessengerContactRequestSuite) TestAcceptLatestContactRequestForContact(
|
|||
|
||||
// Check the contact state is correctly set
|
||||
s.Require().Len(resp.Contacts, 1)
|
||||
s.Require().Equal(ContactRequestStateReceived, resp.Contacts[0].ContactRequestState)
|
||||
s.Require().Equal(ContactRequestStateReceived, resp.Contacts[0].ContactRequestRemoteState)
|
||||
|
||||
// Make sure it's the pending contact requests
|
||||
contactRequests, _, err = theirMessenger.PendingContactRequests("", 10)
|
||||
|
@ -700,7 +702,7 @@ func (s *MessengerContactRequestSuite) TestAcceptLatestContactRequestForContact(
|
|||
|
||||
// Check the contact state is correctly set
|
||||
s.Require().Len(resp.Contacts, 1)
|
||||
s.Require().Equal(ContactRequestStateMutual, resp.Contacts[0].ContactRequestState)
|
||||
s.Require().True(resp.Contacts[0].mutual())
|
||||
|
||||
// Make sure the sender is added to our contacts
|
||||
contacts = theirMessenger.AddedContacts()
|
||||
|
@ -720,24 +722,24 @@ func (s *MessengerContactRequestSuite) TestAcceptLatestContactRequestForContact(
|
|||
)
|
||||
s.Require().NoError(err)
|
||||
|
||||
// Check activity center notification is of the right type
|
||||
s.Require().Equal(ActivityCenterNotificationTypeContactRequest, resp.ActivityCenterNotifications()[0].Type)
|
||||
s.Require().NotNil(resp.ActivityCenterNotifications()[0].Message)
|
||||
s.Require().Equal(common.ContactRequestStateAccepted, resp.ActivityCenterNotifications()[0].Message.ContactRequestState)
|
||||
|
||||
// Make sure the message is updated, sender s2de
|
||||
// Make sure the message is updated, sender side
|
||||
s.Require().NotNil(resp)
|
||||
s.Require().Len(resp.Messages(), 1)
|
||||
s.Require().Equal(resp.Messages()[0].ID, contactRequests[0].ID)
|
||||
s.Require().Equal(common.ContactRequestStateAccepted, resp.Messages()[0].ContactRequestState)
|
||||
|
||||
// Check activity center notification is of the right type
|
||||
s.Require().Equal(ActivityCenterNotificationTypeContactRequest, resp.ActivityCenterNotifications()[0].Type)
|
||||
s.Require().NotNil(resp.ActivityCenterNotifications()[0].Message)
|
||||
s.Require().Equal(common.ContactRequestStateAccepted, resp.ActivityCenterNotifications()[0].Message.ContactRequestState)
|
||||
|
||||
// Make sure we consider them a mutual contact, sender side
|
||||
mutualContacts = s.m.MutualContacts()
|
||||
s.Require().Len(mutualContacts, 1)
|
||||
|
||||
// Check the contact state is correctly set
|
||||
s.Require().Len(resp.Contacts, 1)
|
||||
s.Require().Equal(ContactRequestStateMutual, resp.Contacts[0].ContactRequestState)
|
||||
s.Require().True(resp.Contacts[0].mutual())
|
||||
}
|
||||
|
||||
func (s *MessengerContactRequestSuite) TestDismissLatestContactRequestForContact() {
|
||||
|
@ -772,7 +774,7 @@ func (s *MessengerContactRequestSuite) TestDismissLatestContactRequestForContact
|
|||
// Make sure contact is added on the sender side
|
||||
contacts := s.m.AddedContacts()
|
||||
s.Require().Len(contacts, 1)
|
||||
s.Require().Equal(ContactRequestStateSent, contacts[0].ContactRequestState)
|
||||
s.Require().Equal(ContactRequestStateSent, contacts[0].ContactRequestLocalState)
|
||||
|
||||
// Wait for the message to reach its destination
|
||||
resp, err = WaitOnMessengerResponse(
|
||||
|
@ -794,7 +796,7 @@ func (s *MessengerContactRequestSuite) TestDismissLatestContactRequestForContact
|
|||
|
||||
// Check the contact state is correctly set
|
||||
s.Require().Len(resp.Contacts, 1)
|
||||
s.Require().Equal(ContactRequestStateReceived, resp.Contacts[0].ContactRequestState)
|
||||
s.Require().Equal(ContactRequestStateReceived, resp.Contacts[0].ContactRequestRemoteState)
|
||||
|
||||
// Make sure it's the pending contact requests
|
||||
contactRequests, _, err = theirMessenger.PendingContactRequests("", 10)
|
||||
|
@ -839,7 +841,7 @@ func (s *MessengerContactRequestSuite) TestReceiveAndAcceptLegacyContactRequest(
|
|||
// Make sure contact is added on the sender side
|
||||
contacts := s.m.AddedContacts()
|
||||
s.Require().Len(contacts, 1)
|
||||
s.Require().Equal(ContactRequestStateSent, contacts[0].ContactRequestState)
|
||||
s.Require().Equal(ContactRequestStateSent, contacts[0].ContactRequestLocalState)
|
||||
|
||||
// Wait for the message to reach its destination
|
||||
resp, err = WaitOnMessengerResponse(
|
||||
|
@ -864,7 +866,7 @@ func (s *MessengerContactRequestSuite) TestReceiveAndAcceptLegacyContactRequest(
|
|||
|
||||
// Check the contact state is correctly set
|
||||
s.Require().Len(resp.Contacts, 1)
|
||||
s.Require().Equal(ContactRequestStateReceived, resp.Contacts[0].ContactRequestState)
|
||||
s.Require().Equal(ContactRequestStateReceived, resp.Contacts[0].ContactRequestRemoteState)
|
||||
|
||||
// Accept contact request, receiver side
|
||||
resp, err = theirMessenger.AcceptContactRequest(context.Background(), &requests.AcceptContactRequest{ID: types.Hex2Bytes(notification.Message.ID)})
|
||||
|
@ -880,7 +882,7 @@ func (s *MessengerContactRequestSuite) TestReceiveAndAcceptLegacyContactRequest(
|
|||
|
||||
// Check the contact state is correctly set
|
||||
s.Require().Len(resp.Contacts, 1)
|
||||
s.Require().Equal(ContactRequestStateMutual, resp.Contacts[0].ContactRequestState)
|
||||
s.Require().True(resp.Contacts[0].mutual())
|
||||
|
||||
// Make sure the sender is added to our contacts
|
||||
contacts = theirMessenger.AddedContacts()
|
||||
|
@ -911,7 +913,7 @@ func (s *MessengerContactRequestSuite) TestLegacyContactRequestNotifications() {
|
|||
// Make sure contact is added on the sender side
|
||||
contacts := s.m.AddedContacts()
|
||||
s.Require().Len(contacts, 1)
|
||||
s.Require().Equal(ContactRequestStateSent, contacts[0].ContactRequestState)
|
||||
s.Require().Equal(ContactRequestStateSent, contacts[0].ContactRequestLocalState)
|
||||
|
||||
// Wait for the message to reach its destination
|
||||
resp, err = WaitOnMessengerResponse(
|
||||
|
@ -936,57 +938,7 @@ func (s *MessengerContactRequestSuite) TestLegacyContactRequestNotifications() {
|
|||
|
||||
// Check the contact state is correctly set
|
||||
s.Require().Len(resp.Contacts, 1)
|
||||
s.Require().Equal(ContactRequestStateReceived, resp.Contacts[0].ContactRequestState)
|
||||
|
||||
// Send new contact request
|
||||
resp, err = s.m.AddContact(context.Background(), request)
|
||||
s.Require().NoError(err)
|
||||
|
||||
s.Require().NotNil(resp)
|
||||
|
||||
crRequest := &requests.SendContactRequest{
|
||||
ID: types.Hex2Bytes(contactID),
|
||||
Message: "hello",
|
||||
}
|
||||
|
||||
myID := types.EncodeHex(crypto.FromECDSAPub(&s.m.identity.PublicKey))
|
||||
|
||||
// Send contact request
|
||||
_, err = s.m.SendContactRequest(context.Background(), crRequest)
|
||||
s.Require().NoError(err)
|
||||
|
||||
paginationResponse, err := theirMessenger.ActivityCenterNotifications("", 10)
|
||||
|
||||
s.Require().NoError(err)
|
||||
s.Require().Len(paginationResponse.Notifications, 1)
|
||||
|
||||
// Wait for the message to reach its destination
|
||||
resp, err = WaitOnMessengerResponse(
|
||||
theirMessenger,
|
||||
func(r *MessengerResponse) bool {
|
||||
return len(r.ActivityCenterNotifications()) == 2
|
||||
},
|
||||
"no messages",
|
||||
)
|
||||
s.Require().NoError(err)
|
||||
|
||||
activityCenterNotifications := resp.ActivityCenterNotifications()
|
||||
var newNotification, oldNotification *ActivityCenterNotification
|
||||
if activityCenterNotifications[0].Message.ID == defaultContactRequestID(myID) {
|
||||
oldNotification = activityCenterNotifications[0]
|
||||
newNotification = activityCenterNotifications[1]
|
||||
} else {
|
||||
newNotification = activityCenterNotifications[0]
|
||||
oldNotification = activityCenterNotifications[1]
|
||||
}
|
||||
|
||||
s.Require().True(oldNotification.Dismissed)
|
||||
s.Require().False(newNotification.Dismissed)
|
||||
|
||||
paginationResponse, err = theirMessenger.ActivityCenterNotifications("", 10)
|
||||
|
||||
s.Require().NoError(err)
|
||||
s.Require().Len(paginationResponse.Notifications, 2)
|
||||
s.Require().Equal(ContactRequestStateReceived, resp.Contacts[0].ContactRequestRemoteState)
|
||||
}
|
||||
|
||||
func (s *MessengerContactRequestSuite) TestReceiveMultipleLegacy() {
|
||||
|
@ -1012,7 +964,7 @@ func (s *MessengerContactRequestSuite) TestReceiveMultipleLegacy() {
|
|||
// Make sure contact is added on the sender side
|
||||
contacts := s.m.AddedContacts()
|
||||
s.Require().Len(contacts, 1)
|
||||
s.Require().Equal(ContactRequestStateSent, contacts[0].ContactRequestState)
|
||||
s.Require().Equal(ContactRequestStateSent, contacts[0].ContactRequestLocalState)
|
||||
|
||||
// Wait for the message to reach its destination
|
||||
resp, err = WaitOnMessengerResponse(
|
||||
|
@ -1037,7 +989,7 @@ func (s *MessengerContactRequestSuite) TestReceiveMultipleLegacy() {
|
|||
|
||||
// Check the contact state is correctly set
|
||||
s.Require().Len(resp.Contacts, 1)
|
||||
s.Require().Equal(ContactRequestStateReceived, resp.Contacts[0].ContactRequestState)
|
||||
s.Require().Equal(ContactRequestStateReceived, resp.Contacts[0].ContactRequestRemoteState)
|
||||
|
||||
// Remove contact
|
||||
|
||||
|
@ -1055,7 +1007,8 @@ func (s *MessengerContactRequestSuite) TestReceiveMultipleLegacy() {
|
|||
s.Require().NoError(err)
|
||||
|
||||
// Make sure it's not a contact anymore
|
||||
s.Require().Equal(ContactRequestStateNone, resp.Contacts[0].ContactRequestState)
|
||||
s.Require().Equal(ContactRequestStateNone, resp.Contacts[0].ContactRequestLocalState)
|
||||
s.Require().Equal(ContactRequestStateNone, resp.Contacts[0].ContactRequestRemoteState)
|
||||
|
||||
// Re-add user
|
||||
resp, err = s.m.AddContact(context.Background(), request)
|
||||
|
@ -1085,7 +1038,7 @@ func (s *MessengerContactRequestSuite) TestReceiveMultipleLegacy() {
|
|||
|
||||
// Check the contact state is correctly set
|
||||
s.Require().Len(resp.Contacts, 1)
|
||||
s.Require().Equal(ContactRequestStateReceived, resp.Contacts[0].ContactRequestState)
|
||||
s.Require().Equal(ContactRequestStateReceived, resp.Contacts[0].ContactRequestRemoteState)
|
||||
|
||||
}
|
||||
|
||||
|
@ -1126,7 +1079,7 @@ func (s *MessengerContactRequestSuite) TestAcceptLatestLegacyContactRequestForCo
|
|||
|
||||
// Check the contact state is correctly set
|
||||
s.Require().Len(resp.Contacts, 1)
|
||||
s.Require().Equal(ContactRequestStateReceived, resp.Contacts[0].ContactRequestState)
|
||||
s.Require().Equal(ContactRequestStateReceived, resp.Contacts[0].ContactRequestRemoteState)
|
||||
|
||||
// Accept latest contact request, receiver side
|
||||
resp, err = theirMessenger.AcceptLatestContactRequestForContact(context.Background(), &requests.AcceptLatestContactRequestForContact{ID: types.Hex2Bytes(myID)})
|
||||
|
@ -1134,7 +1087,7 @@ func (s *MessengerContactRequestSuite) TestAcceptLatestLegacyContactRequestForCo
|
|||
|
||||
// Check the contact state is correctly set
|
||||
s.Require().Len(resp.Contacts, 1)
|
||||
s.Require().Equal(ContactRequestStateMutual, resp.Contacts[0].ContactRequestState)
|
||||
s.Require().True(resp.Contacts[0].mutual())
|
||||
|
||||
// Make sure the sender is added to our contacts
|
||||
contacts := theirMessenger.AddedContacts()
|
||||
|
@ -1160,5 +1113,168 @@ func (s *MessengerContactRequestSuite) TestAcceptLatestLegacyContactRequestForCo
|
|||
|
||||
// Check the contact state is correctly set
|
||||
s.Require().Len(resp.Contacts, 1)
|
||||
s.Require().Equal(ContactRequestStateMutual, resp.Contacts[0].ContactRequestState)
|
||||
s.Require().True(resp.Contacts[0].mutual())
|
||||
}
|
||||
|
||||
func (s *MessengerContactRequestSuite) TestPairedDevicesRemoveContact() {
|
||||
alice1 := s.m
|
||||
alice2, err := newMessengerWithKey(s.shh, s.m.identity, s.logger, nil)
|
||||
s.Require().NoError(err)
|
||||
|
||||
_, err = alice2.Start()
|
||||
s.Require().NoError(err)
|
||||
|
||||
prepAliceMessengersForPairing(&s.Suite, alice1, alice2)
|
||||
|
||||
pairTwoDevices(&s.Suite, alice1, alice2)
|
||||
pairTwoDevices(&s.Suite, alice2, alice1)
|
||||
|
||||
bob := s.newMessenger(s.shh)
|
||||
_, err = bob.Start()
|
||||
s.Require().NoError(err)
|
||||
|
||||
contactID := types.EncodeHex(crypto.FromECDSAPub(&bob.identity.PublicKey))
|
||||
myID := types.EncodeHex(crypto.FromECDSAPub(&alice1.identity.PublicKey))
|
||||
|
||||
request := &requests.AddContact{
|
||||
ID: types.Hex2Bytes(contactID),
|
||||
}
|
||||
|
||||
// Send contact request
|
||||
_, err = alice1.AddContact(context.Background(), request)
|
||||
s.Require().NoError(err)
|
||||
|
||||
// it should show up on device 2
|
||||
resp, err := WaitOnMessengerResponse(
|
||||
alice2,
|
||||
func(r *MessengerResponse) bool {
|
||||
return len(r.Contacts) > 0
|
||||
},
|
||||
"no messages",
|
||||
)
|
||||
s.Require().NoError(err)
|
||||
|
||||
// Check the contact state is correctly set
|
||||
s.Require().Len(resp.Contacts, 1)
|
||||
s.Require().Equal(resp.Contacts[0].ContactRequestLocalState, ContactRequestStateSent)
|
||||
|
||||
// Wait for the message to reach its destination
|
||||
resp, err = WaitOnMessengerResponse(
|
||||
bob,
|
||||
func(r *MessengerResponse) bool {
|
||||
return len(r.Contacts) > 0 && len(r.Messages()) > 0 && len(r.ActivityCenterNotifications()) > 0
|
||||
},
|
||||
"no messages",
|
||||
)
|
||||
|
||||
// Check contact request has been received
|
||||
s.Require().NoError(err)
|
||||
|
||||
// Check activity center notification is of the right type
|
||||
s.Require().Len(resp.ActivityCenterNotifications(), 1)
|
||||
s.Require().Equal(ActivityCenterNotificationTypeContactRequest, resp.ActivityCenterNotifications()[0].Type)
|
||||
s.Require().NotNil(resp.ActivityCenterNotifications()[0].Message)
|
||||
s.Require().Equal(common.ContactRequestStatePending, resp.ActivityCenterNotifications()[0].Message.ContactRequestState)
|
||||
|
||||
// Check the contact state is correctly set
|
||||
s.Require().Len(resp.Contacts, 1)
|
||||
s.Require().Equal(ContactRequestStateReceived, resp.Contacts[0].ContactRequestRemoteState)
|
||||
|
||||
// Accept latest contact request, receiver side
|
||||
resp, err = bob.AcceptLatestContactRequestForContact(context.Background(), &requests.AcceptLatestContactRequestForContact{ID: types.Hex2Bytes(myID)})
|
||||
s.Require().NoError(err)
|
||||
|
||||
// Check the contact state is correctly set
|
||||
s.Require().Len(resp.Contacts, 1)
|
||||
s.Require().True(resp.Contacts[0].mutual())
|
||||
|
||||
// Make sure the sender is added to our contacts
|
||||
contacts := bob.AddedContacts()
|
||||
s.Require().Len(contacts, 1)
|
||||
|
||||
// Make sure we consider them a mutual contact, receiver side
|
||||
mutualContacts := bob.MutualContacts()
|
||||
s.Require().Len(mutualContacts, 1)
|
||||
|
||||
// Wait for the message to reach its destination
|
||||
resp, err = WaitOnMessengerResponse(
|
||||
alice1,
|
||||
func(r *MessengerResponse) bool {
|
||||
return len(r.Contacts) > 0
|
||||
},
|
||||
"no messages",
|
||||
)
|
||||
s.Require().NoError(err)
|
||||
|
||||
// Make sure we consider them a mutual contact, sender side
|
||||
mutualContacts = alice1.MutualContacts()
|
||||
s.Require().Len(mutualContacts, 1)
|
||||
|
||||
// Check the contact state is correctly set
|
||||
s.Require().Len(resp.Contacts, 1)
|
||||
s.Require().True(resp.Contacts[0].mutual())
|
||||
|
||||
// Wait for the message to reach its destination
|
||||
resp, err = WaitOnMessengerResponse(
|
||||
alice2,
|
||||
func(r *MessengerResponse) bool {
|
||||
return len(r.Contacts) > 0
|
||||
},
|
||||
"no messages",
|
||||
)
|
||||
s.Require().NoError(err)
|
||||
|
||||
// Make sure we consider them a mutual contact, sender side
|
||||
mutualContacts = alice2.MutualContacts()
|
||||
s.Require().Len(mutualContacts, 1)
|
||||
|
||||
// Check the contact state is correctly set
|
||||
s.Require().Len(resp.Contacts, 1)
|
||||
s.Require().True(resp.Contacts[0].mutual())
|
||||
|
||||
resp, err = alice1.RetractContactRequest(&requests.RetractContactRequest{ContactID: types.Hex2Bytes(bob.myHexIdentity())})
|
||||
s.Require().NoError(err)
|
||||
s.Require().NotNil(resp)
|
||||
s.Require().Len(resp.Contacts, 1)
|
||||
s.Require().False(resp.Contacts[0].hasAddedUs())
|
||||
s.Require().False(resp.Contacts[0].added())
|
||||
|
||||
// Check the contact state is correctly set
|
||||
s.Require().Len(resp.Contacts, 1)
|
||||
s.Require().Equal(ContactRequestStateNone, resp.Contacts[0].ContactRequestLocalState)
|
||||
s.Require().Equal(ContactRequestStateNone, resp.Contacts[0].ContactRequestRemoteState)
|
||||
|
||||
// Check on bob side
|
||||
resp, err = WaitOnMessengerResponse(
|
||||
bob,
|
||||
func(r *MessengerResponse) bool {
|
||||
return len(r.Contacts) > 0
|
||||
},
|
||||
"no messages",
|
||||
)
|
||||
s.Require().NoError(err)
|
||||
s.Require().NotNil(resp)
|
||||
s.Require().Len(resp.Contacts, 1)
|
||||
|
||||
// Check the contact state is correctly set
|
||||
s.Require().Equal(ContactRequestStateNone, resp.Contacts[0].ContactRequestLocalState)
|
||||
s.Require().Equal(ContactRequestStateNone, resp.Contacts[0].ContactRequestRemoteState)
|
||||
|
||||
alice2.logger.Info("MY KEY", zap.String("my-id", alice2.myHexIdentity()))
|
||||
|
||||
// Check on alice2 side
|
||||
resp, err = WaitOnMessengerResponse(
|
||||
alice2,
|
||||
func(r *MessengerResponse) bool {
|
||||
return len(r.Contacts) > 0
|
||||
},
|
||||
"no messages",
|
||||
)
|
||||
s.Require().NoError(err)
|
||||
s.Require().NotNil(resp)
|
||||
s.Require().Len(resp.Contacts, 1)
|
||||
|
||||
// Check the contact state is correctly set
|
||||
s.Require().Equal(ContactRequestStateNone, resp.Contacts[0].ContactRequestLocalState)
|
||||
s.Require().Equal(ContactRequestStateNone, resp.Contacts[0].ContactRequestRemoteState)
|
||||
}
|
||||
|
|
|
@ -81,7 +81,7 @@ func (s *MessengerContactUpdateSuite) TestReceiveContactUpdate() {
|
|||
s.Require().Len(response.Contacts, 1)
|
||||
contact := response.Contacts[0]
|
||||
// It should add the contact
|
||||
s.Require().True(contact.Added)
|
||||
s.Require().True(contact.added())
|
||||
|
||||
// It should create a profile chat & a one to one chat
|
||||
s.Require().Len(response.Chats(), 2)
|
||||
|
@ -104,7 +104,7 @@ func (s *MessengerContactUpdateSuite) TestReceiveContactUpdate() {
|
|||
s.Require().Equal(theirName, receivedContact.EnsName)
|
||||
s.Require().False(receivedContact.ENSVerified)
|
||||
s.Require().NotEmpty(receivedContact.LastUpdated)
|
||||
s.Require().True(receivedContact.HasAddedUs)
|
||||
s.Require().True(receivedContact.hasAddedUs())
|
||||
|
||||
newPicture := "new-picture"
|
||||
err = theirMessenger.SendContactUpdates(context.Background(), newEnsName, newPicture)
|
||||
|
@ -147,7 +147,7 @@ func (s *MessengerContactUpdateSuite) TestAddContact() {
|
|||
s.Require().Len(response.Chats(), 2)
|
||||
|
||||
// It should add the contact
|
||||
s.Require().True(contact.Added)
|
||||
s.Require().True(contact.added())
|
||||
|
||||
// Wait for the message to reach its destination
|
||||
response, err = WaitOnMessengerResponse(
|
||||
|
@ -185,7 +185,7 @@ func (s *MessengerContactUpdateSuite) TestAddContactWithENS() {
|
|||
s.Require().Len(response.Chats(), 2)
|
||||
|
||||
// It should add the contact
|
||||
s.Require().True(contact.Added)
|
||||
s.Require().True(contact.added())
|
||||
|
||||
// Wait for the message to reach its destination
|
||||
response, err = WaitOnMessengerResponse(
|
||||
|
@ -198,38 +198,3 @@ func (s *MessengerContactUpdateSuite) TestAddContactWithENS() {
|
|||
receivedContact := response.Contacts[0]
|
||||
s.Require().NotEmpty(receivedContact.LastUpdated)
|
||||
}
|
||||
|
||||
func (s *MessengerContactUpdateSuite) TestRejectContactRequest() {
|
||||
contactID := types.EncodeHex(crypto.FromECDSAPub(&s.m.identity.PublicKey))
|
||||
|
||||
theirMessenger := s.newMessenger(s.shh)
|
||||
_, err := theirMessenger.Start()
|
||||
s.Require().NoError(err)
|
||||
|
||||
response, err := theirMessenger.AddContact(context.Background(), &requests.AddContact{ID: types.Hex2Bytes(contactID)})
|
||||
s.Require().NoError(err)
|
||||
s.Require().NotNil(response)
|
||||
|
||||
s.Require().Len(response.Contacts, 1)
|
||||
contact := response.Contacts[0]
|
||||
// It should add the contact
|
||||
s.Require().True(contact.Added)
|
||||
|
||||
// Wait for the message to reach its destination
|
||||
response, err = WaitOnMessengerResponse(
|
||||
s.m,
|
||||
func(r *MessengerResponse) bool { return len(r.Contacts) > 0 },
|
||||
"contact request not received",
|
||||
)
|
||||
s.Require().NoError(err)
|
||||
|
||||
// Make sure HasAddedUs is set
|
||||
receivedContact := response.Contacts[0]
|
||||
s.Require().True(receivedContact.HasAddedUs)
|
||||
|
||||
response, err = s.m.RejectContactRequest(context.Background(), &requests.RejectContactRequest{ID: types.Hex2Bytes(contactID)})
|
||||
s.Require().NoError(err)
|
||||
s.Require().Len(response.Contacts, 1)
|
||||
s.Require().Equal(response.Contacts[0].ID, contactID)
|
||||
s.Require().False(response.Contacts[0].HasAddedUs)
|
||||
}
|
||||
|
|
|
@ -29,7 +29,7 @@ func (m *Messenger) SendContactVerificationRequest(ctx context.Context, contactI
|
|||
}
|
||||
|
||||
contact, ok := m.allContacts.Load(contactID)
|
||||
if !ok || !contact.Added || !contact.HasAddedUs {
|
||||
if !ok || !contact.mutual() {
|
||||
return nil, errors.New("must be a mutual contact")
|
||||
}
|
||||
|
||||
|
@ -162,7 +162,7 @@ func (m *Messenger) CancelVerificationRequest(ctx context.Context, id string) (*
|
|||
|
||||
contactID := verifRequest.To
|
||||
contact, ok := m.allContacts.Load(contactID)
|
||||
if !ok || !contact.Added || !contact.HasAddedUs {
|
||||
if !ok || !contact.mutual() {
|
||||
return nil, errors.New("Can't find contact for canceling verification request")
|
||||
}
|
||||
|
||||
|
@ -272,7 +272,7 @@ func (m *Messenger) AcceptContactVerificationRequest(ctx context.Context, id str
|
|||
contactID := verifRequest.From
|
||||
|
||||
contact, ok := m.allContacts.Load(contactID)
|
||||
if !ok || !contact.Added || !contact.HasAddedUs {
|
||||
if !ok || !contact.mutual() {
|
||||
return nil, errors.New("must be a mutual contact")
|
||||
}
|
||||
|
||||
|
@ -388,7 +388,7 @@ func (m *Messenger) VerifiedTrusted(ctx context.Context, request *requests.Verif
|
|||
contactID := notification.ReplyMessage.From
|
||||
|
||||
contact, ok := m.allContacts.Load(contactID)
|
||||
if !ok || !contact.Added || !contact.HasAddedUs {
|
||||
if !ok || !contact.mutual() {
|
||||
return nil, errors.New("must be a mutual contact")
|
||||
}
|
||||
|
||||
|
@ -496,7 +496,7 @@ func (m *Messenger) VerifiedUntrustworthy(ctx context.Context, request *requests
|
|||
contactID := notification.ReplyMessage.From
|
||||
|
||||
contact, ok := m.allContacts.Load(contactID)
|
||||
if !ok || !contact.Added || !contact.HasAddedUs {
|
||||
if !ok || !contact.mutual() {
|
||||
return nil, errors.New("must be a mutual contact")
|
||||
}
|
||||
|
||||
|
@ -598,7 +598,7 @@ func (m *Messenger) DeclineContactVerificationRequest(ctx context.Context, id st
|
|||
}
|
||||
|
||||
contact, ok := m.allContacts.Load(verifRequest.From)
|
||||
if !ok || !contact.Added || !contact.HasAddedUs {
|
||||
if !ok || !contact.mutual() {
|
||||
return nil, errors.New("must be a mutual contact")
|
||||
}
|
||||
|
||||
|
@ -744,7 +744,7 @@ func (m *Messenger) HandleRequestContactVerification(state *ReceivedMessageState
|
|||
contactID := hexutil.Encode(crypto.FromECDSAPub(state.CurrentMessageState.PublicKey))
|
||||
|
||||
contact := state.CurrentMessageState.Contact
|
||||
if !contact.Added || !contact.HasAddedUs {
|
||||
if !contact.mutual() {
|
||||
m.logger.Debug("Received a verification request for a non added mutual contact", zap.String("contactID", contactID))
|
||||
return errors.New("must be a mutual contact")
|
||||
}
|
||||
|
@ -835,7 +835,7 @@ func (m *Messenger) HandleAcceptContactVerification(state *ReceivedMessageState,
|
|||
contactID := hexutil.Encode(crypto.FromECDSAPub(state.CurrentMessageState.PublicKey))
|
||||
|
||||
contact := state.CurrentMessageState.Contact
|
||||
if !contact.Added || !contact.HasAddedUs {
|
||||
if !contact.mutual() {
|
||||
m.logger.Debug("Received a verification response for a non mutual contact", zap.String("contactID", contactID))
|
||||
return errors.New("must be a mutual contact")
|
||||
}
|
||||
|
@ -924,7 +924,7 @@ func (m *Messenger) HandleDeclineContactVerification(state *ReceivedMessageState
|
|||
contactID := hexutil.Encode(crypto.FromECDSAPub(state.CurrentMessageState.PublicKey))
|
||||
|
||||
contact := state.CurrentMessageState.Contact
|
||||
if !contact.Added || !contact.HasAddedUs {
|
||||
if !contact.mutual() {
|
||||
m.logger.Debug("Received a verification decline for a non mutual contact", zap.String("contactID", contactID))
|
||||
return errors.New("must be a mutual contact")
|
||||
}
|
||||
|
|
|
@ -74,7 +74,7 @@ func (s *MessengerVerificationRequests) mutualContact(theirMessenger *Messenger)
|
|||
// Make sure contact is added on the sender side
|
||||
contacts := s.m.AddedContacts()
|
||||
s.Require().Len(contacts, 1)
|
||||
s.Require().Equal(ContactRequestStateSent, contacts[0].ContactRequestState)
|
||||
s.Require().Equal(ContactRequestStateSent, contacts[0].ContactRequestLocalState)
|
||||
|
||||
// Wait for the message to reach its destination
|
||||
resp, err = WaitOnMessengerResponse(
|
||||
|
@ -96,7 +96,7 @@ func (s *MessengerVerificationRequests) mutualContact(theirMessenger *Messenger)
|
|||
|
||||
// Check the contact state is correctly set
|
||||
s.Require().Len(resp.Contacts, 1)
|
||||
s.Require().Equal(ContactRequestStateReceived, resp.Contacts[0].ContactRequestState)
|
||||
s.Require().Equal(ContactRequestStateReceived, resp.Contacts[0].ContactRequestRemoteState)
|
||||
|
||||
// Make sure it's the pending contact requests
|
||||
contactRequests, _, err = theirMessenger.PendingContactRequests("", 10)
|
||||
|
@ -121,7 +121,7 @@ func (s *MessengerVerificationRequests) mutualContact(theirMessenger *Messenger)
|
|||
|
||||
// Check the contact state is correctly set
|
||||
s.Require().Len(resp.Contacts, 1)
|
||||
s.Require().Equal(ContactRequestStateMutual, resp.Contacts[0].ContactRequestState)
|
||||
s.Require().True(resp.Contacts[0].mutual())
|
||||
|
||||
// Make sure the sender is added to our contacts
|
||||
contacts = theirMessenger.AddedContacts()
|
||||
|
@ -158,7 +158,7 @@ func (s *MessengerVerificationRequests) mutualContact(theirMessenger *Messenger)
|
|||
|
||||
// Check the contact state is correctly set
|
||||
s.Require().Len(resp.Contacts, 1)
|
||||
s.Require().Equal(ContactRequestStateMutual, resp.Contacts[0].ContactRequestState)
|
||||
s.Require().True(resp.Contacts[0].mutual())
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@ func (m *Messenger) acceptContactRequest(requestID string, syncing bool) (*Messe
|
|||
}
|
||||
|
||||
m.logger.Info("acceptContactRequest")
|
||||
return m.addContact(contactRequest.From, "", "", "", contactRequest.ID, syncing)
|
||||
return m.addContact(contactRequest.From, "", "", "", contactRequest.ID, syncing, false)
|
||||
}
|
||||
|
||||
func (m *Messenger) AcceptContactRequest(ctx context.Context, request *requests.AcceptContactRequest) (*MessengerResponse, error) {
|
||||
|
@ -53,7 +53,7 @@ func (m *Messenger) SendContactRequest(ctx context.Context, request *requests.Se
|
|||
|
||||
chatID := request.ID.String()
|
||||
|
||||
response, err := m.addContact(chatID, "", "", "", "", false)
|
||||
response, err := m.addContact(chatID, "", "", "", "", false, false)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
@ -98,38 +98,6 @@ func (m *Messenger) SendContactRequest(ctx context.Context, request *requests.Se
|
|||
return response, nil
|
||||
}
|
||||
|
||||
// NOTE: This sets HasAddedUs to false, so next time we receive a contact request it will be reset to true
|
||||
func (m *Messenger) RejectContactRequest(ctx context.Context, request *requests.RejectContactRequest) (*MessengerResponse, error) {
|
||||
err := request.Validate()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
pubKey := request.ID.String()
|
||||
contact, ok := m.allContacts.Load(pubKey)
|
||||
if !ok {
|
||||
var err error
|
||||
contact, err = buildContactFromPkString(pubKey)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
contact.HasAddedUs = false
|
||||
|
||||
err = m.persistence.SaveContact(contact, nil)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
m.allContacts.Store(contact.ID, contact)
|
||||
|
||||
response := &MessengerResponse{}
|
||||
response.Contacts = []*Contact{contact}
|
||||
|
||||
return response, nil
|
||||
}
|
||||
|
||||
func (m *Messenger) dismissContactRequest(requestID string, syncing bool) (*MessengerResponse, error) {
|
||||
m.logger.Info("dismissContactRequest")
|
||||
contactRequest, err := m.persistence.MessageByID(requestID)
|
||||
|
@ -137,19 +105,20 @@ func (m *Messenger) dismissContactRequest(requestID string, syncing bool) (*Mess
|
|||
return nil, err
|
||||
}
|
||||
|
||||
contact, ok := m.allContacts.Load(contactRequest.From)
|
||||
if !ok {
|
||||
var err error
|
||||
contact, err = buildContactFromPkString(contactRequest.From)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
contact, err := m.BuildContact(contactRequest.From)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
response := &MessengerResponse{}
|
||||
|
||||
if !syncing {
|
||||
contact.DismissContactRequest()
|
||||
_, clock, err := m.getOneToOneAndNextClock(contact)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
contact.DismissContactRequest(clock)
|
||||
err = m.persistence.SaveContact(contact, nil)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
@ -221,22 +190,14 @@ func (m *Messenger) updateAcceptedContactRequest(response *MessengerResponse, co
|
|||
}
|
||||
|
||||
contact, _ := m.allContacts.Load(contactRequest.From)
|
||||
contact.AcceptContactRequest()
|
||||
|
||||
chat, ok := m.allChats.Load(contact.ID)
|
||||
if !ok {
|
||||
publicKey, err := contact.PublicKey()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
chat = OneToOneFromPublicKey(publicKey, m.getTimesource())
|
||||
chat.Active = false
|
||||
if err := m.saveChat(chat); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
_, clock, err := m.getOneToOneAndNextClock(contact)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
clock, _ := chat.NextClockAndTimestamp(m.getTimesource())
|
||||
|
||||
contact.AcceptContactRequest(clock)
|
||||
|
||||
acceptContactRequest := &protobuf.AcceptContactRequest{
|
||||
Id: contactRequest.ID,
|
||||
Clock: clock,
|
||||
|
@ -280,18 +241,20 @@ func (m *Messenger) updateAcceptedContactRequest(response *MessengerResponse, co
|
|||
}
|
||||
|
||||
response.AddMessage(contactRequest)
|
||||
response.AddContact(contact)
|
||||
|
||||
return response, nil
|
||||
}
|
||||
|
||||
func (m *Messenger) addContact(pubKey, ensName, nickname, displayName, contactRequestID string, syncing bool) (*MessengerResponse, error) {
|
||||
contact, ok := m.allContacts.Load(pubKey)
|
||||
if !ok {
|
||||
var err error
|
||||
contact, err = buildContactFromPkString(pubKey)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
func (m *Messenger) addContact(pubKey, ensName, nickname, displayName, contactRequestID string, syncing bool, sendContactUpdate bool) (*MessengerResponse, error) {
|
||||
contact, err := m.BuildContact(pubKey)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
_, clock, err := m.getOneToOneAndNextClock(contact)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if ensName != "" {
|
||||
|
@ -314,12 +277,9 @@ func (m *Messenger) addContact(pubKey, ensName, nickname, displayName, contactRe
|
|||
contact.DisplayName = displayName
|
||||
}
|
||||
|
||||
if !contact.Added {
|
||||
contact.Add()
|
||||
}
|
||||
contact.LastUpdatedLocally = m.getTimesource().GetCurrentTime()
|
||||
contact.LastUpdatedLocally = clock
|
||||
|
||||
contact.ContactRequestSent()
|
||||
contact.ContactRequestSent(clock)
|
||||
|
||||
if !syncing {
|
||||
// We sync the contact with the other devices
|
||||
|
@ -329,7 +289,7 @@ func (m *Messenger) addContact(pubKey, ensName, nickname, displayName, contactRe
|
|||
}
|
||||
}
|
||||
|
||||
err := m.persistence.SaveContact(contact, nil)
|
||||
err = m.persistence.SaveContact(contact, nil)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
@ -384,13 +344,14 @@ func (m *Messenger) addContact(pubKey, ensName, nickname, displayName, contactRe
|
|||
return nil, err
|
||||
}
|
||||
|
||||
// Finally we send a contact update so they are notified we added them
|
||||
response, err := m.sendContactUpdate(context.Background(), pubKey, displayName, ensName, "", m.dispatchMessage)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
response := &MessengerResponse{}
|
||||
|
||||
if len(contactRequestID) != 0 {
|
||||
if sendContactUpdate {
|
||||
response, err = m.sendContactUpdate(context.Background(), pubKey, displayName, ensName, "", m.dispatchMessage)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
} else if len(contactRequestID) != 0 {
|
||||
response, err = m.updateAcceptedContactRequest(response, contactRequestID)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
@ -429,13 +390,14 @@ func (m *Messenger) addContact(pubKey, ensName, nickname, displayName, contactRe
|
|||
|
||||
return response, nil
|
||||
}
|
||||
|
||||
func (m *Messenger) AddContact(ctx context.Context, request *requests.AddContact) (*MessengerResponse, error) {
|
||||
err := request.Validate()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return m.addContact(request.ID.String(), request.ENSName, request.Nickname, request.DisplayName, "", false)
|
||||
return m.addContact(request.ID.String(), request.ENSName, request.Nickname, request.DisplayName, "", false, true)
|
||||
}
|
||||
|
||||
func (m *Messenger) resetLastPublishedTimeForChatIdentity() error {
|
||||
|
@ -445,26 +407,32 @@ func (m *Messenger) resetLastPublishedTimeForChatIdentity() error {
|
|||
return m.persistence.ResetWhenChatIdentityLastPublished(contactCodeTopic)
|
||||
}
|
||||
|
||||
func (m *Messenger) removeContact(ctx context.Context, response *MessengerResponse, pubKey string) error {
|
||||
func (m *Messenger) removeContact(ctx context.Context, response *MessengerResponse, pubKey string, sync bool) error {
|
||||
contact, ok := m.allContacts.Load(pubKey)
|
||||
if !ok {
|
||||
return ErrContactNotFound
|
||||
}
|
||||
|
||||
contact.RetractContactRequest()
|
||||
contact.Remove()
|
||||
contact.LastUpdatedLocally = m.getTimesource().GetCurrentTime()
|
||||
|
||||
err := m.persistence.SaveContact(contact, nil)
|
||||
_, clock, err := m.getOneToOneAndNextClock(contact)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
err = m.syncContact(context.Background(), contact, m.dispatchMessage)
|
||||
contact.RetractContactRequest(clock)
|
||||
contact.LastUpdatedLocally = m.getTimesource().GetCurrentTime()
|
||||
|
||||
err = m.persistence.SaveContact(contact, nil)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if sync {
|
||||
err = m.syncContact(context.Background(), contact, m.dispatchMessage)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
// TODO(samyoul) remove storing of an updated reference pointer?
|
||||
m.allContacts.Store(contact.ID, contact)
|
||||
|
||||
|
@ -496,7 +464,7 @@ func (m *Messenger) removeContact(ctx context.Context, response *MessengerRespon
|
|||
func (m *Messenger) RemoveContact(ctx context.Context, pubKey string) (*MessengerResponse, error) {
|
||||
response := new(MessengerResponse)
|
||||
|
||||
err := m.removeContact(ctx, response, pubKey)
|
||||
err := m.removeContact(ctx, response, pubKey, true)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
@ -516,7 +484,7 @@ func (m *Messenger) Contacts() []*Contact {
|
|||
func (m *Messenger) AddedContacts() []*Contact {
|
||||
var contacts []*Contact
|
||||
m.allContacts.Range(func(contactID string, contact *Contact) (shouldContinue bool) {
|
||||
if contact.Added {
|
||||
if contact.added() {
|
||||
contacts = append(contacts, contact)
|
||||
}
|
||||
return true
|
||||
|
@ -527,7 +495,7 @@ func (m *Messenger) AddedContacts() []*Contact {
|
|||
func (m *Messenger) MutualContacts() []*Contact {
|
||||
var contacts []*Contact
|
||||
m.allContacts.Range(func(contactID string, contact *Contact) (shouldContinue bool) {
|
||||
if contact.Added && contact.HasAddedUs {
|
||||
if contact.mutual() {
|
||||
contacts = append(contacts, contact)
|
||||
}
|
||||
return true
|
||||
|
@ -561,13 +529,9 @@ func (m *Messenger) SetContactLocalNickname(request *requests.SetContactLocalNic
|
|||
pubKey := request.ID.String()
|
||||
nickname := request.Nickname
|
||||
|
||||
contact, ok := m.allContacts.Load(pubKey)
|
||||
if !ok {
|
||||
var err error
|
||||
contact, err = buildContactFromPkString(pubKey)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
contact, err := m.BuildContact(pubKey)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if err := m.addENSNameToContact(contact); err != nil {
|
||||
|
@ -578,7 +542,7 @@ func (m *Messenger) SetContactLocalNickname(request *requests.SetContactLocalNic
|
|||
contact.LocalNickname = nickname
|
||||
contact.LastUpdatedLocally = clock
|
||||
|
||||
err := m.persistence.SaveContact(contact, nil)
|
||||
err = m.persistence.SaveContact(contact, nil)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
@ -597,20 +561,17 @@ func (m *Messenger) SetContactLocalNickname(request *requests.SetContactLocalNic
|
|||
}
|
||||
|
||||
func (m *Messenger) blockContact(contactID string, isDesktopFunc bool) ([]*Chat, error) {
|
||||
contact, ok := m.allContacts.Load(contactID)
|
||||
if !ok {
|
||||
var err error
|
||||
contact, err = buildContactFromPkString(contactID)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
contact, err := m.BuildContact(contactID)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
_, clock, err := m.getOneToOneAndNextClock(contact)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if isDesktopFunc {
|
||||
contact.BlockDesktop()
|
||||
} else {
|
||||
contact.Block()
|
||||
}
|
||||
|
||||
contact.Block(clock)
|
||||
|
||||
contact.LastUpdatedLocally = m.getTimesource().GetCurrentTime()
|
||||
|
||||
|
@ -694,10 +655,16 @@ func (m *Messenger) UnblockContact(contactID string) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
contact.Unblock()
|
||||
_, clock, err := m.getOneToOneAndNextClock(contact)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
contact.Unblock(clock)
|
||||
|
||||
contact.LastUpdatedLocally = m.getTimesource().GetCurrentTime()
|
||||
|
||||
err := m.persistence.SaveContact(contact, nil)
|
||||
err = m.persistence.SaveContact(contact, nil)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
@ -733,7 +700,7 @@ func (m *Messenger) SendContactUpdates(ctx context.Context, ensName, profileImag
|
|||
|
||||
// TODO: This should not be sending paired messages, as we do it above
|
||||
m.allContacts.Range(func(contactID string, contact *Contact) (shouldContinue bool) {
|
||||
if contact.Added {
|
||||
if contact.added() {
|
||||
if _, err = m.sendContactUpdate(ctx, contact.ID, displayName, ensName, profileImage, m.dispatchMessage); err != nil {
|
||||
return false
|
||||
}
|
||||
|
@ -763,30 +730,21 @@ func (m *Messenger) sendContactUpdate(ctx context.Context, chatID, displayName,
|
|||
var response MessengerResponse
|
||||
|
||||
contact, ok := m.allContacts.Load(chatID)
|
||||
if !ok || !contact.Added {
|
||||
if !ok || !contact.added() {
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
chat, ok := m.allChats.Load(chatID)
|
||||
if !ok {
|
||||
publicKey, err := contact.PublicKey()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
chat = OneToOneFromPublicKey(publicKey, m.getTimesource())
|
||||
// We don't want to show the chat to the user
|
||||
chat.Active = false
|
||||
chat, clock, err := m.getOneToOneAndNextClock(contact)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// TODO(samyoul) remove storing of an updated reference pointer?
|
||||
m.allChats.Store(chat.ID, chat)
|
||||
clock, _ := chat.NextClockAndTimestamp(m.getTimesource())
|
||||
|
||||
contactUpdate := &protobuf.ContactUpdate{
|
||||
Clock: clock,
|
||||
DisplayName: displayName,
|
||||
EnsName: ensName,
|
||||
ProfileImage: profileImage,
|
||||
Clock: clock,
|
||||
DisplayName: displayName,
|
||||
EnsName: ensName,
|
||||
ProfileImage: profileImage,
|
||||
ContactRequestClock: contact.ContactRequestLocalClock,
|
||||
}
|
||||
encodedMessage, err := proto.Marshal(contactUpdate)
|
||||
if err != nil {
|
||||
|
@ -842,10 +800,8 @@ func (m *Messenger) RetractContactRequest(request *requests.RetractContactReques
|
|||
if !ok {
|
||||
return nil, errors.New("contact not found")
|
||||
}
|
||||
contact.HasAddedUs = false
|
||||
m.allContacts.Store(contact.ID, contact)
|
||||
response := &MessengerResponse{}
|
||||
err = m.removeContact(context.Background(), response, contact.ID)
|
||||
err = m.removeContact(context.Background(), response, contact.ID, true)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
@ -860,20 +816,10 @@ func (m *Messenger) RetractContactRequest(request *requests.RetractContactReques
|
|||
|
||||
// Send message to remote account to remove our contact from their end.
|
||||
func (m *Messenger) sendRetractContactRequest(contact *Contact) error {
|
||||
chat, ok := m.allChats.Load(contact.ID)
|
||||
if !ok {
|
||||
pubKey, err := contact.PublicKey()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
chat = OneToOneFromPublicKey(pubKey, m.getTimesource())
|
||||
chat.Active = false
|
||||
if err := m.saveChat(chat); err != nil {
|
||||
return err
|
||||
}
|
||||
_, clock, err := m.getOneToOneAndNextClock(contact)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
clock, _ := chat.NextClockAndTimestamp(m.getTimesource())
|
||||
retractContactRequest := &protobuf.RetractContactRequest{
|
||||
Clock: clock,
|
||||
}
|
||||
|
@ -934,11 +880,11 @@ func defaultContactRequestID(contactID string) string {
|
|||
return "0x" + types.Bytes2Hex(append(types.Hex2Bytes(contactID), 0x20))
|
||||
}
|
||||
|
||||
func (m *Messenger) BuildContact(pubKey string) (*Contact, error) {
|
||||
contact, ok := m.allContacts.Load(pubKey)
|
||||
func (m *Messenger) BuildContact(contactID string) (*Contact, error) {
|
||||
contact, ok := m.allContacts.Load(contactID)
|
||||
if !ok {
|
||||
var err error
|
||||
contact, err = buildContactFromPkString(pubKey)
|
||||
contact, err = buildContactFromPkString(contactID)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
|
|
@ -26,7 +26,7 @@ func (m *Messenger) validateAddedGroupMembers(members []string) error {
|
|||
}
|
||||
|
||||
contact, _ := m.allContacts.Load(contactID)
|
||||
if contact == nil || !(contact.Added && contact.HasAddedUs) {
|
||||
if contact == nil || !contact.mutual() {
|
||||
return ErrGroupChatAddedContacts
|
||||
}
|
||||
}
|
||||
|
|
|
@ -97,9 +97,8 @@ func makeMutualContact(origin *Messenger, contactPubkey *ecdsa.PublicKey) error
|
|||
if err != nil {
|
||||
return err
|
||||
}
|
||||
contact.Added = true
|
||||
contact.HasAddedUs = true
|
||||
contact.ContactRequestState = ContactRequestStateMutual
|
||||
contact.ContactRequestLocalState = ContactRequestStateSent
|
||||
contact.ContactRequestRemoteState = ContactRequestStateReceived
|
||||
origin.allContacts.Store(contact.ID, contact)
|
||||
|
||||
return nil
|
||||
|
|
|
@ -71,7 +71,7 @@ func (m *Messenger) HandleMembershipUpdate(messageState *ReceivedMessageState, c
|
|||
//we need to create a new chat instance like we don't have a chat and just use a regular invitation flow
|
||||
waitingForApproval := chat != nil && len(chat.InvitationAdmin) > 0
|
||||
ourKey := contactIDFromPublicKey(&m.identity.PublicKey)
|
||||
isActive := messageState.CurrentMessageState.Contact.Added || messageState.CurrentMessageState.Contact.ID == ourKey || waitingForApproval
|
||||
isActive := messageState.CurrentMessageState.Contact.added() || messageState.CurrentMessageState.Contact.ID == ourKey || waitingForApproval
|
||||
showPushNotification := isActive && messageState.CurrentMessageState.Contact.ID != ourKey
|
||||
|
||||
// wasUserAdded indicates whether the user has been added to the group with this update
|
||||
|
@ -227,7 +227,7 @@ func (m *Messenger) checkIfCreatorIsOurContact(group *v1protocol.Group) bool {
|
|||
creator, err := group.Creator()
|
||||
if err == nil {
|
||||
contact, _ := m.allContacts.Load(creator)
|
||||
return contact != nil && contact.ContactRequestState == ContactRequestStateMutual
|
||||
return contact != nil && contact.mutual()
|
||||
}
|
||||
m.logger.Warn("failed to get creator from group", zap.String("group name", group.Name()), zap.String("group chat id", group.ChatID()), zap.Error(err))
|
||||
return false
|
||||
|
@ -459,20 +459,46 @@ func (m *Messenger) HandleSyncInstallationContact(state *ReceivedMessageState, m
|
|||
}
|
||||
}
|
||||
|
||||
if contact.LastUpdated < message.LastUpdated {
|
||||
contact.HasAddedUs = message.HasAddedUs
|
||||
contact.ContactRequestState = ContactRequestState(message.ContactRequestState)
|
||||
if message.ContactRequestRemoteClock != 0 || message.ContactRequestLocalClock != 0 {
|
||||
// Some local action about contact requests were performed,
|
||||
// process them
|
||||
contact.processSyncContactRequestState(
|
||||
ContactRequestState(message.ContactRequestRemoteState),
|
||||
uint64(message.ContactRequestRemoteClock),
|
||||
ContactRequestState(message.ContactRequestLocalState),
|
||||
uint64(message.ContactRequestLocalClock))
|
||||
state.ModifiedContacts.Store(contact.ID, true)
|
||||
state.AllContacts.Store(contact.ID, contact)
|
||||
} else if message.Added || message.HasAddedUs {
|
||||
// NOTE(cammellos): this is for handling backward compatibility, old clients
|
||||
// won't propagate ContactRequestRemoteClock or ContactRequestLocalClock
|
||||
|
||||
if message.Added && contact.LastUpdatedLocally < message.LastUpdatedLocally {
|
||||
contact.ContactRequestSent(message.LastUpdatedLocally)
|
||||
}
|
||||
|
||||
if message.HasAddedUs && contact.LastUpdated < message.LastUpdated {
|
||||
contact.ContactRequestReceived(message.LastUpdated)
|
||||
}
|
||||
|
||||
if message.Removed && contact.LastUpdatedLocally < message.LastUpdatedLocally {
|
||||
err := m.removeContact(context.Background(), state.Response, contact.ID, false)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if contact.LastUpdatedLocally < message.LastUpdatedLocally {
|
||||
// NOTE(cammellos): probably is cleaner to pass a flag
|
||||
// to method to tell them not to sync, or factor out in different
|
||||
// methods
|
||||
contact.IsSyncing = true
|
||||
defer func() {
|
||||
contact.IsSyncing = false
|
||||
}()
|
||||
|
||||
if message.Added {
|
||||
contact.Added = true
|
||||
}
|
||||
if message.EnsName != "" && contact.EnsName != message.EnsName {
|
||||
contact.EnsName = message.EnsName
|
||||
publicKey, err := contact.PublicKey()
|
||||
|
@ -508,7 +534,7 @@ func (m *Messenger) HandleSyncInstallationContact(state *ReceivedMessageState, m
|
|||
return err
|
||||
}
|
||||
} else {
|
||||
contact.Unblock()
|
||||
contact.Unblock(message.LastUpdatedLocally)
|
||||
}
|
||||
}
|
||||
if chat != nil && message.Muted != chat.Muted {
|
||||
|
@ -527,13 +553,6 @@ func (m *Messenger) HandleSyncInstallationContact(state *ReceivedMessageState, m
|
|||
state.Response.AddChat(chat)
|
||||
}
|
||||
|
||||
if message.Removed {
|
||||
err := m.removeContact(context.Background(), state.Response, contact.ID)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
state.ModifiedContacts.Store(contact.ID, true)
|
||||
state.AllContacts.Store(contact.ID, contact)
|
||||
}
|
||||
|
@ -636,7 +655,6 @@ func (m *Messenger) HandleSyncChatRemoved(state *ReceivedMessageState, message p
|
|||
}
|
||||
|
||||
func (m *Messenger) HandleSyncChatMessagesRead(state *ReceivedMessageState, message protobuf.SyncChatMessagesRead) error {
|
||||
m.logger.Info("HANDLING SYNC MESSAGES READ", zap.Any("ID", message.Id))
|
||||
chat, ok := m.allChats.Load(message.Id)
|
||||
if !ok {
|
||||
return ErrChatNotFound
|
||||
|
@ -708,73 +726,117 @@ func (m *Messenger) HandlePinMessage(state *ReceivedMessageState, message protob
|
|||
return nil
|
||||
}
|
||||
|
||||
func (m *Messenger) HandleAcceptContactRequest(state *ReceivedMessageState, message protobuf.AcceptContactRequest) error {
|
||||
contact := state.CurrentMessageState.Contact
|
||||
func (m *Messenger) handleAcceptContactRequest(
|
||||
response *MessengerResponse,
|
||||
contact *Contact,
|
||||
originalRequest *common.Message,
|
||||
message protobuf.AcceptContactRequest) (ContactRequestProcessingResponse, error) {
|
||||
|
||||
if contact.ContactRequestClock > message.Clock {
|
||||
if contact.ContactRequestRemoteClock > message.Clock {
|
||||
m.logger.Info("not handling accept since clock lower")
|
||||
return nil
|
||||
return ContactRequestProcessingResponse{}, nil
|
||||
}
|
||||
|
||||
// TODO: Handle missing contact request message
|
||||
request, err := m.persistence.MessageByID(message.Id)
|
||||
// The contact request accepted wasn't found, a reason for this might
|
||||
// be that we sent a legacy contact request/contact-update, or another
|
||||
// device has sent it, and we haven't synchronized it
|
||||
// TODO(cammellos): This might want to show a notification if we haven't
|
||||
// added the user to contacts already
|
||||
if originalRequest == nil {
|
||||
return contact.ContactRequestAccepted(message.Clock), nil
|
||||
}
|
||||
|
||||
if originalRequest.LocalChatID != contact.ID {
|
||||
return ContactRequestProcessingResponse{}, errors.New("can't accept contact request not sent to user")
|
||||
}
|
||||
|
||||
contact.ContactRequestAccepted(message.Clock)
|
||||
|
||||
originalRequest.ContactRequestState = common.ContactRequestStateAccepted
|
||||
|
||||
err := m.persistence.SetContactRequestState(originalRequest.ID, originalRequest.ContactRequestState)
|
||||
if err != nil {
|
||||
return ContactRequestProcessingResponse{}, err
|
||||
}
|
||||
|
||||
response.AddMessage(originalRequest)
|
||||
return ContactRequestProcessingResponse{}, nil
|
||||
}
|
||||
|
||||
func (m *Messenger) HandleAcceptContactRequest(state *ReceivedMessageState, message protobuf.AcceptContactRequest) error {
|
||||
originalRequest, err := m.persistence.MessageByID(message.Id)
|
||||
if err != nil && err != common.ErrRecordNotFound {
|
||||
return err
|
||||
}
|
||||
|
||||
contact := state.CurrentMessageState.Contact
|
||||
|
||||
processingResponse, err := m.handleAcceptContactRequest(state.Response, contact, originalRequest, message)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if request.LocalChatID != state.CurrentMessageState.Contact.ID {
|
||||
return errors.New("can't accept contact request not sent to user")
|
||||
// If the state has changed from non-mutual contact, to mutual contact
|
||||
// we want to notify the user
|
||||
if processingResponse.newContactRequestReceived && contact.mutual() {
|
||||
// We set the chat as active, this is currently the expected behavior
|
||||
// for mobile, it might change as we implement further the activity
|
||||
// center
|
||||
chat, _, err := m.getOneToOneAndNextClock(contact)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if chat.LastClockValue < message.Clock {
|
||||
chat.LastClockValue = message.Clock
|
||||
}
|
||||
|
||||
// NOTE(cammellos): This will re-enable the chat if it was deleted, and only
|
||||
// after we became contact, currently seems safe, but that needs
|
||||
// discussing with UX.
|
||||
if chat.DeletedAtClockValue < message.Clock {
|
||||
chat.Active = true
|
||||
}
|
||||
|
||||
state.Response.AddChat(chat)
|
||||
state.AllChats.Store(chat.ID, chat)
|
||||
}
|
||||
|
||||
contact.ContactRequestClock = message.Clock
|
||||
// We only want to update a notification here, we don't want (yet) to
|
||||
// create a new one
|
||||
if originalRequest != nil {
|
||||
// Update contact requests if existing, or create a new one
|
||||
err = m.createContactRequestNotification(contact, state, originalRequest)
|
||||
if err != nil {
|
||||
m.logger.Warn("could not create contact request notification", zap.Error(err))
|
||||
}
|
||||
}
|
||||
|
||||
state.ModifiedContacts.Store(contact.ID, true)
|
||||
state.AllContacts.Store(contact.ID, contact)
|
||||
|
||||
request.ContactRequestState = common.ContactRequestStateAccepted
|
||||
|
||||
err = m.persistence.SetContactRequestState(request.ID, request.ContactRequestState)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
err = m.createContactRequestNotification(state.CurrentMessageState.Contact, state, request)
|
||||
if err != nil {
|
||||
m.logger.Warn("could not create contact request notification", zap.Error(err))
|
||||
}
|
||||
|
||||
state.CurrentMessageState.Contact.ContactRequestAccepted()
|
||||
|
||||
state.Response.AddMessage(request)
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *Messenger) HandleRetractContactRequest(state *ReceivedMessageState, message protobuf.RetractContactRequest) error {
|
||||
contact := state.CurrentMessageState.Contact
|
||||
if contact.ContactRequestClock > message.Clock {
|
||||
|
||||
if contact.ID == m.myHexIdentity() {
|
||||
m.logger.Debug("retraction coming from us, ignoring")
|
||||
return nil
|
||||
}
|
||||
|
||||
r := contact.ContactRequestRetracted(message.Clock)
|
||||
if !r.processed {
|
||||
m.logger.Info("not handling retract since clock lower")
|
||||
return nil
|
||||
}
|
||||
|
||||
mutualContactEnabled, err := m.settings.MutualContactEnabled()
|
||||
if err != nil {
|
||||
m.logger.Error("FAILED", zap.Error(err))
|
||||
return err
|
||||
}
|
||||
// We remove from our old contacts only if mutual contacts are enabled
|
||||
if mutualContactEnabled {
|
||||
contact.Added = false
|
||||
|
||||
}
|
||||
// We remove anything that's related to this contact request
|
||||
err = m.persistence.RemoveAllContactRequestActivityCenterNotifications(contact.ID)
|
||||
err := m.persistence.RemoveAllContactRequestActivityCenterNotifications(contact.ID)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
contact.HasAddedUs = false
|
||||
contact.ContactRequestClock = message.Clock
|
||||
contact.ContactRequestRetracted()
|
||||
state.ModifiedContacts.Store(contact.ID, true)
|
||||
|
||||
state.AllContacts.Store(contact.ID, contact)
|
||||
|
@ -818,30 +880,24 @@ func (m *Messenger) HandleContactUpdate(state *ReceivedMessageState, message pro
|
|||
contact.DisplayName = message.DisplayName
|
||||
}
|
||||
|
||||
contact.HasAddedUs = true
|
||||
contact.LastUpdated = message.Clock
|
||||
state.ModifiedContacts.Store(contact.ID, true)
|
||||
state.AllContacts.Store(contact.ID, contact)
|
||||
// Has the user added us?
|
||||
if contact.ContactRequestState == ContactRequestStateNone {
|
||||
contact.ContactRequestState = ContactRequestStateReceived
|
||||
r := contact.ContactRequestReceived(message.ContactRequestClock)
|
||||
if r.newContactRequestReceived {
|
||||
err = m.createContactRequestNotification(contact, state, nil)
|
||||
if err != nil {
|
||||
m.logger.Warn("could not create contact request notification", zap.Error(err))
|
||||
}
|
||||
|
||||
// Has the user replied to a default contact request
|
||||
} else if contact.ContactRequestState == ContactRequestStateSent {
|
||||
contact.ContactRequestState = ContactRequestStateMutual
|
||||
|
||||
}
|
||||
contact.LastUpdated = message.Clock
|
||||
state.ModifiedContacts.Store(contact.ID, true)
|
||||
state.AllContacts.Store(contact.ID, contact)
|
||||
}
|
||||
|
||||
if chat.LastClockValue < message.Clock {
|
||||
chat.LastClockValue = message.Clock
|
||||
}
|
||||
|
||||
if contact.ContactRequestState == ContactRequestStateMutual && chat.DeletedAtClockValue < message.Clock {
|
||||
if contact.mutual() && chat.DeletedAtClockValue < message.Clock {
|
||||
chat.Active = true
|
||||
}
|
||||
|
||||
|
@ -1485,6 +1541,29 @@ func (m *Messenger) updateLastMessage(chat *Chat) error {
|
|||
return m.saveChat(chat)
|
||||
}
|
||||
|
||||
func handleContactRequestChatMessage(receivedMessage *common.Message, contact *Contact, outgoing bool, logger *zap.Logger) (bool, error) {
|
||||
receivedMessage.ContactRequestState = common.ContactRequestStatePending
|
||||
|
||||
var response ContactRequestProcessingResponse
|
||||
|
||||
if outgoing {
|
||||
response = contact.ContactRequestSent(receivedMessage.Clock)
|
||||
} else {
|
||||
response = contact.ContactRequestReceived(receivedMessage.Clock)
|
||||
}
|
||||
if !response.processed {
|
||||
logger.Info("not handling contact message since clock lower")
|
||||
return false, nil
|
||||
|
||||
}
|
||||
|
||||
if contact.mutual() {
|
||||
receivedMessage.ContactRequestState = common.ContactRequestStateAccepted
|
||||
}
|
||||
|
||||
return response.newContactRequestReceived, nil
|
||||
}
|
||||
|
||||
func (m *Messenger) HandleChatMessage(state *ReceivedMessageState) error {
|
||||
logger := m.logger.With(zap.String("site", "handleChatMessage"))
|
||||
if err := ValidateReceivedChatMessage(&state.CurrentMessageState.Message, state.CurrentMessageState.WhisperTimestamp); err != nil {
|
||||
|
@ -1501,11 +1580,14 @@ func (m *Messenger) HandleChatMessage(state *ReceivedMessageState) error {
|
|||
WhisperTimestamp: state.CurrentMessageState.WhisperTimestamp,
|
||||
}
|
||||
|
||||
if common.IsPubKeyEqual(state.CurrentMessageState.PublicKey, &m.identity.PublicKey) {
|
||||
// is the message coming from us?
|
||||
isSyncMessage := common.IsPubKeyEqual(receivedMessage.SigPubKey, &m.identity.PublicKey)
|
||||
|
||||
if isSyncMessage {
|
||||
receivedMessage.Seen = true
|
||||
}
|
||||
|
||||
err := receivedMessage.PrepareContent(common.PubkeyToHex(&m.identity.PublicKey))
|
||||
err := receivedMessage.PrepareContent(m.myHexIdentity())
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to prepare message content: %v", err)
|
||||
}
|
||||
|
@ -1517,7 +1599,7 @@ func (m *Messenger) HandleChatMessage(state *ReceivedMessageState) error {
|
|||
logger.Error("failed to get quoted message", zap.Error(err))
|
||||
} else if err != nil {
|
||||
return err
|
||||
} else if repliedTo.From == common.PubkeyToHex(&m.identity.PublicKey) {
|
||||
} else if repliedTo.From == m.myHexIdentity() {
|
||||
receivedMessage.Replied = true
|
||||
}
|
||||
}
|
||||
|
@ -1564,44 +1646,44 @@ func (m *Messenger) HandleChatMessage(state *ReceivedMessageState) error {
|
|||
// Set the LocalChatID for the message
|
||||
receivedMessage.LocalChatID = chat.ID
|
||||
|
||||
if c, ok := m.allChats.Load(chat.ID); ok {
|
||||
chat = c
|
||||
}
|
||||
|
||||
// Set the LocalChatID for the message
|
||||
receivedMessage.LocalChatID = chat.ID
|
||||
|
||||
if err := m.updateChatFirstMessageTimestamp(chat, whisperToUnixTimestamp(receivedMessage.WhisperTimestamp), state.Response); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// Increase unviewed count
|
||||
if !common.IsPubKeyEqual(receivedMessage.SigPubKey, &m.identity.PublicKey) {
|
||||
if !receivedMessage.Seen {
|
||||
m.updateUnviewedCounts(chat, receivedMessage.Mentioned || receivedMessage.Replied)
|
||||
}
|
||||
} else {
|
||||
// Our own message, mark as sent
|
||||
// Our own message, mark as sent
|
||||
if isSyncMessage {
|
||||
receivedMessage.OutgoingStatus = common.OutgoingStatusSent
|
||||
} else if !receivedMessage.Seen {
|
||||
// Increase unviewed count
|
||||
m.updateUnviewedCounts(chat, receivedMessage.Mentioned || receivedMessage.Replied)
|
||||
}
|
||||
|
||||
contact := state.CurrentMessageState.Contact
|
||||
|
||||
if receivedMessage.ContentType == protobuf.ChatMessage_CONTACT_REQUEST {
|
||||
if contact.ContactRequestClock > receivedMessage.Clock {
|
||||
m.logger.Info("not handling contact message since clock lower")
|
||||
return nil
|
||||
}
|
||||
receivedMessage.ContactRequestState = common.ContactRequestStatePending
|
||||
contact.ContactRequestClock = receivedMessage.Clock
|
||||
contact.ContactRequestReceived()
|
||||
state.ModifiedContacts.Store(contact.ID, true)
|
||||
state.AllContacts.Store(contact.ID, contact)
|
||||
err = m.createContactRequestNotification(state.CurrentMessageState.Contact, state, receivedMessage)
|
||||
if err != nil {
|
||||
return err
|
||||
if receivedMessage.ContentType == protobuf.ChatMessage_CONTACT_REQUEST && chat.OneToOne() {
|
||||
|
||||
chatContact := contact
|
||||
if isSyncMessage {
|
||||
chatContact, err = m.BuildContact(chat.ID)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
sendNotification, err := handleContactRequestChatMessage(receivedMessage, chatContact, isSyncMessage, m.logger)
|
||||
if err != nil {
|
||||
m.logger.Error("failed to handle contact request message", zap.Error(err))
|
||||
return err
|
||||
}
|
||||
state.ModifiedContacts.Store(chatContact.ID, true)
|
||||
state.AllContacts.Store(chatContact.ID, chatContact)
|
||||
|
||||
if sendNotification {
|
||||
err = m.createContactRequestNotification(chatContact, state, receivedMessage)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
} else if receivedMessage.ContentType == protobuf.ChatMessage_COMMUNITY {
|
||||
chat.Highlight = true
|
||||
}
|
||||
|
@ -1662,7 +1744,7 @@ func (m *Messenger) HandleChatMessage(state *ReceivedMessageState) error {
|
|||
// TODO(samyoul) remove storing of an updated reference pointer?
|
||||
m.allChats.Store(chat.ID, chat)
|
||||
|
||||
if receivedMessage.EnsName != "" {
|
||||
if !isSyncMessage && receivedMessage.EnsName != "" {
|
||||
oldRecord, err := m.ensVerifier.Add(contact.ID, receivedMessage.EnsName, receivedMessage.Clock)
|
||||
if err != nil {
|
||||
m.logger.Warn("failed to verify ENS name", zap.Error(err))
|
||||
|
@ -1675,7 +1757,7 @@ func (m *Messenger) HandleChatMessage(state *ReceivedMessageState) error {
|
|||
}
|
||||
}
|
||||
|
||||
if contact.DisplayName != receivedMessage.DisplayName && len(receivedMessage.DisplayName) != 0 {
|
||||
if !isSyncMessage && contact.DisplayName != receivedMessage.DisplayName && len(receivedMessage.DisplayName) != 0 {
|
||||
contact.DisplayName = receivedMessage.DisplayName
|
||||
state.ModifiedContacts.Store(contact.ID, true)
|
||||
}
|
||||
|
@ -1996,7 +2078,7 @@ func (m *Messenger) matchChatEntity(chatEntity common.ChatEntity) (*Chat, error)
|
|||
// We set the chat as inactive and will create a notification
|
||||
// if it's not coming from a contact
|
||||
contact, ok := m.allContacts.Load(chatID)
|
||||
chat.Active = chat.Active || (ok && contact.Added)
|
||||
chat.Active = chat.Active || (ok && contact.added())
|
||||
return chat, nil
|
||||
case chatEntity.GetMessageType() == protobuf.MessageType_COMMUNITY_CHAT:
|
||||
chatID := chatEntity.GetChatId()
|
||||
|
@ -2213,7 +2295,7 @@ func (m *Messenger) HandleChatIdentity(state *ReceivedMessageState, ci protobuf.
|
|||
// We don't want to store the profile images of other users, even if we don't display images.
|
||||
inOurContacts, ok := m.allContacts.Load(state.CurrentMessageState.Contact.ID)
|
||||
|
||||
isContact := ok && inOurContacts.Added
|
||||
isContact := ok && inOurContacts.added()
|
||||
if viewFromNoOne && !isContact {
|
||||
return nil
|
||||
}
|
||||
|
@ -2373,7 +2455,7 @@ func (m *Messenger) isMessageAllowedFrom(publicKey string, chat *Chat) (bool, er
|
|||
}
|
||||
|
||||
// if it's from us, it's allowed
|
||||
if contactIDFromPublicKey(&m.identity.PublicKey) == publicKey {
|
||||
if m.myHexIdentity() == publicKey {
|
||||
return true, nil
|
||||
}
|
||||
|
||||
|
@ -2394,7 +2476,7 @@ func (m *Messenger) isMessageAllowedFrom(publicKey string, chat *Chat) (bool, er
|
|||
}
|
||||
|
||||
// Otherwise we check if we added it
|
||||
return contact.Added, nil
|
||||
return contact.added(), nil
|
||||
}
|
||||
|
||||
func (m *Messenger) updateUnviewedCounts(chat *Chat, mentionedOrReplied bool) {
|
||||
|
|
|
@ -170,7 +170,7 @@ func (s *EventToSystemMessageSuite) TestHandleMembershipUpdate() {
|
|||
contact, err := BuildContactFromPublicKey(&adminPrivateKey.PublicKey)
|
||||
s.Require().NoError(err)
|
||||
|
||||
contact.Added = true
|
||||
contact.ContactRequestLocalState = ContactRequestStateSent
|
||||
|
||||
currentMessageState := &CurrentMessageState{
|
||||
Contact: contact,
|
||||
|
|
|
@ -167,7 +167,8 @@ func (s *MessengerProfilePictureHandlerSuite) TestEncryptDecryptIdentityImagesWi
|
|||
contact, err := BuildContactFromPublicKey(&contactKey.PublicKey)
|
||||
s.Require().NoError(err)
|
||||
|
||||
contact.Added = true
|
||||
contact.ContactRequestLocalState = ContactRequestStateSent
|
||||
|
||||
s.alice.allContacts.Store(contact.ID, contact)
|
||||
}
|
||||
|
||||
|
|
|
@ -119,7 +119,7 @@ func (s *MessengerInstallationSuite) TestReceiveInstallation() {
|
|||
|
||||
actualContact := response.Contacts[0]
|
||||
s.Require().Equal(contact.ID, actualContact.ID)
|
||||
s.Require().True(actualContact.Added)
|
||||
s.Require().True(actualContact.added())
|
||||
|
||||
chat := CreatePublicChat(statusChatID, s.m.transport)
|
||||
err = s.m.SaveChat(chat)
|
||||
|
@ -150,8 +150,7 @@ func (s *MessengerInstallationSuite) TestSyncInstallation() {
|
|||
|
||||
// mock added as mutual contact
|
||||
contact.LastUpdated = 1
|
||||
contact.HasAddedUs = true
|
||||
contact.ContactRequestState = ContactRequestStateMutual
|
||||
contact.ContactRequestReceived(1)
|
||||
s.m.allContacts.Store(contact.ID, contact)
|
||||
|
||||
contact.LocalNickname = "Test Nickname"
|
||||
|
@ -258,10 +257,10 @@ func (s *MessengerInstallationSuite) TestSyncInstallation() {
|
|||
|
||||
s.Require().NotNil(statusChat)
|
||||
|
||||
s.Require().True(actualContact.Added)
|
||||
s.Require().True(actualContact.added())
|
||||
s.Require().Equal("Test Nickname", actualContact.LocalNickname)
|
||||
s.Require().True(actualContact.HasAddedUs)
|
||||
s.Require().Equal(ContactRequestStateMutual, actualContact.ContactRequestState)
|
||||
s.Require().True(actualContact.hasAddedUs())
|
||||
s.Require().True(actualContact.mutual())
|
||||
|
||||
bookmarks, err := theirMessenger.browserDatabase.GetBookmarks()
|
||||
s.Require().NoError(err)
|
||||
|
|
|
@ -98,7 +98,7 @@ func (s *MessengerSyncSettingsSuite) SetupTest() {
|
|||
s.alice2, err = newMessengerWithKey(s.shh, s.alice.identity, s.logger, nil)
|
||||
s.Require().NoError(err)
|
||||
|
||||
s.prepAliceMessengersForPairing()
|
||||
prepAliceMessengersForPairing(&s.Suite, s.alice, s.alice2)
|
||||
}
|
||||
|
||||
func (s *MessengerSyncSettingsSuite) TearDownTest() {
|
||||
|
@ -180,7 +180,7 @@ func (s *MessengerSyncSettingsSuite) newMessenger() *Messenger {
|
|||
return s.newMessengerWithKey(s.shh, privateKey)
|
||||
}
|
||||
|
||||
func (s *MessengerSyncSettingsSuite) pairTwoDevices(device1, device2 *Messenger) {
|
||||
func pairTwoDevices(s *suite.Suite, device1, device2 *Messenger) {
|
||||
// Send pairing data
|
||||
response, err := device1.SendPairInstallation(context.Background())
|
||||
s.Require().NoError(err)
|
||||
|
@ -215,13 +215,13 @@ func (s *MessengerSyncSettingsSuite) pairTwoDevices(device1, device2 *Messenger)
|
|||
s.Require().NoError(err)
|
||||
}
|
||||
|
||||
func (s *MessengerSyncSettingsSuite) prepAliceMessengersForPairing() {
|
||||
func prepAliceMessengersForPairing(s *suite.Suite, alice1, alice2 *Messenger) {
|
||||
// Set Alice's installation metadata
|
||||
aim := &multidevice.InstallationMetadata{
|
||||
Name: "alice's-device",
|
||||
DeviceType: "alice's-device-type",
|
||||
}
|
||||
err := s.alice.SetInstallationMetadata(s.alice.installationID, aim)
|
||||
err := alice1.SetInstallationMetadata(alice1.installationID, aim)
|
||||
s.Require().NoError(err)
|
||||
|
||||
// Set Alice 2's installation metadata
|
||||
|
@ -229,14 +229,14 @@ func (s *MessengerSyncSettingsSuite) prepAliceMessengersForPairing() {
|
|||
Name: "alice's-other-device",
|
||||
DeviceType: "alice's-other-device-type",
|
||||
}
|
||||
err = s.alice2.SetInstallationMetadata(s.alice2.installationID, a2im)
|
||||
err = alice2.SetInstallationMetadata(alice2.installationID, a2im)
|
||||
s.Require().NoError(err)
|
||||
}
|
||||
|
||||
func (s *MessengerSyncSettingsSuite) TestSyncSettings() {
|
||||
// Pair alice's two devices
|
||||
s.pairTwoDevices(s.alice2, s.alice)
|
||||
s.pairTwoDevices(s.alice, s.alice2)
|
||||
pairTwoDevices(&s.Suite, s.alice2, s.alice)
|
||||
pairTwoDevices(&s.Suite, s.alice, s.alice2)
|
||||
|
||||
// Check alice 1 settings values
|
||||
as, err := s.alice.settings.GetSettings()
|
||||
|
@ -320,7 +320,7 @@ func (s *MessengerSyncSettingsSuite) TestSyncSettings_StickerPacks() {
|
|||
s.Require().Nil(aos.StickersRecentStickers)
|
||||
|
||||
// Pair devices. Allows alice to send to alicesOtherDevice
|
||||
s.pairTwoDevices(s.alice2, s.alice)
|
||||
pairTwoDevices(&s.Suite, s.alice2, s.alice)
|
||||
|
||||
// Add sticker pack to alice device
|
||||
stickerPacks := make(stickers.StickerPackCollection)
|
||||
|
@ -375,7 +375,7 @@ func (s *MessengerSyncSettingsSuite) TestSyncSettings_PreferredName() {
|
|||
s.Require().Nil(aos.PreferredName)
|
||||
|
||||
// Pair devices. Allows alice to send to alicesOtherDevice
|
||||
s.pairTwoDevices(s.alice2, s.alice)
|
||||
pairTwoDevices(&s.Suite, s.alice2, s.alice)
|
||||
|
||||
// Update Alice's PreferredName
|
||||
err = s.alice.settings.SaveSettingField(settings.PreferredName, pf2)
|
||||
|
|
|
@ -1336,20 +1336,20 @@ func (s *MessengerSuite) TestChatPersistencePrivateGroupChat() {
|
|||
|
||||
func (s *MessengerSuite) TestBlockContact() {
|
||||
contact := Contact{
|
||||
ID: testPK,
|
||||
EnsName: "contact-name",
|
||||
LastUpdated: 20,
|
||||
Added: true,
|
||||
ID: testPK,
|
||||
EnsName: "contact-name",
|
||||
LastUpdated: 20,
|
||||
ContactRequestLocalState: ContactRequestStateSent,
|
||||
}
|
||||
|
||||
key2, err := crypto.GenerateKey()
|
||||
s.Require().NoError(err)
|
||||
|
||||
contact2 := Contact{
|
||||
ID: common.PubkeyToHex(&key2.PublicKey),
|
||||
EnsName: "contact-name",
|
||||
LastUpdated: 20,
|
||||
Added: true,
|
||||
ID: common.PubkeyToHex(&key2.PublicKey),
|
||||
EnsName: "contact-name",
|
||||
LastUpdated: 20,
|
||||
ContactRequestLocalState: ContactRequestStateSent,
|
||||
}
|
||||
|
||||
chat1 := &Chat{
|
||||
|
@ -1530,7 +1530,7 @@ func (s *MessengerSuite) TestContactPersistence() {
|
|||
|
||||
s.Require().Equal(1, len(savedContacts))
|
||||
|
||||
s.Require().True(savedContacts[0].Added)
|
||||
s.Require().True(savedContacts[0].added())
|
||||
}
|
||||
|
||||
func (s *MessengerSuite) TestSharedSecretHandler() {
|
||||
|
|
|
@ -70,6 +70,7 @@
|
|||
// 1670921937_add_album_id.up.sql (55B)
|
||||
// 1673373000_add_replied.up.sql (67B)
|
||||
// 1673428910_add_image_width_height.up.sql (117B)
|
||||
// 1674210659_add_contact_request_local_clock.up.sql (503B)
|
||||
// README.md (554B)
|
||||
// doc.go (850B)
|
||||
|
||||
|
@ -155,7 +156,7 @@ func _000001_initDownDbSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "000001_init.down.db.sql", size: 65, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "000001_init.down.db.sql", size: 65, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x5e, 0xbb, 0x3f, 0x1, 0x75, 0x19, 0x70, 0x86, 0xa7, 0x34, 0x40, 0x17, 0x34, 0x3e, 0x18, 0x51, 0x79, 0xd4, 0x22, 0xad, 0x8f, 0x80, 0xcc, 0xa6, 0xcc, 0x6, 0x2b, 0x62, 0x2, 0x47, 0xba, 0xf9}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -175,7 +176,7 @@ func _000001_initUpDbSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "000001_init.up.db.sql", size: 2719, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "000001_init.up.db.sql", size: 2719, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x60, 0xdc, 0xeb, 0xe, 0xc2, 0x4f, 0x75, 0xa, 0xf6, 0x3e, 0xc7, 0xc4, 0x4, 0xe2, 0xe1, 0xa4, 0x73, 0x2f, 0x4a, 0xad, 0x1a, 0x0, 0xc3, 0x93, 0x9d, 0x77, 0x3e, 0x31, 0x91, 0x77, 0x2e, 0xc8}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -195,7 +196,7 @@ func _000002_add_last_ens_clock_valueUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "000002_add_last_ens_clock_value.up.sql", size: 77, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "000002_add_last_ens_clock_value.up.sql", size: 77, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x4d, 0x3, 0x8f, 0xd5, 0x85, 0x83, 0x47, 0xbe, 0xf9, 0x82, 0x7e, 0x81, 0xa4, 0xbd, 0xaa, 0xd5, 0x98, 0x18, 0x5, 0x2d, 0x82, 0x42, 0x3b, 0x3, 0x50, 0xc3, 0x1e, 0x84, 0x35, 0xf, 0xb6, 0x2b}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -215,7 +216,7 @@ func _1586358095_add_replaceUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1586358095_add_replace.up.sql", size: 224, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1586358095_add_replace.up.sql", size: 224, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd2, 0xb3, 0xa9, 0xc7, 0x7f, 0x9d, 0x8f, 0x43, 0x8c, 0x9e, 0x58, 0x8d, 0x44, 0xbc, 0xfa, 0x6b, 0x5f, 0x3f, 0x5a, 0xbe, 0xe8, 0xb1, 0x16, 0xf, 0x91, 0x2a, 0xa0, 0x71, 0xbb, 0x8d, 0x6b, 0xcb}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -235,7 +236,7 @@ func _1588665364_add_image_dataUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1588665364_add_image_data.up.sql", size: 186, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1588665364_add_image_data.up.sql", size: 186, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd6, 0xc6, 0x35, 0xb4, 0x4c, 0x39, 0x96, 0x29, 0x30, 0xda, 0xf4, 0x8f, 0xcb, 0xf1, 0x9f, 0x84, 0xdc, 0x88, 0xd4, 0xd5, 0xbc, 0xb6, 0x5b, 0x46, 0x78, 0x67, 0x76, 0x1a, 0x5, 0x36, 0xdc, 0xe5}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -255,7 +256,7 @@ func _1589365189_add_pow_targetUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1589365189_add_pow_target.up.sql", size: 66, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1589365189_add_pow_target.up.sql", size: 66, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x4e, 0x3a, 0xe2, 0x2e, 0x7d, 0xaf, 0xbb, 0xcc, 0x21, 0xa1, 0x7a, 0x41, 0x9a, 0xd0, 0xbb, 0xa9, 0xc8, 0x35, 0xf9, 0x32, 0x34, 0x46, 0x44, 0x9a, 0x86, 0x40, 0x7c, 0xb9, 0x23, 0xc7, 0x3, 0x3f}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -275,7 +276,7 @@ func _1591277220_add_index_messagesUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1591277220_add_index_messages.up.sql", size: 240, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1591277220_add_index_messages.up.sql", size: 240, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x9c, 0xfe, 0xbe, 0xd5, 0xb8, 0x8f, 0xdd, 0xef, 0xbb, 0xa8, 0xad, 0x7f, 0xed, 0x5b, 0x5b, 0x2f, 0xe6, 0x82, 0x27, 0x78, 0x1f, 0xb9, 0x57, 0xdc, 0x8, 0xc2, 0xb2, 0xa9, 0x9a, 0x4, 0xe1, 0x7a}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -295,7 +296,7 @@ func _1593087212_add_mute_chat_and_raw_message_fieldsUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1593087212_add_mute_chat_and_raw_message_fields.up.sql", size: 215, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1593087212_add_mute_chat_and_raw_message_fields.up.sql", size: 215, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x73, 0x99, 0x61, 0xd1, 0xaa, 0xb4, 0xbf, 0xaf, 0xd7, 0x20, 0x17, 0x40, 0xf9, 0x2, 0xfb, 0xcc, 0x40, 0x2a, 0xd, 0x86, 0x36, 0x30, 0x88, 0x89, 0x25, 0x80, 0x42, 0xb0, 0x5b, 0xe9, 0x73, 0x78}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -315,7 +316,7 @@ func _1595862781_add_audio_dataUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1595862781_add_audio_data.up.sql", size: 246, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1595862781_add_audio_data.up.sql", size: 246, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xae, 0xd2, 0xee, 0x55, 0xfb, 0x36, 0xa4, 0x92, 0x66, 0xe, 0x81, 0x62, 0x1e, 0x7a, 0x69, 0xa, 0xd5, 0x4b, 0xa5, 0x6a, 0x8d, 0x1d, 0xce, 0xf3, 0x3e, 0xc0, 0x5f, 0x9c, 0x66, 0x1b, 0xb4, 0xed}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -335,7 +336,7 @@ func _1595865249_create_emoji_reactions_tableUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1595865249_create_emoji_reactions_table.up.sql", size: 300, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1595865249_create_emoji_reactions_table.up.sql", size: 300, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3e, 0xc5, 0x43, 0x5c, 0x3d, 0x53, 0x43, 0x2c, 0x1a, 0xa5, 0xb6, 0xbf, 0x7, 0x4, 0x5a, 0x3e, 0x40, 0x8b, 0xa4, 0x57, 0x12, 0x58, 0xbc, 0x42, 0xe2, 0xc3, 0xde, 0x76, 0x98, 0x80, 0xe2, 0xbe}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -355,7 +356,7 @@ func _1596805115_create_group_chat_invitations_tableUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1596805115_create_group_chat_invitations_table.up.sql", size: 231, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1596805115_create_group_chat_invitations_table.up.sql", size: 231, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6d, 0xb1, 0x14, 0x6d, 0x54, 0x28, 0x67, 0xc3, 0x23, 0x6a, 0xfc, 0x80, 0xdf, 0x9e, 0x4c, 0x35, 0x36, 0xf, 0xf8, 0xf3, 0x5f, 0xae, 0xad, 0xb, 0xc1, 0x51, 0x8e, 0x17, 0x7, 0xe5, 0x7f, 0x91}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -375,7 +376,7 @@ func _1597322655_add_invitation_admin_chat_fieldUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1597322655_add_invitation_admin_chat_field.up.sql", size: 54, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1597322655_add_invitation_admin_chat_field.up.sql", size: 54, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa9, 0x7a, 0xa0, 0xf2, 0xdb, 0x13, 0x91, 0x91, 0xa8, 0x34, 0x1a, 0xa1, 0x49, 0x68, 0xd5, 0xae, 0x2c, 0xd8, 0xd5, 0xea, 0x8f, 0x8c, 0xc7, 0x2, 0x4e, 0x58, 0x2c, 0x3a, 0x14, 0xd4, 0x4f, 0x2c}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -395,7 +396,7 @@ func _1597757544_add_nicknameUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1597757544_add_nickname.up.sql", size: 52, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1597757544_add_nickname.up.sql", size: 52, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf4, 0xa2, 0x64, 0x50, 0xc5, 0x4, 0xb9, 0x8b, 0xd1, 0x18, 0x9b, 0xc3, 0x91, 0x36, 0x2a, 0x1f, 0xc3, 0x6c, 0x2d, 0x92, 0xf8, 0x5e, 0xff, 0xb1, 0x59, 0x61, 0x2, 0x1c, 0xe1, 0x85, 0x90, 0xa4}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -415,7 +416,7 @@ func _1598955122_add_mentionsUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1598955122_add_mentions.up.sql", size: 52, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1598955122_add_mentions.up.sql", size: 52, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x8d, 0x22, 0x17, 0x92, 0xd2, 0x11, 0x4e, 0x7, 0x93, 0x9a, 0x55, 0xfd, 0xb, 0x97, 0xc4, 0x63, 0x6a, 0x81, 0x97, 0xcd, 0xb2, 0xf8, 0x4b, 0x5f, 0x3c, 0xfa, 0x3a, 0x38, 0x53, 0x10, 0xed, 0x9d}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -435,7 +436,7 @@ func _1599641390_add_emoji_reactions_indexUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1599641390_add_emoji_reactions_index.up.sql", size: 126, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1599641390_add_emoji_reactions_index.up.sql", size: 126, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf9, 0xd8, 0xdc, 0xa7, 0xb, 0x92, 0x7a, 0x61, 0x37, 0x24, 0x1c, 0x77, 0x5e, 0xe, 0x7e, 0xfc, 0x9f, 0x98, 0x7b, 0x65, 0xe7, 0xf9, 0x71, 0x57, 0x89, 0x2d, 0x90, 0x1b, 0xf6, 0x5e, 0x37, 0xe8}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -455,7 +456,7 @@ func _1599720851_add_seen_index_remove_long_messagesUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1599720851_add_seen_index_remove_long_messages.up.sql", size: 150, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1599720851_add_seen_index_remove_long_messages.up.sql", size: 150, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x24, 0x1c, 0xc4, 0x78, 0x91, 0xc7, 0xeb, 0xfe, 0xc8, 0xa0, 0xd8, 0x13, 0x27, 0x97, 0xc8, 0x96, 0x56, 0x97, 0x33, 0x2c, 0x1e, 0x16, 0x8a, 0xd3, 0x49, 0x99, 0x3, 0xe9, 0xbb, 0xc4, 0x5, 0x3c}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -475,7 +476,7 @@ func _1603198582_add_profile_chat_fieldUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1603198582_add_profile_chat_field.up.sql", size: 45, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1603198582_add_profile_chat_field.up.sql", size: 45, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xaa, 0xca, 0xe, 0x46, 0xa0, 0x9, 0x9d, 0x47, 0x57, 0xe9, 0xfb, 0x17, 0xeb, 0x9c, 0xf6, 0xb8, 0x1d, 0xe9, 0xd, 0x0, 0xd5, 0xe5, 0xd8, 0x9e, 0x60, 0xa, 0xbf, 0x32, 0x2c, 0x52, 0x7f, 0x6a}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -495,7 +496,7 @@ func _1603816533_add_linksUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1603816533_add_links.up.sql", size: 48, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1603816533_add_links.up.sql", size: 48, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc9, 0x24, 0xd6, 0x1d, 0xa, 0x83, 0x1e, 0x4d, 0xf, 0xae, 0x4d, 0x8c, 0x51, 0x32, 0xa8, 0x37, 0xb0, 0x14, 0xfb, 0x32, 0x34, 0xc8, 0xc, 0x4e, 0x5b, 0xc5, 0x15, 0x65, 0x73, 0x0, 0x0, 0x1d}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -515,7 +516,7 @@ func _1603888149_create_chat_identity_last_published_tableUpSql() (*asset, error
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1603888149_create_chat_identity_last_published_table.up.sql", size: 407, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1603888149_create_chat_identity_last_published_table.up.sql", size: 407, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7f, 0x9, 0xf, 0xfb, 0xdb, 0x3c, 0x86, 0x70, 0x82, 0xda, 0x10, 0x25, 0xe2, 0x4e, 0x40, 0x45, 0xab, 0x8b, 0x1c, 0x91, 0x7c, 0xf1, 0x70, 0x2e, 0x81, 0xf3, 0x71, 0x45, 0xda, 0xe2, 0xa4, 0x57}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -535,7 +536,7 @@ func _1605075346_add_communitiesUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1605075346_add_communities.up.sql", size: 6971, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1605075346_add_communities.up.sql", size: 6971, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x1f, 0x64, 0xea, 0xb4, 0xae, 0x9e, 0xdb, 0x9, 0x58, 0xb6, 0x5c, 0x7a, 0x50, 0xc5, 0xfe, 0x93, 0x5d, 0x36, 0x85, 0x5d, 0x6a, 0xba, 0xc9, 0x7e, 0x84, 0xd7, 0xbf, 0x2a, 0x53, 0xf3, 0x97, 0xf1}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -555,7 +556,7 @@ func _1610117927_add_message_cacheUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1610117927_add_message_cache.up.sql", size: 142, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1610117927_add_message_cache.up.sql", size: 142, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x34, 0xf1, 0xf0, 0x82, 0x79, 0x28, 0x19, 0xc2, 0x39, 0x6a, 0xa5, 0x96, 0x59, 0x23, 0xa0, 0xed, 0x60, 0x58, 0x86, 0x9, 0xb9, 0xad, 0xfb, 0xa, 0xe3, 0x47, 0x6e, 0xa1, 0x18, 0xe8, 0x39, 0x2c}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -575,7 +576,7 @@ func _1610959908_add_dont_wrap_to_raw_messagesUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1610959908_add_dont_wrap_to_raw_messages.up.sql", size: 83, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1610959908_add_dont_wrap_to_raw_messages.up.sql", size: 83, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x71, 0x2, 0x9a, 0xca, 0xd4, 0x38, 0x44, 0x30, 0x2b, 0xa8, 0x27, 0x32, 0x63, 0x53, 0x22, 0x60, 0x59, 0x84, 0x23, 0x96, 0x77, 0xf0, 0x56, 0xd7, 0x94, 0xe0, 0x95, 0x28, 0x6, 0x1d, 0x4e, 0xb1}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -595,7 +596,7 @@ func _1610960912_add_send_on_personal_topicUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1610960912_add_send_on_personal_topic.up.sql", size: 82, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1610960912_add_send_on_personal_topic.up.sql", size: 82, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x77, 0xac, 0x2f, 0xc4, 0xd, 0xa7, 0x1b, 0x37, 0x30, 0xc2, 0x68, 0xee, 0xde, 0x54, 0x5e, 0xbf, 0x3f, 0xa0, 0xd6, 0xc6, 0x9f, 0xd4, 0x34, 0x12, 0x76, 0x1e, 0x66, 0x4a, 0xfc, 0xf, 0xee, 0xc9}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -615,7 +616,7 @@ func _1612870480_add_datasync_idUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1612870480_add_datasync_id.up.sql", size: 111, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1612870480_add_datasync_id.up.sql", size: 111, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x34, 0x9a, 0xbc, 0xfa, 0xaa, 0x8c, 0x9c, 0x37, 0x67, 0x15, 0x9c, 0x7e, 0x78, 0x75, 0x66, 0x82, 0x18, 0x72, 0x10, 0xbc, 0xd4, 0xab, 0x44, 0xfe, 0x57, 0x85, 0x6d, 0x19, 0xf5, 0x96, 0x8a, 0xbe}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -635,7 +636,7 @@ func _1614152139_add_communities_request_to_joinUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1614152139_add_communities_request_to_join.up.sql", size: 831, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1614152139_add_communities_request_to_join.up.sql", size: 831, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x11, 0x3, 0x26, 0xf9, 0x29, 0x50, 0x4f, 0xcd, 0x46, 0xe5, 0xb1, 0x6b, 0xb9, 0x2, 0x40, 0xb1, 0xdf, 0x4a, 0x4c, 0x7a, 0xda, 0x3, 0x35, 0xcd, 0x2d, 0xcc, 0x80, 0x7d, 0x57, 0x5f, 0x3, 0x5c}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -655,7 +656,7 @@ func _1615374373_add_confirmationsUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1615374373_add_confirmations.up.sql", size: 227, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1615374373_add_confirmations.up.sql", size: 227, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xdd, 0xa6, 0x65, 0xc5, 0x1d, 0xb2, 0x77, 0x36, 0xe3, 0x79, 0xda, 0xe8, 0x7a, 0xa4, 0xdf, 0x45, 0xae, 0xd8, 0xb4, 0xba, 0x90, 0xfd, 0x74, 0x71, 0x14, 0x75, 0x73, 0x72, 0xb9, 0x9e, 0x1, 0x81}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -675,7 +676,7 @@ func _1617694931_add_notification_centerUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1617694931_add_notification_center.up.sql", size: 572, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1617694931_add_notification_center.up.sql", size: 572, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x10, 0x45, 0xc6, 0xc9, 0x73, 0xbb, 0x1f, 0xda, 0xa3, 0x4d, 0x19, 0x98, 0x85, 0x2d, 0xca, 0xda, 0xcc, 0x3b, 0x32, 0xff, 0xc7, 0x7b, 0xe3, 0x9f, 0x9b, 0x2a, 0x93, 0xf5, 0xdf, 0x65, 0x38, 0x91}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -695,7 +696,7 @@ func _1618923660_create_pin_messagesUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1618923660_create_pin_messages.up.sql", size: 265, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1618923660_create_pin_messages.up.sql", size: 265, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x61, 0x44, 0x3a, 0xbe, 0x30, 0xd2, 0x7e, 0xc0, 0xe2, 0x8e, 0x65, 0x53, 0x54, 0xbb, 0x7a, 0x1c, 0xb3, 0x5d, 0xd2, 0xa6, 0xa9, 0x28, 0xb7, 0xa4, 0x5f, 0x8b, 0x9, 0x5f, 0x17, 0xc1, 0x85, 0x21}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -715,7 +716,7 @@ func _1619094007_add_joined_chat_fieldUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1619094007_add_joined_chat_field.up.sql", size: 101, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1619094007_add_joined_chat_field.up.sql", size: 101, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xfa, 0x30, 0x81, 0x3a, 0x2f, 0x9f, 0xb3, 0x0, 0x55, 0x8e, 0x1d, 0xa8, 0xb0, 0x68, 0xf0, 0x40, 0x1a, 0x6c, 0xaa, 0xfc, 0x33, 0xd1, 0xd1, 0x55, 0x3f, 0xf2, 0xbd, 0x54, 0xa1, 0x2b, 0x40, 0x95}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -735,7 +736,7 @@ func _1619099821_add_last_synced_fieldUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1619099821_add_last_synced_field.up.sql", size: 226, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1619099821_add_last_synced_field.up.sql", size: 226, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf, 0x52, 0x22, 0xe, 0x2f, 0xd7, 0x93, 0x5f, 0x42, 0xc2, 0x93, 0x4, 0x35, 0x6f, 0xc9, 0x19, 0xed, 0x6b, 0x52, 0x6f, 0xae, 0x99, 0xe2, 0x68, 0x3d, 0x4f, 0x40, 0xe, 0xe1, 0xa, 0x47, 0x21}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -755,7 +756,7 @@ func _1621933219_add_mentionedUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1621933219_add_mentioned.up.sql", size: 70, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1621933219_add_mentioned.up.sql", size: 70, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x36, 0x76, 0x8a, 0xc9, 0x7, 0x8f, 0xa5, 0xcb, 0x12, 0x21, 0x4e, 0xfe, 0x96, 0x77, 0xcf, 0x7f, 0x76, 0x75, 0x36, 0x2c, 0xf8, 0x1d, 0x13, 0xcb, 0xcd, 0x6e, 0x70, 0xbf, 0xf5, 0x93, 0x67, 0xd1}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -775,7 +776,7 @@ func _1622010048_add_unviewed_mentions_countUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1622010048_add_unviewed_mentions_count.up.sql", size: 114, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1622010048_add_unviewed_mentions_count.up.sql", size: 114, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7c, 0x16, 0x85, 0xa6, 0x5b, 0xe1, 0x66, 0xb9, 0x84, 0xbe, 0x7f, 0xa, 0x77, 0x23, 0xb9, 0xef, 0x8e, 0x2, 0x8, 0xfc, 0x61, 0xb2, 0x43, 0xa9, 0x63, 0xae, 0xb4, 0xdf, 0x30, 0xb1, 0x61, 0x4b}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -795,7 +796,7 @@ func _1622061278_add_message_activity_center_notification_fieldUpSql() (*asset,
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1622061278_add_message_activity_center_notification_field.up.sql", size: 80, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1622061278_add_message_activity_center_notification_field.up.sql", size: 80, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x8, 0xc, 0xa6, 0x1f, 0xa5, 0xc6, 0x7c, 0x6f, 0xab, 0x2c, 0x2d, 0xb5, 0xa4, 0xdd, 0xc1, 0xd6, 0x44, 0x83, 0xf9, 0xb1, 0xa5, 0xce, 0x34, 0x3d, 0x2, 0xa9, 0x35, 0xcf, 0xc6, 0xb2, 0x43, 0x37}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -815,7 +816,7 @@ func _1622464518_set_synced_to_fromUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1622464518_set_synced_to_from.up.sql", size: 105, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1622464518_set_synced_to_from.up.sql", size: 105, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x33, 0x3e, 0x2b, 0xa, 0x1e, 0xc7, 0x6d, 0x6f, 0xd1, 0x1d, 0xe8, 0x4b, 0xdd, 0x92, 0x76, 0xea, 0xf2, 0x3e, 0x15, 0x85, 0xc4, 0xc3, 0x31, 0xf1, 0xc0, 0xa2, 0xd7, 0x47, 0xde, 0x4e, 0xfd, 0xc6}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -835,7 +836,7 @@ func _1622464519_add_chat_descriptionUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1622464519_add_chat_description.up.sql", size: 93, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1622464519_add_chat_description.up.sql", size: 93, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x36, 0x2e, 0x89, 0x31, 0xec, 0xef, 0xeb, 0x43, 0xf5, 0x96, 0x6d, 0xce, 0x91, 0x8a, 0x37, 0x2a, 0x11, 0x7a, 0x3f, 0xd9, 0x10, 0xbb, 0xa1, 0xbc, 0x7, 0xe0, 0x3b, 0xa5, 0xf4, 0xa6, 0xf4, 0xa1}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -855,7 +856,7 @@ func _1622622253_add_pinned_by_to_pin_messagesUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1622622253_add_pinned_by_to_pin_messages.up.sql", size: 52, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1622622253_add_pinned_by_to_pin_messages.up.sql", size: 52, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x9b, 0x94, 0xa3, 0x45, 0x91, 0x1e, 0x66, 0xd1, 0x96, 0x5a, 0xaf, 0xfa, 0x29, 0x39, 0xa8, 0x3a, 0x97, 0x4c, 0x65, 0x6, 0x96, 0x90, 0x4c, 0xfe, 0xce, 0x7d, 0x5d, 0xd4, 0xb3, 0x8, 0x6d, 0x5f}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -875,7 +876,7 @@ func _1623938329_add_author_activity_center_notification_fieldUpSql() (*asset, e
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1623938329_add_author_activity_center_notification_field.up.sql", size: 66, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1623938329_add_author_activity_center_notification_field.up.sql", size: 66, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x36, 0xe6, 0xa7, 0xd5, 0x26, 0xff, 0xab, 0x92, 0x88, 0xf0, 0xd3, 0x34, 0xd9, 0x2f, 0xe7, 0x18, 0x1a, 0x40, 0xf9, 0xbe, 0x8e, 0xfc, 0xd0, 0x4f, 0x1f, 0x4a, 0xb9, 0x83, 0x3f, 0xa9, 0xde, 0xb}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -895,7 +896,7 @@ func _1623938330_add_edit_messagesUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1623938330_add_edit_messages.up.sql", size: 369, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1623938330_add_edit_messages.up.sql", size: 369, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7e, 0xd2, 0xce, 0xe, 0x5c, 0x19, 0xbe, 0x5e, 0x29, 0xbe, 0x9b, 0x31, 0x53, 0x76, 0xb2, 0xc8, 0x56, 0xf0, 0x82, 0xfe, 0x7d, 0x6c, 0xe8, 0x5c, 0xe9, 0x7a, 0x5d, 0x5, 0xc4, 0x92, 0x38, 0xe3}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -915,7 +916,7 @@ func _1624978434_add_muted_communityUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1624978434_add_muted_community.up.sql", size: 82, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1624978434_add_muted_community.up.sql", size: 82, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6, 0xdc, 0x6e, 0x6f, 0x97, 0xc7, 0x3d, 0x50, 0xab, 0x80, 0x87, 0x44, 0x43, 0x38, 0xe6, 0xc5, 0xc1, 0x91, 0x26, 0xf, 0x16, 0xe, 0xd9, 0x32, 0x37, 0x25, 0x96, 0x25, 0x6, 0xc8, 0xb5, 0x4a}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -935,7 +936,7 @@ func _1625018910_add_repply_message_activity_center_notification_fieldUpSql() (*
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1625018910_add_repply_message_activity_center_notification_field.up.sql", size: 86, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1625018910_add_repply_message_activity_center_notification_field.up.sql", size: 86, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf2, 0x52, 0x12, 0x40, 0xd8, 0x6f, 0x71, 0x97, 0x46, 0x39, 0xaa, 0x74, 0x41, 0xcd, 0x45, 0x4c, 0xe8, 0xd9, 0xe2, 0x56, 0x8e, 0x78, 0x18, 0x62, 0xf6, 0xa8, 0x36, 0xe9, 0x9a, 0x1f, 0xc, 0xb1}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -955,7 +956,7 @@ func _1625762506_add_deleted_messagesUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1625762506_add_deleted_messages.up.sql", size: 357, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1625762506_add_deleted_messages.up.sql", size: 357, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd5, 0x61, 0x42, 0xb6, 0x8c, 0x7f, 0x2d, 0xec, 0xa9, 0x6d, 0x3d, 0x0, 0xa3, 0x32, 0xd8, 0x4a, 0x38, 0x5c, 0x97, 0xfc, 0x68, 0xde, 0xa9, 0xb7, 0xd8, 0xde, 0xb, 0x29, 0x93, 0xdc, 0x81, 0xf8}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -975,7 +976,7 @@ func _1627388946_add_communities_synced_atUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1627388946_add_communities_synced_at.up.sql", size: 87, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1627388946_add_communities_synced_at.up.sql", size: 87, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc1, 0xbd, 0x9b, 0x6a, 0xc9, 0x1a, 0x7a, 0x34, 0xcf, 0x5f, 0x80, 0x9e, 0x8c, 0x1c, 0xc0, 0xec, 0x4e, 0x78, 0xb0, 0x2d, 0x15, 0x77, 0x38, 0x4a, 0x6a, 0x5, 0x84, 0xf5, 0x8d, 0x8b, 0xbe, 0x9}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -995,7 +996,7 @@ func _1628280060_createUsermessagesIndexSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1628280060_create-usermessages-index.sql", size: 80, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1628280060_create-usermessages-index.sql", size: 80, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x10, 0x6f, 0x70, 0x47, 0x40, 0xab, 0xa8, 0x60, 0xe0, 0xf9, 0x8, 0x7e, 0x19, 0x9d, 0xba, 0x33, 0x16, 0xfc, 0x3c, 0xdc, 0xa8, 0xa6, 0x53, 0x61, 0x39, 0x82, 0x91, 0xcf, 0x69, 0xd8, 0xf2, 0xcf}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -1015,7 +1016,7 @@ func _1632303896_modify_contacts_tableUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1632303896_modify_contacts_table.up.sql", size: 1574, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1632303896_modify_contacts_table.up.sql", size: 1574, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x81, 0x1e, 0x6c, 0x3c, 0xd, 0xd7, 0x7d, 0xbb, 0x19, 0xbc, 0xe4, 0x7, 0xfd, 0xf8, 0x66, 0x6d, 0x78, 0xf6, 0x4, 0xe6, 0x51, 0xe4, 0xe6, 0xdc, 0xe, 0x5a, 0x2e, 0xac, 0xe6, 0xe7, 0x24, 0x69}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -1035,7 +1036,7 @@ func _1633349838_add_emoji_column_in_chatsUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1633349838_add_emoji_column_in_chats.up.sql", size: 52, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1633349838_add_emoji_column_in_chats.up.sql", size: 52, mode: os.FileMode(0644), modTime: time.Unix(1654848338, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xcb, 0x33, 0xcb, 0x3b, 0xa9, 0x99, 0x77, 0x6a, 0xea, 0xc4, 0x39, 0xd7, 0xa1, 0x49, 0xa7, 0xdf, 0xff, 0x72, 0xda, 0x34, 0x21, 0x67, 0x66, 0xca, 0x65, 0x46, 0x1, 0xa6, 0x4e, 0xf9, 0x38, 0x86}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -1055,7 +1056,7 @@ func _1634831235_add_highlight_column_in_chatsUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1634831235_add_highlight_column_in_chats.up.sql", size: 62, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1634831235_add_highlight_column_in_chats.up.sql", size: 62, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xaa, 0x63, 0x5c, 0x73, 0x19, 0x83, 0xbd, 0x35, 0x80, 0x9f, 0x66, 0xec, 0x4c, 0xbc, 0x9d, 0x2d, 0x52, 0x91, 0x6d, 0xb3, 0x2b, 0x87, 0xde, 0x24, 0x46, 0x5c, 0xd, 0xfd, 0x78, 0xf5, 0xe3, 0xe9}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -1075,7 +1076,7 @@ func _1634896007_add_last_updated_locally_and_removedUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1634896007_add_last_updated_locally_and_removed.up.sql", size: 131, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1634896007_add_last_updated_locally_and_removed.up.sql", size: 131, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x2e, 0xa8, 0x34, 0xe2, 0xc0, 0x62, 0xc8, 0xd6, 0x5a, 0x87, 0xe3, 0x70, 0xe1, 0xc4, 0x16, 0x9c, 0x60, 0x2e, 0x98, 0xf0, 0x91, 0x84, 0xbe, 0xe0, 0xdf, 0x3e, 0x4d, 0x24, 0xc4, 0x6c, 0x40, 0x17}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -1095,7 +1096,7 @@ func _1635840039_add_clock_read_at_column_in_chatsUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1635840039_add_clock_read_at_column_in_chats.up.sql", size: 245, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1635840039_add_clock_read_at_column_in_chats.up.sql", size: 245, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6c, 0xba, 0x3f, 0xba, 0x1a, 0x71, 0xa8, 0x9, 0x19, 0xbe, 0x1e, 0x38, 0x50, 0x30, 0x3a, 0x52, 0x15, 0x29, 0xee, 0x49, 0x19, 0x6f, 0x53, 0xc2, 0xc6, 0x6c, 0xd9, 0x80, 0x7e, 0xb9, 0x58, 0x7a}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -1115,7 +1116,7 @@ func _1637852321_add_received_invitation_admin_column_in_chatsUpSql() (*asset, e
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1637852321_add_received_invitation_admin_column_in_chats.up.sql", size: 72, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1637852321_add_received_invitation_admin_column_in_chats.up.sql", size: 72, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x70, 0x8b, 0x92, 0x56, 0x83, 0x70, 0x7f, 0x6, 0xb2, 0xd, 0x1c, 0x2f, 0xcc, 0x93, 0xc3, 0x85, 0x8c, 0xc2, 0x38, 0x94, 0x7e, 0x88, 0x3f, 0x39, 0x34, 0xf8, 0x90, 0xcf, 0x83, 0x68, 0x3d, 0xe5}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -1135,7 +1136,7 @@ func _1645034601_display_nameUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1645034601_display_name.up.sql", size: 110, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1645034601_display_name.up.sql", size: 110, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x15, 0xfc, 0xda, 0x70, 0x53, 0x19, 0x90, 0x20, 0x4, 0x1c, 0x99, 0x42, 0x53, 0x1a, 0xd6, 0xb8, 0xbb, 0x8a, 0xe8, 0xbe, 0xcc, 0xb7, 0xc, 0x7f, 0x73, 0x50, 0x18, 0xf1, 0x8b, 0x18, 0x54, 0x64}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -1155,7 +1156,7 @@ func _1645034602_add_mutual_contact_requestUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1645034602_add_mutual_contact_request.up.sql", size: 454, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1645034602_add_mutual_contact_request.up.sql", size: 454, mode: os.FileMode(0644), modTime: time.Unix(1664364467, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x1a, 0xe0, 0x5d, 0x68, 0xb8, 0x50, 0xa4, 0xbb, 0x3e, 0x4f, 0x2, 0x87, 0xad, 0x87, 0x6e, 0x38, 0xdf, 0xc8, 0x4c, 0xe2, 0x5f, 0xd1, 0x6, 0xdc, 0xe7, 0xbd, 0x4a, 0x9c, 0xf3, 0x91, 0xa1, 0x51}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -1175,7 +1176,7 @@ func _1650373957_add_contact_request_stateUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1650373957_add_contact_request_state.up.sql", size: 59, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1650373957_add_contact_request_state.up.sql", size: 59, mode: os.FileMode(0644), modTime: time.Unix(1664364467, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x5e, 0xc1, 0x3f, 0x29, 0xe, 0x19, 0x86, 0x1a, 0x4c, 0x6c, 0x2a, 0x90, 0x9d, 0xdf, 0xb1, 0xb, 0x72, 0x25, 0xcd, 0x6c, 0x5f, 0xd, 0x51, 0x9e, 0x85, 0xc0, 0x9, 0xb7, 0xbc, 0x87, 0x23, 0xec}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -1195,7 +1196,7 @@ func _1656958989_contact_verificationUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1656958989_contact_verification.up.sql", size: 624, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1656958989_contact_verification.up.sql", size: 624, mode: os.FileMode(0644), modTime: time.Unix(1664364467, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3a, 0x3f, 0x28, 0x38, 0x33, 0xdb, 0xe9, 0x4d, 0xc0, 0x54, 0x8c, 0x2a, 0x73, 0xc4, 0xdd, 0x5c, 0xc5, 0x1a, 0x93, 0x4b, 0x6, 0x13, 0xbe, 0x42, 0xd2, 0x7f, 0xd4, 0xc, 0xc5, 0x4e, 0x6d, 0xce}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -1215,7 +1216,7 @@ func _1658236268_add_discord_message_authors_tableUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1658236268_add_discord_message_authors_table.up.sql", size: 191, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1658236268_add_discord_message_authors_table.up.sql", size: 191, mode: os.FileMode(0644), modTime: time.Unix(1664364467, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3d, 0xb7, 0xdb, 0x79, 0x1, 0x15, 0xe7, 0x76, 0x5d, 0x22, 0x54, 0x82, 0x9a, 0xbe, 0x24, 0xc1, 0x82, 0xcf, 0x67, 0x91, 0x53, 0xcc, 0xac, 0x74, 0x18, 0x61, 0x69, 0x68, 0x19, 0xca, 0x2b, 0xa8}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -1235,7 +1236,7 @@ func _1659619997_add_discord_messages_tableUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1659619997_add_discord_messages_table.up.sql", size: 371, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1659619997_add_discord_messages_table.up.sql", size: 371, mode: os.FileMode(0644), modTime: time.Unix(1664364467, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xde, 0x12, 0x9c, 0x96, 0xe2, 0x42, 0x3f, 0x94, 0x62, 0xc2, 0x76, 0xab, 0x3b, 0x4c, 0x85, 0x36, 0x48, 0xcc, 0x73, 0x60, 0x93, 0x5a, 0xd6, 0x7, 0xd6, 0x0, 0xee, 0x1b, 0x1e, 0x34, 0x58, 0x99}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -1255,7 +1256,7 @@ func _1660226788_create_chat_identity_social_linksUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1660226788_create_chat_identity_social_links.up.sql", size: 318, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1660226788_create_chat_identity_social_links.up.sql", size: 318, mode: os.FileMode(0644), modTime: time.Unix(1664364467, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3c, 0x76, 0x40, 0xe9, 0x85, 0xc4, 0x38, 0xf8, 0xe5, 0x5d, 0xe8, 0x13, 0x46, 0x1b, 0xc, 0x1, 0xe9, 0x2f, 0x74, 0xd1, 0x79, 0x59, 0xa4, 0xdb, 0x4a, 0x4a, 0xf4, 0x98, 0x58, 0x3c, 0x57, 0xd3}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -1275,7 +1276,7 @@ func _1660226789_add_walletconnectsessions_tableUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1660226789_add_walletconnectsessions_table.up.sql", size: 215, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1660226789_add_walletconnectsessions_table.up.sql", size: 215, mode: os.FileMode(0644), modTime: time.Unix(1664364467, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf8, 0x5c, 0x72, 0x2, 0xed, 0x36, 0x19, 0x91, 0x4d, 0x1a, 0xc1, 0xab, 0x84, 0xfa, 0x41, 0xb1, 0x46, 0xa5, 0xdb, 0x3f, 0x76, 0x47, 0xd3, 0x75, 0x3c, 0x6a, 0x8e, 0x78, 0xe6, 0x41, 0xdc, 0x7f}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -1295,7 +1296,7 @@ func _1661242854_add_communities_requests_to_leaveUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1661242854_add_communities_requests_to_leave.up.sql", size: 204, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1661242854_add_communities_requests_to_leave.up.sql", size: 204, mode: os.FileMode(0644), modTime: time.Unix(1666081963, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x49, 0x2e, 0x7d, 0x14, 0xef, 0x6e, 0x95, 0x4b, 0x6, 0x70, 0x2e, 0xd1, 0xf6, 0x59, 0xf9, 0xe, 0x56, 0xa, 0x9c, 0x80, 0x18, 0xca, 0xb9, 0x49, 0x19, 0xf, 0x89, 0x94, 0x36, 0x6d, 0x93, 0x9a}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -1315,7 +1316,7 @@ func _1662044232_add_chat_imageUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1662044232_add_chat_image.up.sql", size: 49, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1662044232_add_chat_image.up.sql", size: 49, mode: os.FileMode(0644), modTime: time.Unix(1666081963, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb3, 0x74, 0xdf, 0x50, 0x79, 0x73, 0x9e, 0xd0, 0xff, 0xa4, 0xd3, 0x87, 0xc3, 0x48, 0x31, 0x6c, 0xdf, 0xa6, 0x20, 0x85, 0xe6, 0x4e, 0x19, 0x9d, 0xef, 0xcc, 0x84, 0x2b, 0x5d, 0x44, 0x34, 0x6}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -1335,7 +1336,7 @@ func _1662106895_add_chat_first_message_timestampUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1662106895_add_chat_first_message_timestamp.up.sql", size: 113, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1662106895_add_chat_first_message_timestamp.up.sql", size: 113, mode: os.FileMode(0644), modTime: time.Unix(1668711465, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x8b, 0x55, 0x74, 0xfa, 0xf5, 0x51, 0x85, 0x19, 0xfd, 0xfb, 0x6, 0x79, 0x4d, 0x1d, 0xd, 0x3, 0x46, 0x66, 0x34, 0x1e, 0xce, 0x91, 0x21, 0x29, 0xf6, 0x71, 0xe7, 0x31, 0x39, 0x8f, 0x9d, 0x5}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -1355,7 +1356,7 @@ func _1662723928_add_discord_author_image_fieldsUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1662723928_add_discord_author_image_fields.up.sql", size: 75, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1662723928_add_discord_author_image_fields.up.sql", size: 75, mode: os.FileMode(0644), modTime: time.Unix(1668711465, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x1e, 0x5b, 0x48, 0x57, 0x98, 0x55, 0x9a, 0xf1, 0x75, 0xf7, 0xb5, 0x41, 0x5e, 0x96, 0xc5, 0xce, 0xfc, 0x30, 0x5c, 0x15, 0x35, 0x9e, 0x4e, 0x4a, 0x3b, 0x38, 0x42, 0xc4, 0x27, 0x3c, 0x87, 0xbf}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -1375,7 +1376,7 @@ func _1664195977_add_deleted_for_mesUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1664195977_add_deleted_for_mes.up.sql", size: 352, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1664195977_add_deleted_for_mes.up.sql", size: 352, mode: os.FileMode(0644), modTime: time.Unix(1668711465, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7d, 0x9d, 0x13, 0x9, 0xaa, 0x44, 0x14, 0x93, 0xe2, 0xf5, 0x53, 0xb7, 0x79, 0xa8, 0x18, 0xf0, 0x6c, 0xa4, 0x9c, 0x73, 0xc1, 0xaa, 0xc5, 0x2e, 0xc5, 0x41, 0xd7, 0x24, 0xb0, 0xd7, 0xb8, 0xdf}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -1395,7 +1396,7 @@ func _1664367420_add_discord_attachments_tableUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1664367420_add_discord_attachments_table.up.sql", size: 350, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1664367420_add_discord_attachments_table.up.sql", size: 350, mode: os.FileMode(0644), modTime: time.Unix(1668711465, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x48, 0xe1, 0xb6, 0x4f, 0x6f, 0x92, 0x0, 0xb4, 0xf, 0x55, 0x12, 0x1c, 0x98, 0x6d, 0xbc, 0x1e, 0xfd, 0xae, 0x1c, 0xce, 0xd1, 0x3d, 0x2, 0x21, 0x2e, 0xc0, 0x13, 0xa, 0xb2, 0xec, 0x81, 0x13}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -1415,7 +1416,7 @@ func _1665079662_add_spectated_column_in_communitiesUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1665079662_add_spectated_column_in_communities.up.sql", size: 86, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1665079662_add_spectated_column_in_communities.up.sql", size: 86, mode: os.FileMode(0644), modTime: time.Unix(1668711465, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa0, 0x5d, 0xfe, 0xe2, 0xbe, 0xdf, 0xba, 0x45, 0xe9, 0xfc, 0xa7, 0x5f, 0xda, 0x19, 0xdb, 0x40, 0x96, 0x59, 0x78, 0xa, 0xd7, 0x4a, 0xca, 0x1a, 0x93, 0xfb, 0xae, 0x6d, 0x74, 0x7, 0x36, 0xdd}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -1435,7 +1436,7 @@ func _1665479047_add_community_id_in_notificationsUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1665479047_add_community_id_in_notifications.up.sql", size: 169, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1665479047_add_community_id_in_notifications.up.sql", size: 169, mode: os.FileMode(0644), modTime: time.Unix(1669031482, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd9, 0x8f, 0x8b, 0x1c, 0xaa, 0x6a, 0x56, 0xd6, 0xa5, 0x88, 0x57, 0x13, 0x8f, 0xea, 0xb9, 0x23, 0x82, 0x50, 0xb7, 0x65, 0x1f, 0xab, 0xfa, 0x23, 0x6f, 0x0, 0x7, 0xb6, 0x6e, 0xb5, 0x85, 0x44}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -1455,7 +1456,7 @@ func _1665484435_add_encrypted_messagesUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1665484435_add_encrypted_messages.up.sql", size: 402, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1665484435_add_encrypted_messages.up.sql", size: 402, mode: os.FileMode(0644), modTime: time.Unix(1668711465, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x8f, 0x5c, 0x1e, 0x1c, 0x7f, 0xae, 0x5f, 0xeb, 0x3c, 0x6c, 0xcd, 0xc2, 0x99, 0x48, 0x5c, 0x83, 0xa0, 0xa2, 0x97, 0x5, 0x39, 0x82, 0x71, 0x90, 0x47, 0x21, 0x84, 0x29, 0x19, 0xa4, 0x7a, 0x90}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -1475,7 +1476,7 @@ func _1665560200_add_contact_verification_individualUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1665560200_add_contact_verification_individual.up.sql", size: 509, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1665560200_add_contact_verification_individual.up.sql", size: 509, mode: os.FileMode(0644), modTime: time.Unix(1669031482, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc5, 0xbb, 0x61, 0xfd, 0xbf, 0x33, 0x1d, 0x4e, 0x5f, 0xbd, 0x86, 0x42, 0xb0, 0x6c, 0xf7, 0x39, 0x19, 0x6e, 0x72, 0x35, 0xfd, 0x1b, 0xd6, 0xbd, 0xf6, 0x81, 0x21, 0xc4, 0xaa, 0x6, 0x62, 0x40}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -1495,7 +1496,7 @@ func _1670921937_add_album_idUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1670921937_add_album_id.up.sql", size: 55, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1670921937_add_album_id.up.sql", size: 55, mode: os.FileMode(0644), modTime: time.Unix(1673008084, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7e, 0xae, 0x83, 0x58, 0xb7, 0x77, 0x5, 0xca, 0xe3, 0xda, 0x32, 0x8f, 0x7b, 0xa4, 0x2f, 0x4c, 0xaf, 0x5f, 0xfa, 0x94, 0x36, 0xe4, 0xf9, 0x7, 0xc6, 0xd6, 0xb7, 0x90, 0xf3, 0xe5, 0xb5, 0x3}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -1515,7 +1516,7 @@ func _1673373000_add_repliedUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1673373000_add_replied.up.sql", size: 67, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1673373000_add_replied.up.sql", size: 67, mode: os.FileMode(0644), modTime: time.Unix(1673450916, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd5, 0x1c, 0xae, 0xf2, 0xf, 0xb4, 0xc2, 0xba, 0x3c, 0xfe, 0x7b, 0xb0, 0xf, 0xf, 0xd5, 0xbc, 0xe2, 0xa7, 0xad, 0x50, 0xd9, 0x5a, 0xe8, 0x96, 0x22, 0x65, 0x89, 0xcf, 0x4a, 0x9a, 0x1b, 0x94}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -1535,11 +1536,31 @@ func _1673428910_add_image_width_heightUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1673428910_add_image_width_height.up.sql", size: 117, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1673428910_add_image_width_height.up.sql", size: 117, mode: os.FileMode(0644), modTime: time.Unix(1673602424, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x74, 0xda, 0x93, 0x2a, 0x9b, 0x6b, 0xb7, 0x96, 0xcd, 0xac, 0xf, 0xaf, 0x54, 0x89, 0x9e, 0x91, 0x5b, 0xd0, 0x4a, 0xa, 0x8d, 0x9e, 0x80, 0x66, 0x26, 0x9e, 0xb5, 0xa9, 0x8, 0xec, 0x2d, 0x6c}}
|
||||
return a, nil
|
||||
}
|
||||
|
||||
var __1674210659_add_contact_request_local_clockUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x90\xc1\x8a\xc2\x30\x14\x45\xf7\xf9\x8a\xfb\x0d\x33\xcb\xa1\x8b\x4c\x13\xa8\x50\xa3\xd8\x14\x97\x21\x24\x01\xc1\x68\xb4\x79\x5d\xf8\xf7\x42\x4b\xa1\x2a\x42\x05\xb7\x37\xb9\xe7\xbd\xf3\x18\xaf\xb5\xdc\x41\xf3\xff\x5a\xc2\xa5\x33\x59\x47\x19\x5c\x08\x94\x9b\xba\x5d\xab\x29\x33\x5d\xb8\xf6\x21\x93\x89\xc9\xd9\x68\x5c\x4c\xee\x88\x95\xd2\x7f\x1f\x03\xba\x70\x4a\x14\xbe\x40\xc8\x64\x29\x8c\x04\xd6\x6e\x05\xd7\xb3\x76\x23\xf5\x4b\x6d\xfc\x5f\xa0\xe4\x8d\x64\x00\xb0\xaf\xa4\x82\xf5\x3e\x78\xe8\x4a\xaa\x21\xc3\xdb\xda\x0f\x03\xa4\x12\x0b\x87\xcd\xcf\x54\x20\xda\x4c\xa6\xbf\x78\x4b\xc1\x8f\x4f\xf1\xb6\x10\xf4\x20\xfb\xbc\xfc\xc1\x66\x33\x08\x98\x3e\x2f\x71\xf8\x9d\x1c\xee\x01\x00\x00\xff\xff\xba\x98\x7c\x15\xf7\x01\x00\x00")
|
||||
|
||||
func _1674210659_add_contact_request_local_clockUpSqlBytes() ([]byte, error) {
|
||||
return bindataRead(
|
||||
__1674210659_add_contact_request_local_clockUpSql,
|
||||
"1674210659_add_contact_request_local_clock.up.sql",
|
||||
)
|
||||
}
|
||||
|
||||
func _1674210659_add_contact_request_local_clockUpSql() (*asset, error) {
|
||||
bytes, err := _1674210659_add_contact_request_local_clockUpSqlBytes()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1674210659_add_contact_request_local_clock.up.sql", size: 503, mode: os.FileMode(0644), modTime: time.Unix(1674812330, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xda, 0x2a, 0x55, 0x85, 0x36, 0x85, 0x1c, 0xcb, 0x9c, 0x36, 0xbf, 0xd0, 0x88, 0x32, 0x2d, 0xb7, 0x10, 0x10, 0x1b, 0xf2, 0xca, 0xf0, 0x16, 0x6f, 0x95, 0xcf, 0xb2, 0x1e, 0x5, 0xd3, 0xc, 0x1b}}
|
||||
return a, nil
|
||||
}
|
||||
|
||||
var _readmeMd = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x54\x91\xc1\xce\xd3\x30\x10\x84\xef\x7e\x8a\x91\x7a\x01\xa9\x2a\x8f\xc0\x0d\x71\x82\x03\x48\x1c\xc9\x36\x9e\x36\x96\x1c\x6f\xf0\xae\x93\xe6\xed\x91\xa3\xc2\xdf\xff\x66\xed\xd8\x33\xdf\x78\x4f\xa7\x13\xbe\xea\x06\x57\x6c\x35\x39\x31\xa7\x7b\x15\x4f\x5a\xec\x73\x08\xbf\x08\x2d\x79\x7f\x4a\x43\x5b\x86\x17\xfd\x8c\x21\xea\x56\x5e\x47\x90\x4a\x14\x75\x48\xde\x64\x37\x2c\x6a\x96\xae\x99\x48\x05\xf6\x27\x77\x13\xad\x08\xae\x8a\x51\xe7\x25\xf3\xf1\xa9\x9f\xf9\x58\x58\x2c\xad\xbc\xe0\x8b\x56\xf0\x21\x5d\xeb\x4c\x95\xb3\xae\x84\x60\xd4\xdc\xe6\x82\x5d\x1b\x36\x6d\x39\x62\x92\xf5\xb8\x11\xdb\x92\xd3\x28\xce\xe0\x13\xe1\x72\xcd\x3c\x63\xd4\x65\x87\xae\xac\xe8\xc3\x28\x2e\x67\x44\x66\x3a\x21\x25\xa2\x72\xac\x14\x67\xbc\x84\x9f\x53\x32\x8c\x52\x70\x25\x56\xd6\xfd\x8d\x05\x37\xad\x30\x9d\x9f\xa6\x86\x0f\xcd\x58\x7f\xcf\x34\x93\x3b\xed\x90\x9f\xa4\x1f\xcf\x30\x85\x4d\x07\x58\xaf\x7f\x25\xc4\x9d\xf3\x72\x64\x84\xd0\x7f\xf9\x9b\x3a\x2d\x84\xef\x85\x48\x66\x8d\xd8\x88\x9b\x8c\x8c\x98\x5b\xf6\x74\x14\x4e\x33\x0d\xc9\xe0\x93\x38\xda\x12\xc5\x69\xbd\xe4\xf0\x2e\x7a\x78\x07\x1c\xfe\x13\x9f\x91\x29\x31\x95\x7b\x7f\x62\x59\x37\xb4\xe5\x5e\x25\xfe\x33\xee\xd5\x53\x71\xd6\xda\x3a\xd8\xcb\xde\x2e\xf8\xa1\x90\x55\x53\x0c\xc7\xaa\x0d\xe9\x76\x14\x29\x1c\x7b\x68\xdd\x2f\xe1\x6f\x00\x00\x00\xff\xff\x3c\x0a\xc2\xfe\x2a\x02\x00\x00")
|
||||
|
||||
func readmeMdBytes() ([]byte, error) {
|
||||
|
@ -1555,7 +1576,7 @@ func readmeMd() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "README.md", size: 554, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "README.md", size: 554, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x1c, 0x6e, 0xfb, 0xcc, 0x81, 0x94, 0x4d, 0x8c, 0xa0, 0x3b, 0x5, 0xb0, 0x18, 0xd6, 0xbb, 0xb3, 0x79, 0xc8, 0x8f, 0xff, 0xc1, 0x10, 0xf9, 0xf, 0x20, 0x1b, 0x4a, 0x74, 0x96, 0x42, 0xd7, 0xa8}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -1575,7 +1596,7 @@ func docGo() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "doc.go", size: 850, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "doc.go", size: 850, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa0, 0xcc, 0x41, 0xe1, 0x61, 0x12, 0x97, 0xe, 0x36, 0x8c, 0xa7, 0x9e, 0xe0, 0x6e, 0x59, 0x9e, 0xee, 0xd5, 0x4a, 0xcf, 0x1e, 0x60, 0xd6, 0xc3, 0x3a, 0xc9, 0x6c, 0xf2, 0x86, 0x5a, 0xb4, 0x1e}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -1811,6 +1832,8 @@ var _bindata = map[string]func() (*asset, error){
|
|||
|
||||
"1673428910_add_image_width_height.up.sql": _1673428910_add_image_width_heightUpSql,
|
||||
|
||||
"1674210659_add_contact_request_local_clock.up.sql": _1674210659_add_contact_request_local_clockUpSql,
|
||||
|
||||
"README.md": readmeMd,
|
||||
|
||||
"doc.go": docGo,
|
||||
|
@ -1927,6 +1950,7 @@ var _bintree = &bintree{nil, map[string]*bintree{
|
|||
"1670921937_add_album_id.up.sql": &bintree{_1670921937_add_album_idUpSql, map[string]*bintree{}},
|
||||
"1673373000_add_replied.up.sql": &bintree{_1673373000_add_repliedUpSql, map[string]*bintree{}},
|
||||
"1673428910_add_image_width_height.up.sql": &bintree{_1673428910_add_image_width_heightUpSql, map[string]*bintree{}},
|
||||
"1674210659_add_contact_request_local_clock.up.sql": &bintree{_1674210659_add_contact_request_local_clockUpSql, map[string]*bintree{}},
|
||||
"README.md": &bintree{readmeMd, map[string]*bintree{}},
|
||||
"doc.go": &bintree{docGo, map[string]*bintree{}},
|
||||
}}
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
|
||||
ALTER TABLE contacts ADD COLUMN contact_request_local_clock INT;
|
||||
ALTER TABLE contacts ADD COLUMN contact_request_remote_clock INT;
|
||||
ALTER TABLE contacts ADD COLUMN contact_request_remote_state INT;
|
||||
|
||||
UPDATE contacts SET contact_request_state = CASE
|
||||
WHEN added THEN
|
||||
contact_request_state = 2
|
||||
END;
|
||||
|
||||
UPDATE contacts SET contact_request_local_clock = last_updated_locally;
|
||||
|
||||
UPDATE contacts SET contact_request_remote_state = CASE
|
||||
WHEN has_added_us THEN
|
||||
contact_request_state = 3
|
||||
END;
|
|
@ -536,13 +536,13 @@ func (db sqlitePersistence) Contacts() ([]*Contact, error) {
|
|||
c.identicon,
|
||||
c.last_updated,
|
||||
c.last_updated_locally,
|
||||
c.added,
|
||||
c.blocked,
|
||||
c.removed,
|
||||
c.has_added_us,
|
||||
c.local_nickname,
|
||||
c.contact_request_state,
|
||||
c.contact_request_clock,
|
||||
c.contact_request_local_clock,
|
||||
c.contact_request_remote_state,
|
||||
c.contact_request_remote_clock,
|
||||
i.image_type,
|
||||
i.payload,
|
||||
i.clock_value,
|
||||
|
@ -561,21 +561,21 @@ func (db sqlitePersistence) Contacts() ([]*Contact, error) {
|
|||
for rows.Next() {
|
||||
|
||||
var (
|
||||
contact Contact
|
||||
nickname sql.NullString
|
||||
contactRequestState sql.NullInt64
|
||||
contactRequestClock sql.NullInt64
|
||||
displayName sql.NullString
|
||||
imageType sql.NullString
|
||||
ensName sql.NullString
|
||||
ensVerified sql.NullBool
|
||||
added sql.NullBool
|
||||
blocked sql.NullBool
|
||||
removed sql.NullBool
|
||||
hasAddedUs sql.NullBool
|
||||
lastUpdatedLocally sql.NullInt64
|
||||
identityImageClock sql.NullInt64
|
||||
imagePayload []byte
|
||||
contact Contact
|
||||
nickname sql.NullString
|
||||
contactRequestLocalState sql.NullInt64
|
||||
contactRequestLocalClock sql.NullInt64
|
||||
contactRequestRemoteState sql.NullInt64
|
||||
contactRequestRemoteClock sql.NullInt64
|
||||
displayName sql.NullString
|
||||
imageType sql.NullString
|
||||
ensName sql.NullString
|
||||
ensVerified sql.NullBool
|
||||
blocked sql.NullBool
|
||||
removed sql.NullBool
|
||||
lastUpdatedLocally sql.NullInt64
|
||||
identityImageClock sql.NullInt64
|
||||
imagePayload []byte
|
||||
)
|
||||
|
||||
contact.Images = make(map[string]images.IdentityImage)
|
||||
|
@ -590,13 +590,13 @@ func (db sqlitePersistence) Contacts() ([]*Contact, error) {
|
|||
&contact.Identicon,
|
||||
&contact.LastUpdated,
|
||||
&lastUpdatedLocally,
|
||||
&added,
|
||||
&blocked,
|
||||
&removed,
|
||||
&hasAddedUs,
|
||||
&nickname,
|
||||
&contactRequestState,
|
||||
&contactRequestClock,
|
||||
&contactRequestLocalState,
|
||||
&contactRequestLocalClock,
|
||||
&contactRequestRemoteState,
|
||||
&contactRequestRemoteClock,
|
||||
&imageType,
|
||||
&imagePayload,
|
||||
&identityImageClock,
|
||||
|
@ -611,12 +611,20 @@ func (db sqlitePersistence) Contacts() ([]*Contact, error) {
|
|||
contact.LocalNickname = nickname.String
|
||||
}
|
||||
|
||||
if contactRequestState.Valid {
|
||||
contact.ContactRequestState = ContactRequestState(contactRequestState.Int64)
|
||||
if contactRequestLocalState.Valid {
|
||||
contact.ContactRequestLocalState = ContactRequestState(contactRequestLocalState.Int64)
|
||||
}
|
||||
|
||||
if contactRequestClock.Valid {
|
||||
contact.ContactRequestClock = uint64(contactRequestClock.Int64)
|
||||
if contactRequestLocalClock.Valid {
|
||||
contact.ContactRequestLocalClock = uint64(contactRequestLocalClock.Int64)
|
||||
}
|
||||
|
||||
if contactRequestRemoteState.Valid {
|
||||
contact.ContactRequestRemoteState = ContactRequestState(contactRequestRemoteState.Int64)
|
||||
}
|
||||
|
||||
if contactRequestRemoteClock.Valid {
|
||||
contact.ContactRequestRemoteClock = uint64(contactRequestRemoteClock.Int64)
|
||||
}
|
||||
|
||||
if displayName.Valid {
|
||||
|
@ -631,10 +639,6 @@ func (db sqlitePersistence) Contacts() ([]*Contact, error) {
|
|||
contact.ENSVerified = ensVerified.Bool
|
||||
}
|
||||
|
||||
if added.Valid {
|
||||
contact.Added = added.Bool
|
||||
}
|
||||
|
||||
if blocked.Valid {
|
||||
contact.Blocked = blocked.Bool
|
||||
}
|
||||
|
@ -647,10 +651,6 @@ func (db sqlitePersistence) Contacts() ([]*Contact, error) {
|
|||
contact.LastUpdatedLocally = uint64(lastUpdatedLocally.Int64)
|
||||
}
|
||||
|
||||
if hasAddedUs.Valid {
|
||||
contact.HasAddedUs = hasAddedUs.Bool
|
||||
}
|
||||
|
||||
previousContact, ok := allContacts[contact.ID]
|
||||
if !ok {
|
||||
if imageType.Valid {
|
||||
|
@ -876,12 +876,12 @@ func (db sqlitePersistence) SaveContact(contact *Contact, tx *sql.Tx) (err error
|
|||
last_updated_locally,
|
||||
local_nickname,
|
||||
contact_request_state,
|
||||
contact_request_clock,
|
||||
added,
|
||||
contact_request_local_clock,
|
||||
contact_request_remote_state,
|
||||
contact_request_remote_clock,
|
||||
blocked,
|
||||
removed,
|
||||
verification_status,
|
||||
has_added_us,
|
||||
name,
|
||||
photo,
|
||||
tribute_to_talk
|
||||
|
@ -901,13 +901,13 @@ func (db sqlitePersistence) SaveContact(contact *Contact, tx *sql.Tx) (err error
|
|||
contact.LastUpdated,
|
||||
contact.LastUpdatedLocally,
|
||||
contact.LocalNickname,
|
||||
contact.ContactRequestState,
|
||||
contact.ContactRequestClock,
|
||||
contact.Added,
|
||||
contact.ContactRequestLocalState,
|
||||
contact.ContactRequestLocalClock,
|
||||
contact.ContactRequestRemoteState,
|
||||
contact.ContactRequestRemoteClock,
|
||||
contact.Blocked,
|
||||
contact.Removed,
|
||||
contact.VerificationStatus,
|
||||
contact.HasAddedUs,
|
||||
//TODO we need to drop these columns
|
||||
"",
|
||||
"",
|
||||
|
|
|
@ -825,7 +825,6 @@ type ChatMessage struct {
|
|||
// The type of the content of the message
|
||||
ContentType ChatMessage_ContentType `protobuf:"varint,8,opt,name=content_type,json=contentType,proto3,enum=protobuf.ChatMessage_ContentType" json:"content_type,omitempty"`
|
||||
// Types that are valid to be assigned to Payload:
|
||||
//
|
||||
// *ChatMessage_Sticker
|
||||
// *ChatMessage_Image
|
||||
// *ChatMessage_Audio
|
||||
|
|
|
@ -25,6 +25,7 @@ type ContactUpdate struct {
|
|||
EnsName string `protobuf:"bytes,2,opt,name=ens_name,json=ensName,proto3" json:"ens_name,omitempty"`
|
||||
ProfileImage string `protobuf:"bytes,3,opt,name=profile_image,json=profileImage,proto3" json:"profile_image,omitempty"`
|
||||
DisplayName string `protobuf:"bytes,4,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
|
||||
ContactRequestClock uint64 `protobuf:"varint,5,opt,name=contact_request_clock,json=contactRequestClock,proto3" json:"contact_request_clock,omitempty"`
|
||||
SentContactRequestSignature *ContactRequestSignature `protobuf:"bytes,14,opt,name=sent_contact_request_signature,json=sentContactRequestSignature,proto3" json:"sent_contact_request_signature,omitempty"`
|
||||
ReceivedContactRequestSignature *ContactRequestSignature `protobuf:"bytes,15,opt,name=received_contact_request_signature,json=receivedContactRequestSignature,proto3" json:"received_contact_request_signature,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
|
@ -85,6 +86,13 @@ func (m *ContactUpdate) GetDisplayName() string {
|
|||
return ""
|
||||
}
|
||||
|
||||
func (m *ContactUpdate) GetContactRequestClock() uint64 {
|
||||
if m != nil {
|
||||
return m.ContactRequestClock
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (m *ContactUpdate) GetSentContactRequestSignature() *ContactRequestSignature {
|
||||
if m != nil {
|
||||
return m.SentContactRequestSignature
|
||||
|
@ -204,24 +212,25 @@ func init() {
|
|||
}
|
||||
|
||||
var fileDescriptor_a5036fff2565fb15 = []byte{
|
||||
// 294 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x50, 0x41, 0x4b, 0xf4, 0x30,
|
||||
0x14, 0xa4, 0xfd, 0xf6, 0xd3, 0xdd, 0xb7, 0xdb, 0x15, 0xc2, 0x0a, 0x55, 0x41, 0xbb, 0xf5, 0xd2,
|
||||
0x53, 0x05, 0x3d, 0xaa, 0x07, 0xf5, 0xe4, 0xc5, 0x43, 0xc4, 0x8b, 0x97, 0x90, 0x4d, 0x5f, 0x6b,
|
||||
0xb0, 0x4d, 0x6b, 0x92, 0x0a, 0xfe, 0x5b, 0x7f, 0x8a, 0x6c, 0xda, 0xa2, 0x08, 0x2b, 0xe2, 0x29,
|
||||
0xc9, 0xcc, 0x64, 0xde, 0xbc, 0x81, 0x40, 0xd4, 0xca, 0x72, 0x61, 0xd3, 0x46, 0xd7, 0xb6, 0x26,
|
||||
0x63, 0x77, 0xac, 0xda, 0x7c, 0x9f, 0x88, 0x27, 0x6e, 0x59, 0x85, 0xc6, 0xf0, 0x02, 0x3b, 0x36,
|
||||
0x7e, 0xf7, 0x21, 0xb8, 0xe9, 0xf4, 0x0f, 0x4d, 0xc6, 0x2d, 0x92, 0x05, 0xfc, 0x17, 0x65, 0x2d,
|
||||
0x9e, 0x43, 0x2f, 0xf2, 0x92, 0x11, 0xed, 0x1e, 0x64, 0x0f, 0xc6, 0xa8, 0x0c, 0x53, 0xbc, 0xc2,
|
||||
0xd0, 0x8f, 0xbc, 0x64, 0x42, 0xb7, 0x51, 0x99, 0x3b, 0x5e, 0x21, 0x39, 0x86, 0xa0, 0xd1, 0x75,
|
||||
0x2e, 0x4b, 0x64, 0xb2, 0xe2, 0x05, 0x86, 0xff, 0x1c, 0x3f, 0xeb, 0xc1, 0xdb, 0x35, 0x46, 0x96,
|
||||
0x30, 0xcb, 0xa4, 0x69, 0x4a, 0xfe, 0xd6, 0x79, 0x8c, 0x9c, 0x66, 0xda, 0x63, 0xce, 0x27, 0x87,
|
||||
0x43, 0x83, 0xca, 0xb2, 0x3e, 0x3e, 0xd3, 0xf8, 0xd2, 0xa2, 0xb1, 0xcc, 0xc8, 0x42, 0x71, 0xdb,
|
||||
0x6a, 0x0c, 0xe7, 0x91, 0x97, 0x4c, 0x4f, 0x97, 0xe9, 0xb0, 0x51, 0xda, 0x27, 0xa7, 0x9d, 0xf2,
|
||||
0x7e, 0x10, 0xd2, 0x83, 0xb5, 0xd1, 0x06, 0x92, 0x28, 0x88, 0x35, 0x0a, 0x94, 0xaf, 0x98, 0xfd,
|
||||
0x30, 0x6b, 0xe7, 0xb7, 0xb3, 0x8e, 0x06, 0xb3, 0x0d, 0x82, 0xf8, 0x02, 0x16, 0x57, 0x42, 0x60,
|
||||
0xf3, 0x2d, 0x10, 0x99, 0x83, 0x2f, 0x33, 0xd7, 0xf2, 0x84, 0xfa, 0x32, 0xfb, 0x2c, 0xde, 0xff,
|
||||
0x52, 0x7c, 0x7c, 0x09, 0xbb, 0x14, 0xad, 0xe6, 0xe2, 0x4f, 0xdf, 0xaf, 0x83, 0xc7, 0x69, 0x7a,
|
||||
0x72, 0x3e, 0x2c, 0xb1, 0xda, 0x72, 0xb7, 0xb3, 0x8f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xb8, 0x89,
|
||||
0xb6, 0xb0, 0x24, 0x02, 0x00, 0x00,
|
||||
// 311 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x51, 0x31, 0x4f, 0xf3, 0x30,
|
||||
0x14, 0x54, 0xd2, 0xf6, 0xfb, 0xda, 0xd7, 0xa6, 0x48, 0xa6, 0x95, 0x02, 0x48, 0xd0, 0x86, 0xa5,
|
||||
0x53, 0x90, 0xca, 0x08, 0x0c, 0xd0, 0x89, 0x85, 0xc1, 0x88, 0x85, 0xc5, 0x72, 0x9d, 0xd7, 0x62,
|
||||
0xd1, 0x38, 0xc1, 0x76, 0x91, 0xf8, 0x1f, 0xfc, 0x60, 0x54, 0x3b, 0x11, 0x50, 0xa9, 0x08, 0x31,
|
||||
0x25, 0xbe, 0xbb, 0x77, 0xef, 0xec, 0x83, 0x48, 0x14, 0xca, 0x72, 0x61, 0xd3, 0x52, 0x17, 0xb6,
|
||||
0x20, 0x6d, 0xf7, 0x99, 0xaf, 0x17, 0x87, 0x44, 0x3c, 0x71, 0xcb, 0x72, 0x34, 0x86, 0x2f, 0xd1,
|
||||
0xb3, 0xc9, 0x7b, 0x03, 0xa2, 0x99, 0xd7, 0x3f, 0x94, 0x19, 0xb7, 0x48, 0x06, 0xd0, 0x12, 0xab,
|
||||
0x42, 0x3c, 0xc7, 0xc1, 0x28, 0x98, 0x34, 0xa9, 0x3f, 0x90, 0x03, 0x68, 0xa3, 0x32, 0x4c, 0xf1,
|
||||
0x1c, 0xe3, 0x70, 0x14, 0x4c, 0x3a, 0xf4, 0x3f, 0x2a, 0x73, 0xc7, 0x73, 0x24, 0xa7, 0x10, 0x95,
|
||||
0xba, 0x58, 0xc8, 0x15, 0x32, 0x99, 0xf3, 0x25, 0xc6, 0x0d, 0xc7, 0xf7, 0x2a, 0xf0, 0x76, 0x83,
|
||||
0x91, 0x31, 0xf4, 0x32, 0x69, 0xca, 0x15, 0x7f, 0xf3, 0x1e, 0x4d, 0xa7, 0xe9, 0x56, 0x98, 0xf3,
|
||||
0x99, 0xc2, 0xb0, 0x4a, 0xce, 0x34, 0xbe, 0xac, 0xd1, 0x58, 0xe6, 0x83, 0xb4, 0x5c, 0x90, 0xfd,
|
||||
0x8a, 0xa4, 0x9e, 0x9b, 0xb9, 0x58, 0x0b, 0x38, 0x36, 0xa8, 0x2c, 0xdb, 0x1e, 0x34, 0x72, 0xa9,
|
||||
0xb8, 0x5d, 0x6b, 0x8c, 0xfb, 0xa3, 0x60, 0xd2, 0x9d, 0x8e, 0xd3, 0xfa, 0x15, 0xd2, 0xd9, 0x37,
|
||||
0x9b, 0xfb, 0x5a, 0x48, 0x8f, 0x36, 0x46, 0x3b, 0x48, 0xa2, 0x20, 0xd1, 0x28, 0x50, 0xbe, 0x62,
|
||||
0xf6, 0xc3, 0xae, 0xbd, 0xdf, 0xee, 0x3a, 0xa9, 0xcd, 0x76, 0x08, 0x92, 0x4b, 0x18, 0x5c, 0x0b,
|
||||
0x81, 0xe5, 0x56, 0x20, 0xd2, 0x87, 0x50, 0x66, 0xae, 0x99, 0x0e, 0x0d, 0x65, 0xf6, 0x59, 0x56,
|
||||
0xf8, 0xa5, 0xac, 0xe4, 0x0a, 0x86, 0x14, 0xad, 0xe6, 0xe2, 0x4f, 0xe3, 0x37, 0xd1, 0x63, 0x37,
|
||||
0x3d, 0xbb, 0xa8, 0x2f, 0x31, 0xff, 0xe7, 0xfe, 0xce, 0x3f, 0x02, 0x00, 0x00, 0xff, 0xff, 0x8b,
|
||||
0xda, 0xbb, 0xda, 0x58, 0x02, 0x00, 0x00,
|
||||
}
|
||||
|
|
|
@ -9,6 +9,7 @@ message ContactUpdate {
|
|||
string ens_name = 2;
|
||||
string profile_image = 3;
|
||||
string display_name = 4;
|
||||
uint64 contact_request_clock = 5;
|
||||
|
||||
ContactRequestSignature sent_contact_request_signature = 14;
|
||||
ContactRequestSignature received_contact_request_signature = 15;
|
||||
|
|
|
@ -166,7 +166,6 @@ type MembershipUpdateMessage struct {
|
|||
// An optional chat message
|
||||
//
|
||||
// Types that are valid to be assigned to ChatEntity:
|
||||
//
|
||||
// *MembershipUpdateMessage_Message
|
||||
// *MembershipUpdateMessage_EmojiReaction
|
||||
ChatEntity isMembershipUpdateMessage_ChatEntity `protobuf_oneof:"chat_entity"`
|
||||
|
|
|
@ -750,24 +750,27 @@ func (m *SyncInstallationContact) GetLocalNickname() string {
|
|||
}
|
||||
|
||||
type SyncInstallationContactV2 struct {
|
||||
LastUpdatedLocally uint64 `protobuf:"varint,1,opt,name=last_updated_locally,json=lastUpdatedLocally,proto3" json:"last_updated_locally,omitempty"`
|
||||
Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
|
||||
ProfileImage string `protobuf:"bytes,3,opt,name=profile_image,json=profileImage,proto3" json:"profile_image,omitempty"`
|
||||
EnsName string `protobuf:"bytes,4,opt,name=ens_name,json=ensName,proto3" json:"ens_name,omitempty"`
|
||||
LastUpdated uint64 `protobuf:"varint,5,opt,name=last_updated,json=lastUpdated,proto3" json:"last_updated,omitempty"`
|
||||
SystemTags []string `protobuf:"bytes,6,rep,name=system_tags,json=systemTags,proto3" json:"system_tags,omitempty"`
|
||||
LocalNickname string `protobuf:"bytes,7,opt,name=local_nickname,json=localNickname,proto3" json:"local_nickname,omitempty"`
|
||||
Added bool `protobuf:"varint,9,opt,name=added,proto3" json:"added,omitempty"`
|
||||
Blocked bool `protobuf:"varint,10,opt,name=blocked,proto3" json:"blocked,omitempty"`
|
||||
Muted bool `protobuf:"varint,11,opt,name=muted,proto3" json:"muted,omitempty"`
|
||||
Removed bool `protobuf:"varint,12,opt,name=removed,proto3" json:"removed,omitempty"`
|
||||
HasAddedUs bool `protobuf:"varint,13,opt,name=has_added_us,json=hasAddedUs,proto3" json:"has_added_us,omitempty"`
|
||||
VerificationStatus int64 `protobuf:"varint,14,opt,name=verification_status,json=verificationStatus,proto3" json:"verification_status,omitempty"`
|
||||
TrustStatus int64 `protobuf:"varint,15,opt,name=trust_status,json=trustStatus,proto3" json:"trust_status,omitempty"`
|
||||
ContactRequestState int64 `protobuf:"varint,16,opt,name=contact_request_state,json=contactRequestState,proto3" json:"contact_request_state,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
LastUpdatedLocally uint64 `protobuf:"varint,1,opt,name=last_updated_locally,json=lastUpdatedLocally,proto3" json:"last_updated_locally,omitempty"`
|
||||
Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
|
||||
ProfileImage string `protobuf:"bytes,3,opt,name=profile_image,json=profileImage,proto3" json:"profile_image,omitempty"`
|
||||
EnsName string `protobuf:"bytes,4,opt,name=ens_name,json=ensName,proto3" json:"ens_name,omitempty"`
|
||||
LastUpdated uint64 `protobuf:"varint,5,opt,name=last_updated,json=lastUpdated,proto3" json:"last_updated,omitempty"`
|
||||
SystemTags []string `protobuf:"bytes,6,rep,name=system_tags,json=systemTags,proto3" json:"system_tags,omitempty"`
|
||||
LocalNickname string `protobuf:"bytes,7,opt,name=local_nickname,json=localNickname,proto3" json:"local_nickname,omitempty"`
|
||||
Added bool `protobuf:"varint,9,opt,name=added,proto3" json:"added,omitempty"`
|
||||
Blocked bool `protobuf:"varint,10,opt,name=blocked,proto3" json:"blocked,omitempty"`
|
||||
Muted bool `protobuf:"varint,11,opt,name=muted,proto3" json:"muted,omitempty"`
|
||||
Removed bool `protobuf:"varint,12,opt,name=removed,proto3" json:"removed,omitempty"`
|
||||
HasAddedUs bool `protobuf:"varint,13,opt,name=has_added_us,json=hasAddedUs,proto3" json:"has_added_us,omitempty"`
|
||||
VerificationStatus int64 `protobuf:"varint,14,opt,name=verification_status,json=verificationStatus,proto3" json:"verification_status,omitempty"`
|
||||
TrustStatus int64 `protobuf:"varint,15,opt,name=trust_status,json=trustStatus,proto3" json:"trust_status,omitempty"`
|
||||
ContactRequestLocalState int64 `protobuf:"varint,16,opt,name=contact_request_local_state,json=contactRequestLocalState,proto3" json:"contact_request_local_state,omitempty"`
|
||||
ContactRequestLocalClock int64 `protobuf:"varint,17,opt,name=contact_request_local_clock,json=contactRequestLocalClock,proto3" json:"contact_request_local_clock,omitempty"`
|
||||
ContactRequestRemoteState int64 `protobuf:"varint,18,opt,name=contact_request_remote_state,json=contactRequestRemoteState,proto3" json:"contact_request_remote_state,omitempty"`
|
||||
ContactRequestRemoteClock int64 `protobuf:"varint,19,opt,name=contact_request_remote_clock,json=contactRequestRemoteClock,proto3" json:"contact_request_remote_clock,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
}
|
||||
|
||||
func (m *SyncInstallationContactV2) Reset() { *m = SyncInstallationContactV2{} }
|
||||
|
@ -893,9 +896,30 @@ func (m *SyncInstallationContactV2) GetTrustStatus() int64 {
|
|||
return 0
|
||||
}
|
||||
|
||||
func (m *SyncInstallationContactV2) GetContactRequestState() int64 {
|
||||
func (m *SyncInstallationContactV2) GetContactRequestLocalState() int64 {
|
||||
if m != nil {
|
||||
return m.ContactRequestState
|
||||
return m.ContactRequestLocalState
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (m *SyncInstallationContactV2) GetContactRequestLocalClock() int64 {
|
||||
if m != nil {
|
||||
return m.ContactRequestLocalClock
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (m *SyncInstallationContactV2) GetContactRequestRemoteState() int64 {
|
||||
if m != nil {
|
||||
return m.ContactRequestRemoteState
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (m *SyncInstallationContactV2) GetContactRequestRemoteClock() int64 {
|
||||
if m != nil {
|
||||
return m.ContactRequestRemoteClock
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
@ -2507,151 +2531,153 @@ func init() {
|
|||
}
|
||||
|
||||
var fileDescriptor_d61ab7221f0b5518 = []byte{
|
||||
// 2326 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x59, 0xcf, 0x72, 0x1b, 0xc7,
|
||||
0xd1, 0xf7, 0x02, 0x10, 0x01, 0x34, 0x40, 0x10, 0x1e, 0xca, 0x16, 0x4c, 0x49, 0x25, 0x6a, 0xf5,
|
||||
0xa9, 0xac, 0xaf, 0x4a, 0xa1, 0x5d, 0x54, 0x12, 0x27, 0x96, 0x5d, 0x31, 0x04, 0x32, 0x16, 0xf5,
|
||||
0x87, 0x62, 0x0d, 0x49, 0x29, 0x49, 0xa5, 0x6a, 0x6b, 0xb8, 0x3b, 0x24, 0x26, 0x5c, 0xec, 0x6e,
|
||||
0x76, 0x06, 0x54, 0x36, 0x0f, 0x90, 0x07, 0xf0, 0x25, 0x57, 0xdf, 0x73, 0x4b, 0x95, 0x73, 0xca,
|
||||
0x03, 0xe4, 0x96, 0x43, 0x2e, 0xa9, 0x4a, 0x9e, 0x20, 0x4f, 0x91, 0x9a, 0x9e, 0x59, 0xec, 0x2e,
|
||||
0x09, 0x30, 0x54, 0xe5, 0x94, 0x13, 0xa7, 0x7b, 0xba, 0x7b, 0x7b, 0xba, 0x7b, 0xba, 0x7f, 0x43,
|
||||
0xc0, 0x72, 0xc2, 0x44, 0x2a, 0xa2, 0x93, 0x8d, 0x24, 0x8d, 0x55, 0x4c, 0x5a, 0xf8, 0xe7, 0x68,
|
||||
0x7a, 0xbc, 0xb6, 0x2a, 0xb3, 0xc8, 0xf7, 0x24, 0x57, 0x4a, 0x44, 0x27, 0xd2, 0x6c, 0xaf, 0xb9,
|
||||
0x2c, 0x49, 0x42, 0xe1, 0x33, 0x25, 0xe2, 0xc8, 0x9b, 0x70, 0xc5, 0x02, 0xa6, 0x98, 0x37, 0xe1,
|
||||
0x52, 0xb2, 0x13, 0x6e, 0x64, 0x5c, 0x06, 0x37, 0x7f, 0xca, 0x95, 0x3f, 0x16, 0xd1, 0xc9, 0x13,
|
||||
0xe6, 0x9f, 0xf2, 0xe0, 0x30, 0xd9, 0x62, 0x8a, 0x6d, 0x71, 0xc5, 0x44, 0x28, 0xc9, 0x1d, 0xe8,
|
||||
0xa0, 0x52, 0x34, 0x9d, 0x1c, 0xf1, 0x74, 0xe0, 0xac, 0x3b, 0x0f, 0x96, 0x29, 0x68, 0xd6, 0x2e,
|
||||
0x72, 0xc8, 0x5d, 0xe8, 0xaa, 0x58, 0xb1, 0x30, 0x97, 0xa8, 0xa1, 0x44, 0x07, 0x79, 0x46, 0xc4,
|
||||
0xfd, 0x7b, 0x03, 0x96, 0xb4, 0xed, 0x69, 0x42, 0xae, 0xc3, 0x35, 0x3f, 0x8c, 0xfd, 0x53, 0x34,
|
||||
0xd4, 0xa0, 0x86, 0x20, 0x3d, 0xa8, 0x89, 0x00, 0x35, 0xdb, 0xb4, 0x26, 0x02, 0xf2, 0x13, 0x68,
|
||||
0xf9, 0x71, 0xa4, 0x98, 0xaf, 0xe4, 0xa0, 0xbe, 0x5e, 0x7f, 0xd0, 0xd9, 0xbc, 0xb7, 0x91, 0x9f,
|
||||
0x74, 0x63, 0x3f, 0x8b, 0xfc, 0x9d, 0x48, 0x2a, 0x16, 0x86, 0x78, 0xb0, 0x91, 0x91, 0x7c, 0xbd,
|
||||
0x49, 0x67, 0x4a, 0xe4, 0xc7, 0xd0, 0xf1, 0xe3, 0xc9, 0x64, 0x1a, 0x09, 0x25, 0xb8, 0x1c, 0x34,
|
||||
0xd0, 0xc6, 0x8d, 0xaa, 0x8d, 0x91, 0x15, 0xc8, 0x68, 0x59, 0x96, 0xbc, 0x82, 0x95, 0xdc, 0x8c,
|
||||
0x8d, 0xc1, 0xe0, 0xda, 0xba, 0xf3, 0xa0, 0xb3, 0x79, 0xbf, 0x50, 0xbf, 0x24, 0x60, 0xf4, 0xbc,
|
||||
0x36, 0x39, 0x04, 0x52, 0xb2, 0x9f, 0xdb, 0x5c, 0x7a, 0x17, 0x9b, 0x73, 0x0c, 0x90, 0x47, 0xd0,
|
||||
0x4c, 0xd2, 0xf8, 0x58, 0x84, 0x7c, 0xd0, 0x44, 0x5b, 0x1f, 0x15, 0xb6, 0x72, 0x1b, 0x7b, 0x46,
|
||||
0x80, 0xe6, 0x92, 0xe4, 0x25, 0xf4, 0xec, 0x32, 0xf7, 0xa3, 0xf5, 0x2e, 0x7e, 0x9c, 0x53, 0x26,
|
||||
0x9f, 0x40, 0xd3, 0x56, 0xdc, 0xa0, 0x8d, 0x76, 0x3e, 0xa8, 0x86, 0x78, 0xdf, 0x6c, 0xd2, 0x5c,
|
||||
0x4a, 0x07, 0x37, 0x2f, 0xd1, 0xdc, 0x01, 0x78, 0xa7, 0xe0, 0x9e, 0xd3, 0x76, 0xff, 0xdc, 0x80,
|
||||
0xee, 0xcb, 0x69, 0xa8, 0xc4, 0xd0, 0xf7, 0xe3, 0x69, 0xa4, 0x08, 0x81, 0x46, 0xc4, 0x26, 0x1c,
|
||||
0xeb, 0xab, 0x4d, 0x71, 0x4d, 0x6e, 0x41, 0x5b, 0x89, 0x09, 0x97, 0x8a, 0x4d, 0x12, 0xac, 0xb2,
|
||||
0x3a, 0x2d, 0x18, 0x7a, 0x57, 0x04, 0x3c, 0x52, 0xc2, 0x8f, 0xa3, 0x41, 0x1d, 0xd5, 0x0a, 0x06,
|
||||
0xf9, 0x0a, 0xc0, 0x8f, 0xc3, 0x38, 0xf5, 0xc6, 0x4c, 0x8e, 0x6d, 0x21, 0xdd, 0x2d, 0x9c, 0x2d,
|
||||
0x7f, 0x7b, 0x63, 0x14, 0x87, 0xf1, 0x34, 0x7d, 0xca, 0xe4, 0x98, 0xb6, 0x51, 0x49, 0x2f, 0xc9,
|
||||
0x00, 0x9a, 0x48, 0xec, 0x04, 0x58, 0x48, 0x75, 0x9a, 0x93, 0xe4, 0x63, 0x58, 0x39, 0xe5, 0x99,
|
||||
0xcf, 0xd2, 0xc0, 0xb3, 0xd7, 0x1a, 0xcb, 0xa2, 0x4d, 0x7b, 0x96, 0xbd, 0x67, 0xb8, 0xe4, 0x06,
|
||||
0x34, 0x4f, 0x79, 0xe6, 0x4d, 0x45, 0x80, 0xb9, 0x6e, 0xd3, 0xa5, 0x53, 0x9e, 0x1d, 0x8a, 0x80,
|
||||
0x7c, 0x01, 0x4b, 0x62, 0xc2, 0x4e, 0xb8, 0xce, 0xa3, 0xf6, 0xec, 0xff, 0x16, 0x78, 0xb6, 0x83,
|
||||
0xe7, 0x51, 0xd9, 0x8e, 0x16, 0xa6, 0x56, 0x67, 0xcd, 0x05, 0x28, 0x5c, 0xd6, 0x57, 0x53, 0x44,
|
||||
0x01, 0xff, 0xcd, 0xc0, 0x59, 0xaf, 0x3f, 0xa8, 0x53, 0x43, 0xac, 0xfd, 0xc3, 0x81, 0xe5, 0x8a,
|
||||
0x76, 0xd9, 0x19, 0xa7, 0xe2, 0x4c, 0x1e, 0xfa, 0x5a, 0x29, 0xf4, 0x03, 0x68, 0x26, 0x2c, 0x0b,
|
||||
0x63, 0x16, 0x60, 0x68, 0xbb, 0x34, 0x27, 0xf5, 0xe7, 0xde, 0x8a, 0x40, 0xe9, 0x98, 0xea, 0xa0,
|
||||
0x18, 0x82, 0x7c, 0x08, 0x4b, 0x63, 0x2e, 0x4e, 0xc6, 0xca, 0xc6, 0xca, 0x52, 0x64, 0x0d, 0x5a,
|
||||
0xba, 0xf0, 0xa4, 0xf8, 0x2d, 0xc7, 0x18, 0xd5, 0xe9, 0x8c, 0x26, 0xf7, 0x60, 0x39, 0xc5, 0x95,
|
||||
0xa7, 0x58, 0x7a, 0xc2, 0x15, 0xc6, 0xa8, 0x4e, 0xbb, 0x86, 0x79, 0x80, 0xbc, 0xa2, 0xf1, 0xb4,
|
||||
0x4a, 0x8d, 0xc7, 0xfd, 0x9b, 0x03, 0xab, 0x2f, 0x62, 0x9f, 0x85, 0x36, 0xd2, 0x7b, 0xd6, 0xb9,
|
||||
0x1f, 0x40, 0xe3, 0x94, 0x67, 0x12, 0x43, 0x51, 0xc9, 0xf7, 0x1c, 0xe1, 0x8d, 0xe7, 0x3c, 0xa3,
|
||||
0x28, 0x4e, 0x3e, 0x87, 0xee, 0x44, 0x87, 0x9d, 0x99, 0xb0, 0x63, 0x24, 0x3a, 0x9b, 0x1f, 0xce,
|
||||
0x4f, 0x0a, 0xad, 0xc8, 0xea, 0x13, 0x26, 0x4c, 0xca, 0xb7, 0x71, 0x1a, 0xd8, 0x2a, 0x9c, 0xd1,
|
||||
0x6b, 0xdf, 0x83, 0xfa, 0x73, 0x9e, 0xcd, 0xad, 0x6d, 0x02, 0x0d, 0xdd, 0x8c, 0xf1, 0x53, 0x5d,
|
||||
0x8a, 0x6b, 0xf7, 0x77, 0x0e, 0xf4, 0xb5, 0x8f, 0xe5, 0x2e, 0xb9, 0xa0, 0xf3, 0x7e, 0x0c, 0x2b,
|
||||
0xa2, 0x24, 0xe5, 0xcd, 0xda, 0x70, 0xaf, 0xcc, 0xde, 0x09, 0x70, 0x0e, 0xf0, 0x33, 0xe1, 0x73,
|
||||
0x4f, 0x65, 0x09, 0xb7, 0x1e, 0x82, 0x61, 0x1d, 0x64, 0x09, 0x9f, 0x39, 0xd7, 0x28, 0x9c, 0x73,
|
||||
0xff, 0xe5, 0xc0, 0x8d, 0x05, 0xed, 0xfa, 0x8a, 0x93, 0xe0, 0x1e, 0x2c, 0xdb, 0x9e, 0xe3, 0x61,
|
||||
0xd1, 0xda, 0x0f, 0x77, 0x2d, 0xd3, 0x54, 0xe4, 0x47, 0xd0, 0xe2, 0x91, 0xf4, 0x4a, 0x9f, 0x6f,
|
||||
0xf2, 0x48, 0xee, 0xea, 0xf0, 0xdc, 0x85, 0x6e, 0xc8, 0xa4, 0xf2, 0xa6, 0x49, 0xc0, 0x14, 0x37,
|
||||
0x37, 0xb0, 0x41, 0x3b, 0x9a, 0x77, 0x68, 0x58, 0xfa, 0x64, 0x32, 0x93, 0x8a, 0x4f, 0x3c, 0xc5,
|
||||
0x4e, 0x74, 0x63, 0xae, 0xeb, 0x93, 0x19, 0xd6, 0x01, 0x3b, 0x91, 0xe4, 0x3e, 0xf4, 0x42, 0x9d,
|
||||
0x76, 0x2f, 0x12, 0xfe, 0x29, 0x7e, 0xc4, 0x5c, 0xc2, 0x65, 0xe4, 0xee, 0x5a, 0xa6, 0xfb, 0x4d,
|
||||
0x03, 0x3e, 0x5a, 0x38, 0x9b, 0xc8, 0xa7, 0x70, 0xbd, 0xec, 0x88, 0x87, 0xba, 0x61, 0x66, 0x4f,
|
||||
0x4f, 0x4a, 0x0e, 0xbd, 0x30, 0x3b, 0xff, 0xc3, 0xa1, 0xd0, 0xb9, 0x65, 0x41, 0xc0, 0x03, 0x9c,
|
||||
0x0a, 0x2d, 0x6a, 0x08, 0xdd, 0x0b, 0x8e, 0x74, 0x92, 0x79, 0x80, 0x4d, 0xbf, 0x45, 0x73, 0x52,
|
||||
0xcb, 0x4f, 0xa6, 0xda, 0xa7, 0x8e, 0x91, 0x47, 0x42, 0xcb, 0xa7, 0x7c, 0x12, 0x9f, 0xf1, 0x60,
|
||||
0xd0, 0x35, 0xf2, 0x96, 0x24, 0xeb, 0xd0, 0x1d, 0x33, 0xe9, 0xa1, 0x59, 0x6f, 0x2a, 0x07, 0xcb,
|
||||
0xb8, 0x0d, 0x63, 0x26, 0x87, 0x9a, 0x75, 0xa8, 0x27, 0xd3, 0xea, 0x19, 0x4f, 0xc5, 0x71, 0x0e,
|
||||
0x7e, 0xa4, 0x62, 0x6a, 0x2a, 0x07, 0x3d, 0xec, 0x0c, 0xa4, 0xbc, 0xb5, 0x8f, 0x3b, 0x08, 0x63,
|
||||
0xd2, 0xa9, 0x54, 0xb9, 0xe4, 0x0a, 0x4a, 0x76, 0x90, 0x67, 0x45, 0x36, 0xe1, 0x03, 0x3b, 0xdb,
|
||||
0xbd, 0x94, 0xff, 0x7a, 0xca, 0xad, 0x30, 0x1f, 0xf4, 0x51, 0x76, 0xd5, 0x6e, 0x52, 0xb3, 0xa7,
|
||||
0x95, 0xb8, 0xfb, 0xf6, 0xe2, 0x05, 0xc8, 0x27, 0xd5, 0xfc, 0x0b, 0x70, 0x21, 0xcb, 0xb5, 0x39,
|
||||
0x59, 0x3e, 0x9f, 0xca, 0xfa, 0x85, 0x54, 0xba, 0x4f, 0x60, 0xed, 0xfc, 0x87, 0xf7, 0xa6, 0x47,
|
||||
0xa1, 0xf0, 0x47, 0x63, 0x76, 0xc5, 0xcb, 0xe7, 0x7e, 0x57, 0x87, 0xe5, 0x0a, 0x52, 0xfa, 0x8f,
|
||||
0x7a, 0x5d, 0xac, 0xd4, 0x3b, 0xd0, 0x49, 0x52, 0x71, 0xc6, 0x14, 0xf7, 0x4e, 0x79, 0x66, 0x1b,
|
||||
0x3f, 0x58, 0x96, 0x6e, 0x64, 0xeb, 0xba, 0x99, 0x48, 0x3f, 0x15, 0x89, 0xf6, 0x0b, 0x0b, 0xb5,
|
||||
0x4b, 0xcb, 0x2c, 0x3d, 0x07, 0x7e, 0x15, 0x8b, 0xc8, 0x96, 0x69, 0x8b, 0x5a, 0x4a, 0x77, 0x49,
|
||||
0x93, 0x3c, 0x1e, 0xe0, 0x1c, 0x68, 0xd1, 0x19, 0x5d, 0x54, 0x51, 0xb3, 0x5c, 0x45, 0xaf, 0xa0,
|
||||
0x6f, 0xb3, 0x25, 0x3d, 0x15, 0x7b, 0xda, 0x8e, 0x1d, 0x96, 0xf7, 0x17, 0xe1, 0x41, 0x2b, 0x7e,
|
||||
0x10, 0x3f, 0x8b, 0x45, 0x44, 0x7b, 0x69, 0x85, 0x26, 0x8f, 0xa1, 0x95, 0xa3, 0x10, 0x8b, 0x7a,
|
||||
0xee, 0x2c, 0x30, 0x64, 0xe1, 0x8f, 0xa4, 0x33, 0x05, 0x0d, 0x36, 0x78, 0xe4, 0xa7, 0x59, 0xa2,
|
||||
0x66, 0xb7, 0xa0, 0x60, 0xe8, 0x5d, 0x99, 0x70, 0x5f, 0xb1, 0xe2, 0x2e, 0x14, 0x0c, 0xdd, 0xab,
|
||||
0xad, 0xa8, 0xae, 0x68, 0x9c, 0x4f, 0x5d, 0x8c, 0x5c, 0xaf, 0x60, 0x3f, 0xe7, 0x99, 0x74, 0xff,
|
||||
0xea, 0xc0, 0xcd, 0x4b, 0x4e, 0x64, 0xf3, 0xe5, 0xcc, 0xf2, 0x75, 0x1b, 0x20, 0xc1, 0xda, 0xc0,
|
||||
0x74, 0x99, 0xfc, 0xb7, 0x0d, 0x47, 0x67, 0x6b, 0x96, 0xf4, 0x7a, 0x39, 0xe9, 0x97, 0x74, 0x9a,
|
||||
0x1b, 0xd0, 0xf4, 0xc7, 0x4c, 0xe9, 0x61, 0x72, 0xcd, 0x20, 0x04, 0x4d, 0xee, 0x04, 0xba, 0x6e,
|
||||
0x73, 0x24, 0x9b, 0xe9, 0xdd, 0x25, 0x93, 0xf8, 0x19, 0x6f, 0x07, 0x93, 0x68, 0x2e, 0x55, 0xd3,
|
||||
0x7c, 0x0c, 0x09, 0xf7, 0x9b, 0x1a, 0xf4, 0xcf, 0x97, 0x33, 0xf9, 0xb2, 0xf4, 0x4a, 0xb8, 0x30,
|
||||
0xa8, 0x17, 0x74, 0xe2, 0xd2, 0x1b, 0xe1, 0x6b, 0xe8, 0xda, 0x53, 0x6b, 0xef, 0xe4, 0xa0, 0x76,
|
||||
0x1e, 0x41, 0x2d, 0xbe, 0x3f, 0xb4, 0x93, 0xcc, 0xd6, 0x92, 0x3c, 0x86, 0x66, 0x3e, 0xf0, 0xeb,
|
||||
0x58, 0x0f, 0x97, 0xb8, 0x91, 0xcf, 0xfe, 0x5c, 0xe3, 0xbf, 0x78, 0xa9, 0xb8, 0x9f, 0xc1, 0x0a,
|
||||
0xee, 0x6a, 0x87, 0x6c, 0x63, 0xbc, 0xda, 0xbd, 0xfe, 0x02, 0xae, 0xe7, 0x8a, 0x2f, 0xcd, 0x5b,
|
||||
0x50, 0x52, 0xce, 0xae, 0xaa, 0xfd, 0x15, 0x7c, 0xa8, 0xb5, 0x87, 0xbe, 0x12, 0x67, 0x42, 0x65,
|
||||
0x23, 0x1e, 0x29, 0x9e, 0x5e, 0xa2, 0xdf, 0x87, 0xba, 0x08, 0x4c, 0x78, 0xbb, 0x54, 0x2f, 0xdd,
|
||||
0x2d, 0xd3, 0x9b, 0xaa, 0x16, 0x86, 0xbe, 0xcf, 0xf1, 0x12, 0x5c, 0xd5, 0xca, 0xb6, 0x29, 0xf2,
|
||||
0xaa, 0x95, 0x2d, 0x21, 0x27, 0x42, 0xca, 0x77, 0x30, 0xf3, 0xad, 0x03, 0x5d, 0x6d, 0xe7, 0x49,
|
||||
0x1c, 0x9f, 0x4e, 0x58, 0x7a, 0xba, 0x58, 0x71, 0x9a, 0x86, 0x36, 0x0c, 0x7a, 0x39, 0x03, 0x3c,
|
||||
0xf5, 0x12, 0x1a, 0xbb, 0x09, 0x6d, 0xec, 0xda, 0x9e, 0x96, 0x35, 0xb7, 0xa2, 0x85, 0x8c, 0xc3,
|
||||
0x34, 0x2c, 0xcf, 0xb3, 0x6b, 0xd5, 0x79, 0x76, 0x1b, 0x20, 0xe0, 0x21, 0xd7, 0xb8, 0x80, 0x29,
|
||||
0xbc, 0x15, 0x0d, 0xda, 0xb6, 0x9c, 0xa1, 0x72, 0x9f, 0x99, 0xe2, 0x1f, 0x85, 0x9c, 0xa5, 0x4f,
|
||||
0x85, 0x54, 0x71, 0x9a, 0x95, 0xef, 0x98, 0x53, 0xb9, 0x63, 0xb7, 0x01, 0x7c, 0x2d, 0x68, 0x6c,
|
||||
0xd5, 0x8c, 0x2d, 0xcb, 0x19, 0x2a, 0xf7, 0x2f, 0x0e, 0x10, 0x6d, 0xcc, 0x3e, 0x0d, 0xf7, 0x84,
|
||||
0xaf, 0xa6, 0x29, 0x9f, 0x0b, 0x2d, 0x4b, 0xd8, 0xbd, 0xb6, 0x00, 0xbb, 0xd7, 0xf1, 0xb1, 0x7f,
|
||||
0x01, 0xbb, 0x37, 0x90, 0x9d, 0x63, 0xf7, 0x9b, 0xd0, 0xc6, 0x79, 0x86, 0xe0, 0xfd, 0x1a, 0x6e,
|
||||
0x21, 0x78, 0xdf, 0x9f, 0x0b, 0xde, 0x97, 0x50, 0x60, 0x01, 0x78, 0x6f, 0x96, 0xc1, 0xfb, 0x18,
|
||||
0x56, 0x2f, 0x9e, 0x44, 0x2e, 0x7e, 0x9f, 0xfc, 0x08, 0x5a, 0x89, 0x15, 0xb2, 0x97, 0xfd, 0x56,
|
||||
0xf5, 0x9e, 0x55, 0x2d, 0xd1, 0x99, 0xb4, 0xfb, 0x87, 0x1a, 0xbc, 0xaf, 0x05, 0xde, 0xb0, 0x30,
|
||||
0xe4, 0xea, 0xf2, 0x01, 0x3e, 0x80, 0x26, 0x0b, 0x82, 0x94, 0x4b, 0x99, 0x47, 0xcd, 0x92, 0x3a,
|
||||
0x3e, 0x6f, 0xd1, 0x00, 0x86, 0xad, 0x45, 0x2d, 0xa5, 0x63, 0xaf, 0x73, 0x87, 0x51, 0x6b, 0x51,
|
||||
0x5c, 0x6b, 0x1e, 0xe2, 0x6c, 0xd3, 0x3f, 0x71, 0xad, 0x2d, 0xeb, 0xdc, 0x6b, 0x50, 0x60, 0x9e,
|
||||
0x89, 0x39, 0xa9, 0xa5, 0x13, 0xa6, 0xc6, 0x16, 0x8c, 0xe1, 0x5a, 0xcf, 0x92, 0x59, 0x0b, 0xc7,
|
||||
0x47, 0x4f, 0xb7, 0xdc, 0xd3, 0xf3, 0x7c, 0xb7, 0x4b, 0xf9, 0xd6, 0xe7, 0xd1, 0x2f, 0x53, 0x9c,
|
||||
0x4b, 0x6d, 0x6a, 0x08, 0xcc, 0xaa, 0x08, 0x02, 0x1e, 0xd9, 0x81, 0x64, 0xa9, 0xc5, 0xe8, 0xcc,
|
||||
0x7d, 0x69, 0x2a, 0xac, 0x12, 0x2c, 0x49, 0x3e, 0x83, 0x96, 0xed, 0x79, 0x79, 0xb7, 0xbe, 0x59,
|
||||
0x8d, 0x7e, 0x45, 0x9e, 0xce, 0x84, 0xdd, 0x3f, 0x39, 0xa6, 0xfc, 0xf7, 0xd9, 0x19, 0x0f, 0x86,
|
||||
0x36, 0x96, 0xa5, 0x28, 0x3b, 0xd5, 0x28, 0xcf, 0x7b, 0x85, 0xde, 0x82, 0xf6, 0x31, 0x3b, 0x8b,
|
||||
0xa7, 0xa9, 0x50, 0xdc, 0x06, 0xbf, 0x60, 0xe8, 0x49, 0xe6, 0x8f, 0x99, 0xc0, 0xc7, 0x4f, 0x03,
|
||||
0x53, 0xd9, 0x44, 0x7a, 0x27, 0xb8, 0xe4, 0xca, 0xde, 0x85, 0xae, 0x41, 0x5f, 0x5e, 0xb9, 0x32,
|
||||
0x3b, 0x86, 0x37, 0xc2, 0xfa, 0xfc, 0xbd, 0x03, 0x1f, 0xcc, 0xc5, 0x03, 0x0b, 0x2a, 0xe7, 0xfc,
|
||||
0x74, 0x34, 0x27, 0xa8, 0x4c, 0xc7, 0x6d, 0xb8, 0x33, 0x36, 0x0d, 0xc0, 0x63, 0xa9, 0x3f, 0x16,
|
||||
0x67, 0xdc, 0x93, 0xd3, 0x24, 0x89, 0x53, 0xe5, 0xf1, 0x88, 0x1d, 0x85, 0x16, 0x0b, 0xb6, 0xe8,
|
||||
0x2d, 0x2b, 0x36, 0x34, 0x52, 0xfb, 0x46, 0x68, 0xdb, 0xc8, 0xb8, 0x7f, 0x74, 0xcc, 0xe8, 0x38,
|
||||
0xd0, 0xe8, 0x56, 0xe3, 0x65, 0x9e, 0x5e, 0xf1, 0x3d, 0xf6, 0x25, 0x2c, 0x59, 0x80, 0xac, 0xbf,
|
||||
0xd3, 0x3b, 0x8f, 0xa1, 0x4a, 0x06, 0x37, 0x0e, 0x0a, 0xe8, 0x4c, 0xad, 0x92, 0xfb, 0x39, 0x74,
|
||||
0x4a, 0x6c, 0xd2, 0x81, 0xe6, 0xe1, 0xee, 0xf3, 0xdd, 0x57, 0x6f, 0x76, 0xfb, 0xef, 0x69, 0xe2,
|
||||
0x80, 0x1e, 0xee, 0x1f, 0x6c, 0x6f, 0xf5, 0x1d, 0xf2, 0x3e, 0x2c, 0x1f, 0xee, 0x22, 0xf9, 0xe6,
|
||||
0x15, 0x3d, 0x78, 0xfa, 0xf3, 0x7e, 0xcd, 0xfd, 0xb6, 0x6e, 0xb0, 0xf4, 0xeb, 0x12, 0x78, 0xb7,
|
||||
0xc0, 0x66, 0x81, 0xf3, 0x04, 0x1a, 0xc7, 0x69, 0x3c, 0xc9, 0x4b, 0x41, 0xaf, 0xf5, 0x81, 0x54,
|
||||
0x6c, 0x7b, 0x76, 0x4d, 0xc5, 0xba, 0x34, 0xfc, 0xb1, 0xae, 0xbc, 0xe8, 0x24, 0xc7, 0x31, 0x05,
|
||||
0x43, 0xa7, 0xc4, 0xa2, 0x3f, 0xd3, 0x4e, 0xed, 0x9b, 0x69, 0xc6, 0x1b, 0xe2, 0xbb, 0x3d, 0xe5,
|
||||
0x32, 0x89, 0x23, 0x99, 0x5f, 0xcb, 0x19, 0xad, 0x7b, 0x71, 0xca, 0x93, 0x50, 0x18, 0x65, 0x53,
|
||||
0x22, 0x6d, 0xcb, 0x19, 0x2a, 0xc2, 0xe7, 0x3f, 0x52, 0x5a, 0x18, 0xd9, 0xef, 0x57, 0x23, 0x3b,
|
||||
0xe7, 0xd4, 0x1b, 0xaf, 0x2f, 0x3c, 0x63, 0xe6, 0x3e, 0x6d, 0x4c, 0x0e, 0xdb, 0xb3, 0x01, 0xfe,
|
||||
0x33, 0x20, 0x17, 0x35, 0x2f, 0xe4, 0x62, 0x6f, 0x7b, 0x77, 0x6b, 0x67, 0xf7, 0xeb, 0xbe, 0x43,
|
||||
0xba, 0xd0, 0x1a, 0x8e, 0x46, 0xdb, 0x7b, 0x3a, 0x33, 0x35, 0x4d, 0x6d, 0x6d, 0x8f, 0x5e, 0xec,
|
||||
0xec, 0x6e, 0x6f, 0xf5, 0xeb, 0x9a, 0x1a, 0x0d, 0x77, 0x47, 0xdb, 0x2f, 0xb6, 0xb7, 0xfa, 0x0d,
|
||||
0xf7, 0x9f, 0x8e, 0x99, 0xec, 0xa3, 0xca, 0x4b, 0x68, 0x8b, 0xfb, 0x42, 0x2e, 0xfe, 0x17, 0xc4,
|
||||
0x2d, 0x68, 0xdb, 0x78, 0xee, 0xe4, 0x95, 0x56, 0x30, 0xc8, 0x2f, 0x61, 0x25, 0xb0, 0xfa, 0x5e,
|
||||
0xa5, 0xf2, 0x1e, 0x9d, 0xc7, 0x48, 0xf3, 0x3e, 0xb9, 0x91, 0x2f, 0x6c, 0x78, 0x7a, 0x41, 0x85,
|
||||
0x76, 0x1f, 0x42, 0xaf, 0x2a, 0x51, 0x39, 0xec, 0x7b, 0x95, 0xc3, 0x3a, 0xee, 0x77, 0x0e, 0xac,
|
||||
0x9c, 0xfb, 0xd7, 0xea, 0xe2, 0x69, 0x73, 0x17, 0xba, 0x81, 0x90, 0x49, 0xc8, 0x32, 0xaf, 0xd4,
|
||||
0x8f, 0x3a, 0x96, 0x87, 0x38, 0xf9, 0x21, 0x90, 0xb2, 0x88, 0x57, 0x46, 0xd9, 0xfd, 0x92, 0x20,
|
||||
0xb6, 0x93, 0xca, 0xf8, 0x6a, 0xbc, 0xd3, 0xf8, 0x92, 0x00, 0x94, 0xbd, 0xb5, 0x50, 0xaf, 0x3c,
|
||||
0xd6, 0x9d, 0xea, 0x58, 0x7f, 0x0e, 0x1d, 0xfb, 0xdb, 0xc0, 0x81, 0x9e, 0x3d, 0x35, 0x8c, 0xf3,
|
||||
0xff, 0x17, 0x1f, 0x19, 0x16, 0xbf, 0x26, 0xbc, 0xb4, 0x3f, 0x26, 0x58, 0xa3, 0x1b, 0x5a, 0x81,
|
||||
0x96, 0xb5, 0x75, 0x2d, 0xf4, 0xb4, 0x57, 0xa5, 0x2f, 0xff, 0x10, 0x3a, 0xe9, 0x8c, 0xca, 0xa7,
|
||||
0xc0, 0xf5, 0xc2, 0x7e, 0x21, 0x4a, 0xcb, 0x82, 0x64, 0x13, 0xae, 0xcb, 0xe9, 0x51, 0x3e, 0x49,
|
||||
0x9e, 0xc9, 0x38, 0x7a, 0x92, 0x29, 0x9e, 0xcf, 0xd7, 0xb9, 0x7b, 0xe4, 0x21, 0xbc, 0x9f, 0x3f,
|
||||
0xba, 0x0a, 0x05, 0xf3, 0x12, 0xbd, 0xb8, 0x41, 0x3e, 0x85, 0xd5, 0x28, 0x0e, 0xf8, 0x28, 0x8e,
|
||||
0x8e, 0xc5, 0x49, 0x21, 0x6f, 0x1e, 0xa6, 0xf3, 0xb6, 0x9e, 0x2c, 0xff, 0xa2, 0xb3, 0xf1, 0xc9,
|
||||
0xe3, 0xdc, 0xf5, 0xa3, 0x25, 0x5c, 0x3d, 0xfa, 0x77, 0x00, 0x00, 0x00, 0xff, 0xff, 0x9e, 0x40,
|
||||
0xe7, 0x8f, 0xa0, 0x19, 0x00, 0x00,
|
||||
// 2368 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x19, 0x4d, 0x73, 0x1b, 0x49,
|
||||
0x75, 0x47, 0x92, 0x2d, 0xe9, 0x49, 0x96, 0x95, 0x76, 0x76, 0xa3, 0xd8, 0xde, 0x8a, 0x33, 0xcb,
|
||||
0xd6, 0x86, 0xaa, 0xc5, 0xbb, 0x95, 0x00, 0x0b, 0x9b, 0x4d, 0xed, 0x2a, 0xb2, 0xd9, 0x38, 0x1f,
|
||||
0x8e, 0xab, 0x6d, 0x27, 0x40, 0x51, 0x35, 0xd5, 0x9e, 0x69, 0x5b, 0x8d, 0x47, 0x33, 0xc3, 0x74,
|
||||
0xcb, 0x41, 0xfc, 0x00, 0x7e, 0x00, 0x17, 0xae, 0x7b, 0xe7, 0x46, 0xd5, 0x72, 0xe2, 0x07, 0x70,
|
||||
0xe3, 0xc0, 0x85, 0x2a, 0x28, 0x7e, 0x00, 0xbf, 0x82, 0xea, 0xd7, 0x3d, 0x9a, 0x19, 0x59, 0x32,
|
||||
0x4e, 0x71, 0xe2, 0xe4, 0x79, 0xaf, 0xdf, 0x7b, 0xfd, 0xfa, 0x7d, 0x3f, 0x19, 0x56, 0x12, 0x26,
|
||||
0x52, 0x11, 0x9d, 0x6d, 0x27, 0x69, 0xac, 0x62, 0xd2, 0xc0, 0x3f, 0x27, 0xe3, 0xd3, 0xf5, 0x35,
|
||||
0x39, 0x89, 0x7c, 0x4f, 0x72, 0xa5, 0x44, 0x74, 0x26, 0xcd, 0xf1, 0xba, 0xcb, 0x92, 0x24, 0x14,
|
||||
0x3e, 0x53, 0x22, 0x8e, 0xbc, 0x11, 0x57, 0x2c, 0x60, 0x8a, 0x79, 0x23, 0x2e, 0x25, 0x3b, 0xe3,
|
||||
0x86, 0xc6, 0x65, 0xb0, 0xf1, 0x13, 0xae, 0xfc, 0xa1, 0x88, 0xce, 0x1e, 0x33, 0xff, 0x9c, 0x07,
|
||||
0xc7, 0xc9, 0x0e, 0x53, 0x6c, 0x87, 0x2b, 0x26, 0x42, 0x49, 0xee, 0x40, 0x0b, 0x99, 0xa2, 0xf1,
|
||||
0xe8, 0x84, 0xa7, 0x3d, 0x67, 0xcb, 0xb9, 0xb7, 0x42, 0x41, 0xa3, 0xf6, 0x11, 0x43, 0xee, 0x42,
|
||||
0x5b, 0xc5, 0x8a, 0x85, 0x19, 0x45, 0x05, 0x29, 0x5a, 0x88, 0x33, 0x24, 0xee, 0xdf, 0x6b, 0xb0,
|
||||
0xac, 0x65, 0x8f, 0x13, 0x72, 0x13, 0x96, 0xfc, 0x30, 0xf6, 0xcf, 0x51, 0x50, 0x8d, 0x1a, 0x80,
|
||||
0x74, 0xa0, 0x22, 0x02, 0xe4, 0x6c, 0xd2, 0x8a, 0x08, 0xc8, 0x97, 0xd0, 0xf0, 0xe3, 0x48, 0x31,
|
||||
0x5f, 0xc9, 0x5e, 0x75, 0xab, 0x7a, 0xaf, 0x75, 0xff, 0x83, 0xed, 0xec, 0xa5, 0xdb, 0x87, 0x93,
|
||||
0xc8, 0xdf, 0x8b, 0xa4, 0x62, 0x61, 0x88, 0x0f, 0x1b, 0x18, 0xca, 0x57, 0xf7, 0xe9, 0x94, 0x89,
|
||||
0xfc, 0x18, 0x5a, 0x7e, 0x3c, 0x1a, 0x8d, 0x23, 0xa1, 0x04, 0x97, 0xbd, 0x1a, 0xca, 0xb8, 0x55,
|
||||
0x96, 0x31, 0xb0, 0x04, 0x13, 0x5a, 0xa4, 0x25, 0x2f, 0x61, 0x35, 0x13, 0x63, 0x6d, 0xd0, 0x5b,
|
||||
0xda, 0x72, 0xee, 0xb5, 0xee, 0x7f, 0x98, 0xb3, 0x5f, 0x61, 0x30, 0x3a, 0xcb, 0x4d, 0x8e, 0x81,
|
||||
0x14, 0xe4, 0x67, 0x32, 0x97, 0xdf, 0x46, 0xe6, 0x1c, 0x01, 0xe4, 0x01, 0xd4, 0x93, 0x34, 0x3e,
|
||||
0x15, 0x21, 0xef, 0xd5, 0x51, 0xd6, 0xed, 0x5c, 0x56, 0x26, 0xe3, 0xc0, 0x10, 0xd0, 0x8c, 0x92,
|
||||
0xbc, 0x80, 0x8e, 0xfd, 0xcc, 0xf4, 0x68, 0xbc, 0x8d, 0x1e, 0x33, 0xcc, 0xe4, 0x13, 0xa8, 0xdb,
|
||||
0x88, 0xeb, 0x35, 0x51, 0xce, 0xbb, 0x65, 0x13, 0x1f, 0x9a, 0x43, 0x9a, 0x51, 0x69, 0xe3, 0x66,
|
||||
0x21, 0x9a, 0x29, 0x00, 0x6f, 0x65, 0xdc, 0x19, 0x6e, 0xf7, 0xcf, 0x35, 0x68, 0xbf, 0x18, 0x87,
|
||||
0x4a, 0xf4, 0x7d, 0x3f, 0x1e, 0x47, 0x8a, 0x10, 0xa8, 0x45, 0x6c, 0xc4, 0x31, 0xbe, 0x9a, 0x14,
|
||||
0xbf, 0xc9, 0x26, 0x34, 0x95, 0x18, 0x71, 0xa9, 0xd8, 0x28, 0xc1, 0x28, 0xab, 0xd2, 0x1c, 0xa1,
|
||||
0x4f, 0x45, 0xc0, 0x23, 0x25, 0xfc, 0x38, 0xea, 0x55, 0x91, 0x2d, 0x47, 0x90, 0xaf, 0x00, 0xfc,
|
||||
0x38, 0x8c, 0x53, 0x6f, 0xc8, 0xe4, 0xd0, 0x06, 0xd2, 0xdd, 0x5c, 0xd9, 0xe2, 0xdd, 0xdb, 0x83,
|
||||
0x38, 0x8c, 0xc7, 0xe9, 0x13, 0x26, 0x87, 0xb4, 0x89, 0x4c, 0xfa, 0x93, 0xf4, 0xa0, 0x8e, 0xc0,
|
||||
0x5e, 0x80, 0x81, 0x54, 0xa5, 0x19, 0x48, 0x3e, 0x82, 0xd5, 0x73, 0x3e, 0xf1, 0x59, 0x1a, 0x78,
|
||||
0x36, 0xad, 0x31, 0x2c, 0x9a, 0xb4, 0x63, 0xd1, 0x07, 0x06, 0x4b, 0x6e, 0x41, 0xfd, 0x9c, 0x4f,
|
||||
0xbc, 0xb1, 0x08, 0xd0, 0xd7, 0x4d, 0xba, 0x7c, 0xce, 0x27, 0xc7, 0x22, 0x20, 0x5f, 0xc0, 0xb2,
|
||||
0x18, 0xb1, 0x33, 0xae, 0xfd, 0xa8, 0x35, 0xfb, 0xce, 0x02, 0xcd, 0xf6, 0xf0, 0x3d, 0x6a, 0xb2,
|
||||
0xa7, 0x89, 0xa9, 0xe5, 0x59, 0x77, 0x01, 0x72, 0x95, 0x75, 0x6a, 0x8a, 0x28, 0xe0, 0xbf, 0xee,
|
||||
0x39, 0x5b, 0xd5, 0x7b, 0x55, 0x6a, 0x80, 0xf5, 0x7f, 0x38, 0xb0, 0x52, 0xe2, 0x2e, 0x2a, 0xe3,
|
||||
0x94, 0x94, 0xc9, 0x4c, 0x5f, 0x29, 0x98, 0xbe, 0x07, 0xf5, 0x84, 0x4d, 0xc2, 0x98, 0x05, 0x68,
|
||||
0xda, 0x36, 0xcd, 0x40, 0x7d, 0xdd, 0x1b, 0x11, 0x28, 0x6d, 0x53, 0x6d, 0x14, 0x03, 0x90, 0xf7,
|
||||
0x60, 0x79, 0xc8, 0xc5, 0xd9, 0x50, 0x59, 0x5b, 0x59, 0x88, 0xac, 0x43, 0x43, 0x07, 0x9e, 0x14,
|
||||
0xbf, 0xe1, 0x68, 0xa3, 0x2a, 0x9d, 0xc2, 0xe4, 0x03, 0x58, 0x49, 0xf1, 0xcb, 0x53, 0x2c, 0x3d,
|
||||
0xe3, 0x0a, 0x6d, 0x54, 0xa5, 0x6d, 0x83, 0x3c, 0x42, 0x5c, 0x5e, 0x78, 0x1a, 0x85, 0xc2, 0xe3,
|
||||
0xfe, 0xcd, 0x81, 0xb5, 0xe7, 0xb1, 0xcf, 0x42, 0x6b, 0xe9, 0x03, 0xab, 0xdc, 0x0f, 0xa0, 0x76,
|
||||
0xce, 0x27, 0x12, 0x4d, 0x51, 0xf2, 0xf7, 0x1c, 0xe2, 0xed, 0x67, 0x7c, 0x42, 0x91, 0x9c, 0x7c,
|
||||
0x0e, 0xed, 0x91, 0x36, 0x3b, 0x33, 0x66, 0x47, 0x4b, 0xb4, 0xee, 0xbf, 0x37, 0xdf, 0x29, 0xb4,
|
||||
0x44, 0xab, 0x5f, 0x98, 0x30, 0x29, 0xdf, 0xc4, 0x69, 0x60, 0xa3, 0x70, 0x0a, 0xaf, 0x7f, 0x0f,
|
||||
0xaa, 0xcf, 0xf8, 0x64, 0x6e, 0x6c, 0x13, 0xa8, 0xe9, 0x62, 0x8c, 0x57, 0xb5, 0x29, 0x7e, 0xbb,
|
||||
0xbf, 0x75, 0xa0, 0xab, 0x75, 0x2c, 0x56, 0xc9, 0x05, 0x95, 0xf7, 0x23, 0x58, 0x15, 0x05, 0x2a,
|
||||
0x6f, 0x5a, 0x86, 0x3b, 0x45, 0xf4, 0x5e, 0x80, 0x7d, 0x80, 0x5f, 0x08, 0x9f, 0x7b, 0x6a, 0x92,
|
||||
0x70, 0xab, 0x21, 0x18, 0xd4, 0xd1, 0x24, 0xe1, 0x53, 0xe5, 0x6a, 0xb9, 0x72, 0xee, 0xbf, 0x1d,
|
||||
0xb8, 0xb5, 0xa0, 0x5c, 0x5f, 0xb3, 0x13, 0x7c, 0x00, 0x2b, 0xb6, 0xe6, 0x78, 0x18, 0xb4, 0xf6,
|
||||
0xe2, 0xb6, 0x45, 0x9a, 0x88, 0xbc, 0x0d, 0x0d, 0x1e, 0x49, 0xaf, 0x70, 0x7d, 0x9d, 0x47, 0x72,
|
||||
0x5f, 0x9b, 0xe7, 0x2e, 0xb4, 0x43, 0x26, 0x95, 0x37, 0x4e, 0x02, 0xa6, 0xb8, 0xc9, 0xc0, 0x1a,
|
||||
0x6d, 0x69, 0xdc, 0xb1, 0x41, 0xe9, 0x97, 0xc9, 0x89, 0x54, 0x7c, 0xe4, 0x29, 0x76, 0xa6, 0x0b,
|
||||
0x73, 0x55, 0xbf, 0xcc, 0xa0, 0x8e, 0xd8, 0x99, 0x24, 0x1f, 0x42, 0x27, 0xd4, 0x6e, 0xf7, 0x22,
|
||||
0xe1, 0x9f, 0xe3, 0x25, 0x26, 0x09, 0x57, 0x10, 0xbb, 0x6f, 0x91, 0xee, 0xbf, 0x96, 0xe0, 0xf6,
|
||||
0xc2, 0xde, 0x44, 0x3e, 0x85, 0x9b, 0x45, 0x45, 0x3c, 0xe4, 0x0d, 0x27, 0xf6, 0xf5, 0xa4, 0xa0,
|
||||
0xd0, 0x73, 0x73, 0xf2, 0x7f, 0x6c, 0x0a, 0xed, 0x5b, 0x16, 0x04, 0x3c, 0xc0, 0xae, 0xd0, 0xa0,
|
||||
0x06, 0xd0, 0xb5, 0xe0, 0x44, 0x3b, 0x99, 0x07, 0x58, 0xf4, 0x1b, 0x34, 0x03, 0x35, 0xfd, 0x68,
|
||||
0xac, 0x75, 0x6a, 0x19, 0x7a, 0x04, 0x34, 0x7d, 0xca, 0x47, 0xf1, 0x05, 0x0f, 0x7a, 0x6d, 0x43,
|
||||
0x6f, 0x41, 0xb2, 0x05, 0xed, 0x21, 0x93, 0x1e, 0x8a, 0xf5, 0xc6, 0xb2, 0xb7, 0x82, 0xc7, 0x30,
|
||||
0x64, 0xb2, 0xaf, 0x51, 0xc7, 0xba, 0x33, 0xad, 0x5d, 0xf0, 0x54, 0x9c, 0x66, 0xc3, 0x8f, 0x54,
|
||||
0x4c, 0x8d, 0x65, 0xaf, 0x83, 0x95, 0x81, 0x14, 0x8f, 0x0e, 0xf1, 0x04, 0xc7, 0x98, 0x74, 0x2c,
|
||||
0x55, 0x46, 0xb9, 0x8a, 0x94, 0x2d, 0xc4, 0x59, 0x92, 0x47, 0xb0, 0x61, 0x7b, 0xbb, 0x97, 0xf2,
|
||||
0x5f, 0x8d, 0xb9, 0x54, 0xc6, 0x8b, 0xc8, 0xc2, 0x7b, 0x5d, 0xe4, 0xe8, 0x59, 0x12, 0x6a, 0x28,
|
||||
0xd0, 0x99, 0x9a, 0x9f, 0x2f, 0x66, 0x37, 0x69, 0x70, 0x63, 0x21, 0xfb, 0x00, 0x33, 0xe3, 0x4b,
|
||||
0xd8, 0x9c, 0x65, 0xd7, 0xe6, 0x50, 0xdc, 0x5e, 0x4f, 0x90, 0xff, 0x76, 0x99, 0x9f, 0x22, 0x85,
|
||||
0xb9, 0x7f, 0xb1, 0x00, 0xa3, 0xc0, 0xda, 0x62, 0x01, 0xa8, 0x81, 0xfb, 0xe6, 0x72, 0x32, 0x67,
|
||||
0x5d, 0x77, 0x7e, 0x32, 0x5f, 0x8a, 0xd8, 0xca, 0x9c, 0x88, 0x9d, 0x0d, 0xcb, 0xea, 0xa5, 0xb0,
|
||||
0x74, 0x1f, 0xc3, 0xfa, 0xec, 0xc5, 0x07, 0xe3, 0x93, 0x50, 0xf8, 0x83, 0x21, 0xbb, 0x66, 0x21,
|
||||
0x71, 0xbf, 0xad, 0xc2, 0x4a, 0x69, 0xea, 0xfb, 0xaf, 0x7c, 0x6d, 0xcc, 0xba, 0x3b, 0xd0, 0x4a,
|
||||
0x52, 0x71, 0xc1, 0x14, 0xf7, 0xce, 0xf9, 0xc4, 0x36, 0x31, 0xb0, 0x28, 0x5d, 0x94, 0xb7, 0x74,
|
||||
0x61, 0x94, 0x7e, 0x2a, 0x12, 0xad, 0x17, 0x26, 0x5d, 0x9b, 0x16, 0x51, 0xba, 0xa7, 0xfd, 0x32,
|
||||
0x16, 0x91, 0x4d, 0xb9, 0x06, 0xb5, 0x90, 0xae, 0xf8, 0x26, 0x10, 0x79, 0x80, 0x3d, 0xad, 0x41,
|
||||
0xa7, 0x70, 0x9e, 0x11, 0xf5, 0x62, 0x46, 0xbc, 0x84, 0xae, 0x75, 0x9d, 0xf4, 0x54, 0xec, 0x69,
|
||||
0x39, 0xb6, 0xf1, 0x7f, 0xb8, 0x68, 0xb6, 0xb5, 0xe4, 0x47, 0xf1, 0xd3, 0x58, 0x44, 0xb4, 0x93,
|
||||
0x96, 0x60, 0xf2, 0x10, 0x1a, 0xd9, 0x44, 0x65, 0x27, 0xb8, 0x3b, 0x0b, 0x04, 0xd9, 0x51, 0x4e,
|
||||
0xd2, 0x29, 0x83, 0x1e, 0x9c, 0x78, 0xe4, 0xa7, 0x93, 0x44, 0x4d, 0x33, 0x3a, 0x47, 0xe8, 0x53,
|
||||
0x99, 0x70, 0x5f, 0xb1, 0x3c, 0xaf, 0x73, 0x84, 0xee, 0x3b, 0x96, 0x54, 0x67, 0x27, 0xf6, 0xda,
|
||||
0x36, 0x5a, 0xae, 0x93, 0xa3, 0x9f, 0xf1, 0x89, 0x74, 0xff, 0xea, 0xc0, 0xc6, 0x15, 0x2f, 0xb2,
|
||||
0xfe, 0x72, 0xa6, 0xfe, 0x7a, 0x1f, 0x20, 0xc1, 0xd8, 0x40, 0x77, 0x19, 0xff, 0x37, 0x0d, 0x46,
|
||||
0x7b, 0x6b, 0xea, 0xf4, 0x6a, 0xd1, 0xe9, 0x57, 0x54, 0xcd, 0x5b, 0x50, 0xf7, 0x87, 0x4c, 0xe9,
|
||||
0xc6, 0xb8, 0x64, 0xa6, 0x1d, 0x0d, 0xee, 0x05, 0x3a, 0x6e, 0xb3, 0xa9, 0x7c, 0xa2, 0x4f, 0x97,
|
||||
0x8d, 0xe3, 0xa7, 0xb8, 0x3d, 0x74, 0xa2, 0xc9, 0xcd, 0xba, 0xb9, 0x0c, 0x01, 0xf7, 0x77, 0x15,
|
||||
0xe8, 0xce, 0x86, 0x33, 0x79, 0x54, 0xd8, 0x78, 0x2e, 0x0d, 0x1d, 0x0b, 0xba, 0x4a, 0x61, 0xdf,
|
||||
0xf9, 0x1a, 0xda, 0xf6, 0xd5, 0x5a, 0x3b, 0xd9, 0xab, 0xcc, 0x4e, 0x83, 0x8b, 0xf3, 0x87, 0xb6,
|
||||
0x92, 0xe9, 0xb7, 0x24, 0x0f, 0xa1, 0x9e, 0x0d, 0x2f, 0x55, 0x8c, 0x87, 0x2b, 0xd4, 0xc8, 0xe6,
|
||||
0x98, 0x8c, 0xe3, 0x7f, 0xd8, 0xba, 0xdc, 0xcf, 0x60, 0x15, 0x4f, 0xb5, 0x42, 0xb6, 0xc8, 0x5f,
|
||||
0x2f, 0xaf, 0xbf, 0x80, 0x9b, 0x19, 0xe3, 0x0b, 0xb3, 0xd7, 0x4a, 0xca, 0xd9, 0x75, 0xb9, 0xbf,
|
||||
0x82, 0xf7, 0x34, 0x77, 0xdf, 0x57, 0xe2, 0x42, 0xa8, 0xc9, 0x80, 0x47, 0x8a, 0xa7, 0x57, 0xf0,
|
||||
0x77, 0xa1, 0x2a, 0x02, 0x63, 0xde, 0x36, 0xd5, 0x9f, 0xee, 0x8e, 0xa9, 0x4d, 0x65, 0x09, 0x7d,
|
||||
0xdf, 0xe7, 0x98, 0x04, 0xd7, 0x95, 0xb2, 0x6b, 0x82, 0xbc, 0x2c, 0x65, 0x47, 0xc8, 0x91, 0x90,
|
||||
0xf2, 0x2d, 0xc4, 0x7c, 0xe3, 0x40, 0x5b, 0xcb, 0x79, 0x1c, 0xc7, 0xe7, 0x23, 0x96, 0x9e, 0x2f,
|
||||
0x66, 0x1c, 0xa7, 0xa1, 0x35, 0x83, 0xfe, 0x9c, 0x0e, 0x6f, 0xd5, 0xc2, 0x64, 0xb9, 0x01, 0x4d,
|
||||
0xac, 0xda, 0x9e, 0xa6, 0x35, 0x59, 0xd1, 0x40, 0xc4, 0x71, 0x1a, 0x16, 0x7b, 0xf3, 0x52, 0xb9,
|
||||
0x37, 0xbf, 0x0f, 0x10, 0xf0, 0x90, 0xeb, 0x19, 0x87, 0x29, 0xcc, 0x8a, 0x1a, 0x6d, 0x5a, 0x4c,
|
||||
0x5f, 0xb9, 0x4f, 0x4d, 0xf0, 0x0f, 0x42, 0xce, 0xd2, 0x27, 0x42, 0xaa, 0x38, 0x9d, 0x14, 0x73,
|
||||
0xcc, 0x29, 0xe5, 0xd8, 0xfb, 0x00, 0xbe, 0x26, 0x34, 0xb2, 0x2a, 0x46, 0x96, 0xc5, 0xf4, 0x95,
|
||||
0xfb, 0x17, 0x07, 0x88, 0x16, 0x66, 0xd7, 0xdc, 0x03, 0xe1, 0xab, 0x71, 0xca, 0xe7, 0x8e, 0xc9,
|
||||
0x85, 0x3d, 0xa4, 0xb2, 0x60, 0x0f, 0xa9, 0xe2, 0x0f, 0x17, 0x97, 0xf6, 0x90, 0x1a, 0xa2, 0xb3,
|
||||
0x3d, 0x64, 0x03, 0x9a, 0xd8, 0xcf, 0x70, 0x11, 0x59, 0xc2, 0x23, 0x5c, 0x44, 0x0e, 0xe7, 0x2e,
|
||||
0x22, 0xcb, 0x48, 0xb0, 0x60, 0x11, 0xa9, 0x17, 0x17, 0x91, 0x21, 0xac, 0x5d, 0x7e, 0x89, 0x5c,
|
||||
0xbc, 0x6b, 0xfd, 0x08, 0x1a, 0x89, 0x25, 0xb2, 0xc9, 0xbe, 0x59, 0xce, 0xb3, 0xb2, 0x24, 0x3a,
|
||||
0xa5, 0x76, 0xff, 0x50, 0x81, 0x1b, 0x9a, 0xe0, 0x35, 0x0b, 0x43, 0xae, 0xae, 0x6e, 0xe0, 0x3d,
|
||||
0xa8, 0xb3, 0x20, 0x48, 0xb9, 0x94, 0x99, 0xd5, 0x2c, 0xa8, 0xed, 0xf3, 0x06, 0x05, 0xa0, 0xd9,
|
||||
0x1a, 0xd4, 0x42, 0xda, 0xf6, 0xda, 0x77, 0x68, 0xb5, 0x06, 0xc5, 0x6f, 0x8d, 0xc3, 0x9d, 0xc1,
|
||||
0xd4, 0x4f, 0xfc, 0xd6, 0x92, 0xb5, 0xef, 0xf5, 0x50, 0x60, 0x56, 0xde, 0x0c, 0xd4, 0xd4, 0x09,
|
||||
0x53, 0x43, 0x3b, 0x58, 0xe2, 0xb7, 0xee, 0x25, 0xd3, 0x12, 0x8e, 0x0b, 0x5c, 0xbb, 0x58, 0xd3,
|
||||
0x33, 0x7f, 0x37, 0x0b, 0xfe, 0xd6, 0xef, 0xd1, 0x5b, 0x36, 0xf6, 0xa5, 0x26, 0x35, 0x00, 0x7a,
|
||||
0x55, 0x04, 0x01, 0x8f, 0x6c, 0x43, 0xb2, 0xd0, 0xe2, 0x49, 0xd3, 0x7d, 0x61, 0x22, 0xac, 0x64,
|
||||
0x2c, 0x49, 0x3e, 0x83, 0x86, 0xad, 0x79, 0x59, 0xb5, 0xde, 0x28, 0x5b, 0xbf, 0x44, 0x4f, 0xa7,
|
||||
0xc4, 0xee, 0x9f, 0x1c, 0x13, 0xfe, 0x87, 0xec, 0x82, 0x07, 0x7d, 0x6b, 0xcb, 0x82, 0x95, 0x9d,
|
||||
0xb2, 0x95, 0xe7, 0x6d, 0xd4, 0x9b, 0xd0, 0x3c, 0x65, 0x17, 0xf1, 0x38, 0x15, 0x8a, 0x5b, 0xe3,
|
||||
0xe7, 0x08, 0xdd, 0xc9, 0xfc, 0x21, 0x13, 0xb8, 0xc8, 0xd5, 0xd0, 0x95, 0x75, 0x84, 0xf7, 0x82,
|
||||
0x2b, 0x52, 0xf6, 0x2e, 0xb4, 0xcd, 0xf4, 0xe5, 0x15, 0x23, 0xb3, 0x65, 0x70, 0x66, 0xf6, 0xfb,
|
||||
0xbd, 0x03, 0xef, 0xce, 0x9d, 0x07, 0x16, 0x44, 0xce, 0x6c, 0x77, 0x34, 0x2f, 0x28, 0x75, 0xc7,
|
||||
0x5d, 0xb8, 0x33, 0x34, 0x05, 0xc0, 0x63, 0xa9, 0x3f, 0x14, 0x17, 0xdc, 0x93, 0xe3, 0x24, 0x89,
|
||||
0x53, 0xe5, 0xf1, 0x88, 0x9d, 0x84, 0x76, 0x16, 0x6c, 0xd0, 0x4d, 0x4b, 0xd6, 0x37, 0x54, 0x87,
|
||||
0x86, 0x68, 0xd7, 0xd0, 0xb8, 0x7f, 0x74, 0x4c, 0xeb, 0x38, 0xd2, 0x93, 0xba, 0x9e, 0xfd, 0x79,
|
||||
0x7a, 0xcd, 0xdd, 0xf2, 0x11, 0x2c, 0xdb, 0x61, 0x5f, 0xdf, 0xd3, 0x99, 0x9d, 0xa1, 0x0a, 0x02,
|
||||
0xb7, 0x8f, 0xf2, 0x35, 0x80, 0x5a, 0x26, 0xf7, 0x73, 0x68, 0x15, 0xd0, 0xa4, 0x05, 0xf5, 0xe3,
|
||||
0xfd, 0x67, 0xfb, 0x2f, 0x5f, 0xef, 0x77, 0xdf, 0xd1, 0xc0, 0x11, 0x3d, 0x3e, 0x3c, 0xda, 0xdd,
|
||||
0xe9, 0x3a, 0xe4, 0x06, 0xac, 0x1c, 0xef, 0x23, 0xf8, 0xfa, 0x25, 0x3d, 0x7a, 0xf2, 0xb3, 0x6e,
|
||||
0xc5, 0xfd, 0xa6, 0x6a, 0x66, 0xe9, 0x57, 0x85, 0x45, 0xc4, 0x0e, 0x36, 0x0b, 0x94, 0x27, 0x50,
|
||||
0x3b, 0x4d, 0xe3, 0x51, 0x16, 0x0a, 0xfa, 0x5b, 0x3f, 0x48, 0xc5, 0xb6, 0x66, 0x57, 0x54, 0xac,
|
||||
0x43, 0xc3, 0x1f, 0xea, 0xc8, 0x8b, 0xce, 0xb2, 0x39, 0x26, 0x47, 0x68, 0x97, 0xd8, 0xe9, 0xcf,
|
||||
0x94, 0x53, 0xbb, 0xff, 0x4d, 0x71, 0x7d, 0xfc, 0x0d, 0x22, 0xe5, 0x32, 0x89, 0x23, 0x99, 0xa5,
|
||||
0xe5, 0x14, 0xd6, 0xb5, 0x38, 0xe5, 0x49, 0x28, 0x0c, 0xb3, 0x09, 0x91, 0xa6, 0xc5, 0xf4, 0x15,
|
||||
0xe1, 0xf3, 0x17, 0xae, 0x06, 0x5a, 0xf6, 0xfb, 0x65, 0xcb, 0xce, 0x79, 0xf5, 0xf6, 0xab, 0x4b,
|
||||
0x2b, 0xd9, 0xdc, 0x35, 0xcd, 0xf8, 0xb0, 0x39, 0x6d, 0xe0, 0x3f, 0x05, 0x72, 0x99, 0xf3, 0x92,
|
||||
0x2f, 0x0e, 0x76, 0xf7, 0x77, 0xf6, 0xf6, 0xbf, 0xee, 0x3a, 0xa4, 0x0d, 0x8d, 0xfe, 0x60, 0xb0,
|
||||
0x7b, 0xa0, 0x3d, 0x53, 0xd1, 0xd0, 0xce, 0xee, 0xe0, 0xf9, 0xde, 0xfe, 0xee, 0x4e, 0xb7, 0xaa,
|
||||
0xa1, 0x41, 0x7f, 0x7f, 0xb0, 0xfb, 0x7c, 0x77, 0xa7, 0x5b, 0x73, 0xff, 0xe9, 0x98, 0xce, 0x3e,
|
||||
0x28, 0xed, 0x43, 0x3b, 0xdc, 0x17, 0x72, 0xf1, 0xcf, 0x29, 0x9b, 0xd0, 0xb4, 0xf6, 0xdc, 0xcb,
|
||||
0x22, 0x2d, 0x47, 0x90, 0x5f, 0xc0, 0x6a, 0x60, 0xf9, 0xbd, 0x52, 0xe4, 0x3d, 0x98, 0x9d, 0x91,
|
||||
0xe6, 0x5d, 0xb9, 0x9d, 0x7d, 0x58, 0xf3, 0x74, 0x82, 0x12, 0xec, 0x7e, 0x0c, 0x9d, 0x32, 0x45,
|
||||
0xe9, 0xb1, 0xef, 0x94, 0x1e, 0xeb, 0xb8, 0xdf, 0x3a, 0xb0, 0x3a, 0xf3, 0x33, 0xf1, 0xe2, 0x6e,
|
||||
0x73, 0x17, 0xda, 0x81, 0x90, 0x49, 0xc8, 0x26, 0x5e, 0xa1, 0x1e, 0xb5, 0x2c, 0x0e, 0xe7, 0xe4,
|
||||
0x8f, 0x81, 0x14, 0x49, 0xbc, 0xe2, 0x94, 0xdd, 0x2d, 0x10, 0x9a, 0x65, 0xb6, 0xd8, 0xbe, 0x6a,
|
||||
0x6f, 0xd5, 0xbe, 0x24, 0x00, 0x65, 0x6f, 0xec, 0xa8, 0x57, 0x6c, 0xeb, 0x4e, 0xb9, 0xad, 0x3f,
|
||||
0x83, 0x96, 0xfd, 0x3f, 0xc7, 0x91, 0xee, 0x3d, 0x15, 0xb4, 0xf3, 0x77, 0xf3, 0x4b, 0xfa, 0xf9,
|
||||
0x7f, 0x46, 0x5e, 0xd8, 0x7f, 0x8c, 0x58, 0xa1, 0xdb, 0x9a, 0x81, 0x16, 0xb9, 0x75, 0x2c, 0x74,
|
||||
0xb4, 0x56, 0x85, 0x9b, 0x7f, 0x08, 0xad, 0x74, 0x0a, 0x65, 0x5d, 0xe0, 0x66, 0x2e, 0x3f, 0x27,
|
||||
0xa5, 0x45, 0x42, 0x72, 0x1f, 0x6e, 0xca, 0xf1, 0x49, 0xd6, 0x49, 0x9e, 0xca, 0x38, 0x7a, 0x3c,
|
||||
0x51, 0x3c, 0xeb, 0xaf, 0x73, 0xcf, 0xc8, 0xc7, 0x70, 0x23, 0x5b, 0xba, 0x72, 0x06, 0xb3, 0x89,
|
||||
0x5e, 0x3e, 0x20, 0x9f, 0xc2, 0x5a, 0x14, 0x07, 0x7c, 0x10, 0x47, 0xa7, 0xe2, 0x2c, 0xa7, 0x37,
|
||||
0x8b, 0xe9, 0xbc, 0xa3, 0xc7, 0x2b, 0x3f, 0x6f, 0x6d, 0x7f, 0xf2, 0x30, 0x53, 0xfd, 0x64, 0x19,
|
||||
0xbf, 0x1e, 0xfc, 0x27, 0x00, 0x00, 0xff, 0xff, 0x86, 0x34, 0x55, 0x7f, 0x6c, 0x1a, 0x00, 0x00,
|
||||
}
|
||||
|
|
|
@ -97,7 +97,10 @@ message SyncInstallationContactV2 {
|
|||
bool has_added_us = 13;
|
||||
int64 verification_status = 14;
|
||||
int64 trust_status = 15;
|
||||
int64 contact_request_state = 16;
|
||||
int64 contact_request_local_state = 16;
|
||||
int64 contact_request_local_clock = 17;
|
||||
int64 contact_request_remote_state = 18;
|
||||
int64 contact_request_remote_clock = 19;
|
||||
}
|
||||
|
||||
message SyncInstallationAccount {
|
||||
|
|
|
@ -55,16 +55,16 @@ func (StatusUpdate_StatusType) EnumDescriptor() ([]byte, []int) {
|
|||
}
|
||||
|
||||
// Specs:
|
||||
// :AUTOMATIC
|
||||
// To Send - "AUTOMATIC" status ping every 5 minutes
|
||||
// Display - Online for up to 5 minutes from the last clock, after that Offline
|
||||
// :ALWAYS_ONLINE
|
||||
// To Send - "ALWAYS_ONLINE" status ping every 5 minutes
|
||||
// Display - Online for up to 2 weeks from the last clock, after that Offline
|
||||
// :INACTIVE
|
||||
// To Send - A single "INACTIVE" status ping
|
||||
// Display - Offline forever
|
||||
// Note: Only send pings if the user interacted with the app in the last x minutes.
|
||||
//:AUTOMATIC
|
||||
//To Send - "AUTOMATIC" status ping every 5 minutes
|
||||
//Display - Online for up to 5 minutes from the last clock, after that Offline
|
||||
//:ALWAYS_ONLINE
|
||||
//To Send - "ALWAYS_ONLINE" status ping every 5 minutes
|
||||
//Display - Online for up to 2 weeks from the last clock, after that Offline
|
||||
//:INACTIVE
|
||||
//To Send - A single "INACTIVE" status ping
|
||||
//Display - Offline forever
|
||||
//Note: Only send pings if the user interacted with the app in the last x minutes.
|
||||
type StatusUpdate struct {
|
||||
Clock uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"`
|
||||
StatusType StatusUpdate_StatusType `protobuf:"varint,2,opt,name=status_type,json=statusType,proto3,enum=protobuf.StatusUpdate_StatusType" json:"status_type,omitempty"`
|
||||
|
|
|
@ -85,7 +85,6 @@ type SyncSetting struct {
|
|||
Type SyncSetting_Type `protobuf:"varint,1,opt,name=type,proto3,enum=protobuf.SyncSetting_Type" json:"type,omitempty"`
|
||||
Clock uint64 `protobuf:"varint,2,opt,name=clock,proto3" json:"clock,omitempty"`
|
||||
// Types that are valid to be assigned to Value:
|
||||
//
|
||||
// *SyncSetting_ValueString
|
||||
// *SyncSetting_ValueBytes
|
||||
// *SyncSetting_ValueBool
|
||||
|
|
|
@ -295,9 +295,9 @@ func (s *MessengerPushNotificationSuite) TestReceivePushNotificationFromContactO
|
|||
|
||||
// Add alice has a contact
|
||||
aliceContact := &Contact{
|
||||
ID: types.EncodeHex(crypto.FromECDSAPub(&alice.identity.PublicKey)),
|
||||
EnsName: "Some Contact",
|
||||
Added: true,
|
||||
ID: types.EncodeHex(crypto.FromECDSAPub(&alice.identity.PublicKey)),
|
||||
EnsName: "Some Contact",
|
||||
ContactRequestLocalState: ContactRequestStateSent,
|
||||
}
|
||||
|
||||
_, err = bob.AddContact(context.Background(), &requests.AddContact{ID: types.Hex2Bytes(aliceContact.ID)})
|
||||
|
@ -441,9 +441,9 @@ func (s *MessengerPushNotificationSuite) TestReceivePushNotificationRetries() {
|
|||
|
||||
// Add alice has a contact
|
||||
aliceContact := &Contact{
|
||||
ID: types.EncodeHex(crypto.FromECDSAPub(&alice.identity.PublicKey)),
|
||||
EnsName: "Some Contact",
|
||||
Added: true,
|
||||
ID: types.EncodeHex(crypto.FromECDSAPub(&alice.identity.PublicKey)),
|
||||
EnsName: "Some Contact",
|
||||
ContactRequestLocalState: ContactRequestStateSent,
|
||||
}
|
||||
|
||||
_, err = bob.AddContact(context.Background(), &requests.AddContact{ID: types.Hex2Bytes(aliceContact.ID)})
|
||||
|
@ -451,9 +451,9 @@ func (s *MessengerPushNotificationSuite) TestReceivePushNotificationRetries() {
|
|||
|
||||
// Add frank has a contact
|
||||
frankContact := &Contact{
|
||||
ID: types.EncodeHex(crypto.FromECDSAPub(&frank.identity.PublicKey)),
|
||||
EnsName: "Some Contact",
|
||||
Added: true,
|
||||
ID: types.EncodeHex(crypto.FromECDSAPub(&frank.identity.PublicKey)),
|
||||
EnsName: "Some Contact",
|
||||
ContactRequestLocalState: ContactRequestStateSent,
|
||||
}
|
||||
|
||||
_, err = bob.AddContact(context.Background(), &requests.AddContact{ID: types.Hex2Bytes(frankContact.ID)})
|
||||
|
|
|
@ -90,7 +90,7 @@ func _1593601729_initial_schemaDownSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1593601729_initial_schema.down.sql", size: 144, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1593601729_initial_schema.down.sql", size: 144, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa, 0x95, 0x55, 0x64, 0x38, 0x40, 0x16, 0xbf, 0x8b, 0x1c, 0x18, 0xb4, 0xc5, 0x7f, 0xd0, 0xb8, 0xf0, 0x3c, 0xa2, 0x82, 0xf8, 0x8d, 0x5a, 0xd3, 0xb6, 0x6e, 0xa3, 0xb4, 0xc, 0x9, 0x33, 0x0}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -110,7 +110,7 @@ func _1593601729_initial_schemaUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1593601729_initial_schema.up.sql", size: 1773, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1593601729_initial_schema.up.sql", size: 1773, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x4e, 0x1e, 0x5, 0x35, 0x9, 0xb2, 0x2d, 0x6f, 0x33, 0x63, 0xa2, 0x7a, 0x5b, 0xd2, 0x2d, 0xcb, 0x79, 0x7e, 0x6, 0xb4, 0x9d, 0x35, 0xd8, 0x9b, 0x55, 0xe5, 0xf8, 0x44, 0xca, 0xa6, 0xf3, 0xd3}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -130,7 +130,7 @@ func _1597909626_add_server_typeDownSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1597909626_add_server_type.down.sql", size: 0, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1597909626_add_server_type.down.sql", size: 0, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe3, 0xb0, 0xc4, 0x42, 0x98, 0xfc, 0x1c, 0x14, 0x9a, 0xfb, 0xf4, 0xc8, 0x99, 0x6f, 0xb9, 0x24, 0x27, 0xae, 0x41, 0xe4, 0x64, 0x9b, 0x93, 0x4c, 0xa4, 0x95, 0x99, 0x1b, 0x78, 0x52, 0xb8, 0x55}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -150,7 +150,7 @@ func _1597909626_add_server_typeUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1597909626_add_server_type.up.sql", size: 145, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1597909626_add_server_type.up.sql", size: 145, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc8, 0x3f, 0xe0, 0xe7, 0x57, 0x0, 0x5d, 0x60, 0xf3, 0x55, 0x64, 0x71, 0x80, 0x3c, 0xca, 0x8, 0x61, 0xb5, 0x3c, 0xe, 0xa1, 0xe4, 0x61, 0xd1, 0x4e, 0xd8, 0xb2, 0x55, 0xdd, 0x87, 0x62, 0x9b}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -170,7 +170,7 @@ func _1599053776_add_chat_id_and_typeDownSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1599053776_add_chat_id_and_type.down.sql", size: 0, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1599053776_add_chat_id_and_type.down.sql", size: 0, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe3, 0xb0, 0xc4, 0x42, 0x98, 0xfc, 0x1c, 0x14, 0x9a, 0xfb, 0xf4, 0xc8, 0x99, 0x6f, 0xb9, 0x24, 0x27, 0xae, 0x41, 0xe4, 0x64, 0x9b, 0x93, 0x4c, 0xa4, 0x95, 0x99, 0x1b, 0x78, 0x52, 0xb8, 0x55}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -190,7 +190,7 @@ func _1599053776_add_chat_id_and_typeUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1599053776_add_chat_id_and_type.up.sql", size: 264, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1599053776_add_chat_id_and_type.up.sql", size: 264, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xea, 0x7a, 0xf9, 0xc4, 0xa2, 0x96, 0x2e, 0xf9, 0x8f, 0x7, 0xf1, 0x1e, 0x73, 0x8a, 0xa6, 0x3a, 0x13, 0x4, 0x73, 0x82, 0x83, 0xb, 0xe3, 0xb5, 0x3b, 0x7e, 0xd, 0x23, 0xce, 0x98, 0xd4, 0xdc}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -210,7 +210,7 @@ func docGo() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "doc.go", size: 382, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "doc.go", size: 382, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc0, 0x2f, 0x1e, 0x64, 0x9, 0x93, 0xe4, 0x8b, 0xf2, 0x98, 0x5a, 0x45, 0xe2, 0x80, 0x88, 0x67, 0x7a, 0x2d, 0xd7, 0x4b, 0xd1, 0x73, 0xb6, 0x6d, 0x15, 0xc2, 0x0, 0x34, 0xcd, 0xa0, 0xdb, 0x20}}
|
||||
return a, nil
|
||||
}
|
||||
|
|
|
@ -88,7 +88,7 @@ func _1593601728_initial_schemaDownSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1593601728_initial_schema.down.sql", size: 200, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1593601728_initial_schema.down.sql", size: 200, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x88, 0x8a, 0x61, 0x81, 0x57, 0x45, 0x9b, 0x97, 0x9b, 0x1f, 0xf6, 0x94, 0x8a, 0x20, 0xb3, 0x2b, 0xff, 0x69, 0x49, 0xf4, 0x58, 0xcc, 0xd0, 0x55, 0xcc, 0x9a, 0x8b, 0xb6, 0x7f, 0x29, 0x53, 0xc1}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -108,7 +108,7 @@ func _1593601728_initial_schemaUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1593601728_initial_schema.up.sql", size: 675, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1593601728_initial_schema.up.sql", size: 675, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xfd, 0x61, 0x90, 0x79, 0xd9, 0x14, 0x65, 0xe9, 0x96, 0x53, 0x17, 0x33, 0x54, 0xeb, 0x8b, 0x5d, 0x95, 0x99, 0x10, 0x36, 0x58, 0xdd, 0xb2, 0xbf, 0x45, 0xd9, 0xbb, 0xc4, 0x92, 0xe, 0xce, 0x2}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -128,7 +128,7 @@ func _1598419937_add_push_notifications_tableDownSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1598419937_add_push_notifications_table.down.sql", size: 51, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1598419937_add_push_notifications_table.down.sql", size: 51, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc, 0x98, 0xc8, 0x30, 0x45, 0x5b, 0xc5, 0x7d, 0x13, 0x5d, 0xe7, 0xc8, 0x23, 0x43, 0xf7, 0xdc, 0x9c, 0xe2, 0xdd, 0x63, 0xf0, 0xb7, 0x16, 0x40, 0xc, 0xda, 0xb9, 0x16, 0x70, 0x2b, 0x5a, 0x7e}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -148,7 +148,7 @@ func _1598419937_add_push_notifications_tableUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1598419937_add_push_notifications_table.up.sql", size: 104, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1598419937_add_push_notifications_table.up.sql", size: 104, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x2, 0x3e, 0xef, 0xf, 0xc2, 0xdf, 0xbc, 0x99, 0x7a, 0xc2, 0xd3, 0x64, 0x4f, 0x4c, 0x7e, 0xfc, 0x2e, 0x8c, 0xa7, 0x54, 0xd3, 0x4d, 0x25, 0x98, 0x41, 0xbc, 0xea, 0xd7, 0x2, 0xc1, 0xd0, 0x52}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -168,7 +168,7 @@ func docGo() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "doc.go", size: 382, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "doc.go", size: 382, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc0, 0x2f, 0x1e, 0x64, 0x9, 0x93, 0xe4, 0x8b, 0xf2, 0x98, 0x5a, 0x45, 0xe2, 0x80, 0x88, 0x67, 0x7a, 0x2d, 0xd7, 0x4b, 0xd1, 0x73, 0xb6, 0x6d, 0x15, 0xc2, 0x0, 0x34, 0xcd, 0xa0, 0xdb, 0x20}}
|
||||
return a, nil
|
||||
}
|
||||
|
|
|
@ -1,21 +0,0 @@
|
|||
package requests
|
||||
|
||||
import (
|
||||
"errors"
|
||||
|
||||
"github.com/status-im/status-go/eth-node/types"
|
||||
)
|
||||
|
||||
var ErrRejectContactRequestInvalidID = errors.New("reject-contact-request: invalid id")
|
||||
|
||||
type RejectContactRequest struct {
|
||||
ID types.HexBytes `json:"id"`
|
||||
}
|
||||
|
||||
func (a *RejectContactRequest) Validate() error {
|
||||
if len(a.ID) == 0 {
|
||||
return ErrRejectContactRequestInvalidID
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
|
@ -89,7 +89,7 @@ func _1561059284_add_waku_keysDownSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1561059284_add_waku_keys.down.sql", size: 22, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1561059284_add_waku_keys.down.sql", size: 22, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe5, 0x2a, 0x7e, 0x9, 0xa3, 0xdd, 0xc6, 0x3, 0xfa, 0xaa, 0x98, 0xa0, 0x26, 0x5e, 0x67, 0x43, 0xe6, 0x20, 0xfd, 0x10, 0xfd, 0x60, 0x89, 0x17, 0x13, 0x87, 0x1b, 0x44, 0x36, 0x79, 0xb6, 0x60}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -109,7 +109,7 @@ func _1561059284_add_waku_keysUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1561059284_add_waku_keys.up.sql", size: 109, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1561059284_add_waku_keys.up.sql", size: 109, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa9, 0x5c, 0x8, 0x32, 0xef, 0x12, 0x88, 0x21, 0xd, 0x7a, 0x42, 0x4d, 0xe7, 0x2d, 0x6c, 0x99, 0xb6, 0x1, 0xf1, 0xba, 0x2c, 0x40, 0x8d, 0xa9, 0x4b, 0xe6, 0xc4, 0x21, 0xec, 0x47, 0x6b, 0xf7}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -129,7 +129,7 @@ func _1616691080_add_wakuv2_keysDownSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1616691080_add_wakuV2_keys.down.sql", size: 24, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1616691080_add_wakuV2_keys.down.sql", size: 24, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x42, 0xb6, 0x23, 0x70, 0xb8, 0x63, 0x18, 0x61, 0xea, 0x35, 0x6e, 0xae, 0xe9, 0x71, 0x89, 0xa, 0xa5, 0x72, 0xa2, 0x64, 0xaa, 0x45, 0x1, 0xf, 0xfc, 0xee, 0x1b, 0xd9, 0xd2, 0x27, 0xf4, 0xe2}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -149,7 +149,7 @@ func _1616691080_add_wakuv2_keysUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1616691080_add_wakuV2_keys.up.sql", size: 111, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1616691080_add_wakuV2_keys.up.sql", size: 111, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x10, 0xf0, 0x97, 0x25, 0xfe, 0x96, 0x2c, 0xa8, 0x62, 0x4a, 0x71, 0x75, 0xff, 0x5f, 0x43, 0x1e, 0x71, 0x53, 0xf1, 0xde, 0xf, 0xcf, 0xcd, 0x87, 0x15, 0x61, 0x9d, 0x25, 0x2e, 0xaf, 0x18, 0x99}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -169,7 +169,7 @@ func _1634723014_add_wakuv2_keysUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1634723014_add_wakuV2_keys.up.sql", size: 125, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "1634723014_add_wakuV2_keys.up.sql", size: 125, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7e, 0xe1, 0x7a, 0x1e, 0x6, 0xad, 0x1b, 0x37, 0xdb, 0xea, 0x94, 0xaf, 0xe0, 0x7d, 0xc9, 0xd6, 0xda, 0x52, 0x71, 0x8a, 0x44, 0xb3, 0xa6, 0x7b, 0x1e, 0x90, 0xdb, 0x1e, 0x5a, 0xa, 0x40, 0x26}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -189,7 +189,7 @@ func docGo() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "doc.go", size: 373, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "doc.go", size: 373, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x23, 0x6a, 0xc1, 0xce, 0x94, 0xf6, 0xef, 0xf1, 0x97, 0x95, 0xb, 0x35, 0xaf, 0x5f, 0xe7, 0x5f, 0xac, 0x6e, 0xb8, 0xab, 0xba, 0xb5, 0x35, 0x97, 0x22, 0x36, 0x11, 0xce, 0x44, 0xfc, 0xfa, 0xac}}
|
||||
return a, nil
|
||||
}
|
||||
|
|
|
@ -719,10 +719,6 @@ func (api *PublicAPI) RetractContactRequest(ctx context.Context, request *reques
|
|||
return api.service.messenger.RetractContactRequest(request)
|
||||
}
|
||||
|
||||
func (api *PublicAPI) RejectContactRequest(ctx context.Context, request *requests.RejectContactRequest) (*protocol.MessengerResponse, error) {
|
||||
return api.service.messenger.RejectContactRequest(ctx, request)
|
||||
}
|
||||
|
||||
func (api *PublicAPI) DismissContactRequest(ctx context.Context, request *requests.DismissContactRequest) (*protocol.MessengerResponse, error) {
|
||||
return api.service.messenger.DismissContactRequest(ctx, request)
|
||||
}
|
||||
|
|
|
@ -104,7 +104,7 @@ func emojisTxt() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "emojis.txt", size: 28134, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "emojis.txt", size: 28134, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf5, 0x28, 0xc, 0x22, 0x34, 0xa1, 0xeb, 0x8, 0x8d, 0xef, 0x38, 0x1b, 0xd8, 0xc2, 0x1a, 0x6d, 0xa2, 0x62, 0xad, 0x43, 0xfc, 0x1c, 0x38, 0xda, 0x8c, 0x3f, 0x34, 0xa, 0x8c, 0x6f, 0x5d, 0xd8}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -124,7 +124,7 @@ func ConfigReadmeMd() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "../config/README.md", size: 3031, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "../config/README.md", size: 3031, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x15, 0x44, 0x2b, 0x13, 0x14, 0x34, 0xa, 0x66, 0x62, 0x1b, 0xc6, 0x4a, 0x2c, 0x7d, 0x4d, 0x89, 0xfb, 0xc9, 0x69, 0xe4, 0x18, 0x5f, 0x3, 0x98, 0x6d, 0x3c, 0x9e, 0xa8, 0xcd, 0x53, 0x5d, 0x75}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -144,7 +144,7 @@ func ConfigCliAnonMetricNodeClientJson() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "../config/cli/anon-metric-node-client.json", size: 857, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "../config/cli/anon-metric-node-client.json", size: 857, mode: os.FileMode(0644), modTime: time.Unix(1648117578, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x90, 0xdf, 0xcd, 0xc8, 0x92, 0x1d, 0x63, 0x5e, 0xe1, 0xf9, 0x7f, 0xed, 0xf2, 0x68, 0x6b, 0x20, 0xff, 0x1d, 0x3b, 0xc9, 0x7b, 0xb9, 0x6a, 0xba, 0xd3, 0xbd, 0xf7, 0x48, 0x7b, 0x5a, 0x52, 0x79}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -164,7 +164,7 @@ func ConfigCliAnonMetricNodeServerJson() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "../config/cli/anon-metric-node-server.json", size: 696, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "../config/cli/anon-metric-node-server.json", size: 696, mode: os.FileMode(0644), modTime: time.Unix(1648117578, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf0, 0x2f, 0x97, 0xab, 0x77, 0x61, 0x93, 0x9d, 0x1f, 0x33, 0x18, 0x72, 0xad, 0xce, 0xa3, 0x35, 0xa9, 0x44, 0xbf, 0x29, 0xa8, 0xea, 0x21, 0xb7, 0x22, 0x7f, 0x7d, 0x3a, 0x6b, 0x55, 0x3c, 0x66}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -184,7 +184,7 @@ func ConfigCliFleetEthProdJson() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "../config/cli/fleet-eth.prod.json", size: 4470, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "../config/cli/fleet-eth.prod.json", size: 4470, mode: os.FileMode(0644), modTime: time.Unix(1648117578, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x34, 0x7b, 0x71, 0xe3, 0x8a, 0xb0, 0x7f, 0xc3, 0xe, 0xd2, 0x67, 0x38, 0x50, 0xf4, 0x27, 0xaa, 0xec, 0x47, 0xa1, 0x1, 0xf7, 0x5d, 0xe9, 0x8f, 0x3c, 0x35, 0x9f, 0xdb, 0x9b, 0x30, 0x88, 0x26}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -204,7 +204,7 @@ func ConfigCliFleetEthStagingJson() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "../config/cli/fleet-eth.staging.json", size: 2145, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "../config/cli/fleet-eth.staging.json", size: 2145, mode: os.FileMode(0644), modTime: time.Unix(1648117578, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa2, 0xe9, 0x85, 0x4b, 0x66, 0xa4, 0x1d, 0x4e, 0xaf, 0x21, 0xd7, 0xc2, 0x59, 0xf7, 0xd, 0xc2, 0x61, 0x4e, 0x4a, 0x9e, 0x38, 0x90, 0x6a, 0x2a, 0x16, 0xa6, 0x5c, 0x6d, 0x0, 0x5, 0x6, 0xb3}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -224,7 +224,7 @@ func ConfigCliFleetEthTestJson() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "../config/cli/fleet-eth.test.json", size: 2174, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "../config/cli/fleet-eth.test.json", size: 2174, mode: os.FileMode(0644), modTime: time.Unix(1648117578, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x55, 0x19, 0xca, 0x8d, 0xaa, 0x69, 0x9b, 0xa2, 0xa1, 0xdd, 0xef, 0xf2, 0x63, 0x5e, 0xcd, 0xe2, 0x8f, 0xc7, 0x37, 0x7e, 0x41, 0xa1, 0xc1, 0x3f, 0x65, 0x80, 0xa, 0xa4, 0x27, 0x74, 0x8d, 0xc6}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -244,7 +244,7 @@ func ConfigCliFleetStatusProdJson() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "../config/cli/fleet-status.prod.json", size: 1920, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "../config/cli/fleet-status.prod.json", size: 1920, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x5, 0xf, 0x4a, 0x61, 0xd2, 0xfd, 0x7d, 0x59, 0xcf, 0x49, 0x81, 0x6, 0x71, 0xdb, 0x63, 0xe8, 0xeb, 0xdf, 0x9e, 0x65, 0x22, 0xae, 0x9b, 0xb0, 0x16, 0x17, 0xe0, 0x52, 0xe6, 0xb, 0xcf, 0x88}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -264,7 +264,7 @@ func ConfigCliFleetStatusTestJson() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "../config/cli/fleet-status.test.json", size: 937, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "../config/cli/fleet-status.test.json", size: 937, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x5c, 0x3b, 0xc5, 0xd2, 0xe9, 0xd3, 0x52, 0xd4, 0x5a, 0xf3, 0xed, 0x37, 0xed, 0xde, 0xda, 0xc1, 0x57, 0x37, 0x17, 0x8c, 0x40, 0xee, 0x12, 0x82, 0x14, 0x2c, 0x8b, 0xc7, 0x4b, 0x2, 0xf8, 0x82}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -284,7 +284,7 @@ func ConfigCliFleetWakuv2ProdJson() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "../config/cli/fleet-wakuv2.prod.json", size: 747, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "../config/cli/fleet-wakuv2.prod.json", size: 747, mode: os.FileMode(0644), modTime: time.Unix(1648117578, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc3, 0x81, 0x84, 0xfd, 0x7d, 0x7e, 0x27, 0xc8, 0x5e, 0xb6, 0x38, 0xe1, 0x6, 0xa, 0xbc, 0x86, 0x87, 0x54, 0xa2, 0x2f, 0xe1, 0xa1, 0xc8, 0x6, 0x80, 0xfa, 0xed, 0xfe, 0x13, 0x6c, 0x81, 0xd9}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -304,7 +304,7 @@ func ConfigCliFleetWakuv2TestJson() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "../config/cli/fleet-wakuv2.test.json", size: 748, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "../config/cli/fleet-wakuv2.test.json", size: 748, mode: os.FileMode(0644), modTime: time.Unix(1648117578, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x77, 0x6d, 0x28, 0xb7, 0xc2, 0xf3, 0x22, 0xe3, 0x6d, 0xc1, 0xeb, 0x4b, 0x42, 0xe2, 0x6, 0xb0, 0x60, 0x30, 0xdb, 0xe3, 0x26, 0xff, 0x9, 0xf5, 0xea, 0xe6, 0x56, 0xce, 0xa8, 0x98, 0x61, 0x70}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -324,7 +324,7 @@ func ConfigCliLesEnabledJson() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "../config/cli/les-enabled.json", size: 58, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "../config/cli/les-enabled.json", size: 58, mode: os.FileMode(0644), modTime: time.Unix(1648117578, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7e, 0xee, 0x27, 0xa7, 0x74, 0xa0, 0x46, 0xa1, 0x41, 0xed, 0x4d, 0x16, 0x5b, 0xf3, 0xf0, 0x7c, 0xc8, 0x2f, 0x6f, 0x47, 0xa4, 0xbb, 0x5f, 0x43, 0x33, 0xd, 0x9, 0x9d, 0xea, 0x9e, 0x15, 0xee}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -344,7 +344,7 @@ func ConfigCliMailserverEnabledJson() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "../config/cli/mailserver-enabled.json", size: 176, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "../config/cli/mailserver-enabled.json", size: 176, mode: os.FileMode(0644), modTime: time.Unix(1648117578, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x34, 0xec, 0x81, 0x8b, 0x99, 0xb6, 0xdb, 0xc0, 0x8b, 0x46, 0x97, 0x96, 0xc7, 0x58, 0x30, 0x33, 0xef, 0x54, 0x25, 0x87, 0x7b, 0xb9, 0x94, 0x6b, 0x18, 0xa4, 0x5b, 0x58, 0x67, 0x7c, 0x44, 0xa6}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -364,7 +364,7 @@ func ConfigStatusChainGenesisJson() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "../config/status-chain-genesis.json", size: 612, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "../config/status-chain-genesis.json", size: 612, mode: os.FileMode(0644), modTime: time.Unix(1648117578, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb, 0xf0, 0xc, 0x1, 0x95, 0x65, 0x6, 0x55, 0x48, 0x8f, 0x83, 0xa0, 0xb4, 0x81, 0xda, 0xad, 0x30, 0x6d, 0xb2, 0x78, 0x1b, 0x26, 0x4, 0x13, 0x12, 0x9, 0x6, 0xae, 0x3a, 0x2c, 0x1, 0x71}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -384,7 +384,7 @@ func keysBootnodeKey() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "keys/bootnode.key", size: 65, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "keys/bootnode.key", size: 65, mode: os.FileMode(0644), modTime: time.Unix(1648117579, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x31, 0xcf, 0x27, 0xd4, 0x96, 0x2e, 0x32, 0xcd, 0x58, 0x96, 0x2a, 0xe5, 0x8c, 0xa0, 0xf1, 0x73, 0x1f, 0xd6, 0xd6, 0x8b, 0xb, 0x73, 0xd3, 0x2c, 0x84, 0x1a, 0x56, 0xa4, 0x74, 0xb6, 0x95, 0x20}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -404,7 +404,7 @@ func keysFirebaseauthkey() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "keys/firebaseauthkey", size: 153, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "keys/firebaseauthkey", size: 153, mode: os.FileMode(0644), modTime: time.Unix(1648117579, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe, 0x69, 0x23, 0x64, 0x7d, 0xf9, 0x14, 0x37, 0x6f, 0x2b, 0x1, 0xf0, 0xb0, 0xa4, 0xb2, 0xd0, 0x18, 0xcd, 0xf9, 0xeb, 0x57, 0xa3, 0xfd, 0x79, 0x25, 0xa7, 0x9c, 0x3, 0xce, 0x26, 0xec, 0xe1}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -424,7 +424,7 @@ func keysTestAccount1StatusChainPk() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "keys/test-account1-status-chain.pk", size: 489, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "keys/test-account1-status-chain.pk", size: 489, mode: os.FileMode(0644), modTime: time.Unix(1648117579, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x8f, 0xba, 0x35, 0x1, 0x2b, 0x9d, 0xad, 0xf0, 0x2d, 0x3c, 0x4d, 0x6, 0xb5, 0x22, 0x2, 0x47, 0xd4, 0x1c, 0xf4, 0x31, 0x2f, 0xb, 0x5b, 0x27, 0x5d, 0x43, 0x97, 0x58, 0x2d, 0xf0, 0xe1, 0xbe}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -444,7 +444,7 @@ func keysTestAccount1Pk() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "keys/test-account1.pk", size: 491, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "keys/test-account1.pk", size: 491, mode: os.FileMode(0644), modTime: time.Unix(1648117579, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x9, 0x43, 0xc2, 0xf4, 0x8c, 0xc6, 0x64, 0x25, 0x8c, 0x7, 0x8c, 0xa8, 0x89, 0x2b, 0x7b, 0x9b, 0x4f, 0x81, 0xcb, 0xce, 0x3d, 0xef, 0x82, 0x9c, 0x27, 0x27, 0xa9, 0xc5, 0x46, 0x70, 0x30, 0x38}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -464,7 +464,7 @@ func keysTestAccount2StatusChainPk() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "keys/test-account2-status-chain.pk", size: 489, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "keys/test-account2-status-chain.pk", size: 489, mode: os.FileMode(0644), modTime: time.Unix(1648117579, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x9, 0xf8, 0x5c, 0xe9, 0x92, 0x96, 0x2d, 0x88, 0x2b, 0x8e, 0x42, 0x3f, 0xa4, 0x93, 0x6c, 0xad, 0xe9, 0xc0, 0x1b, 0x8a, 0x8, 0x8c, 0x5e, 0x7a, 0x84, 0xa2, 0xf, 0x9f, 0x77, 0x58, 0x2c, 0x2c}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -484,7 +484,7 @@ func keysTestAccount2Pk() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "keys/test-account2.pk", size: 491, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "keys/test-account2.pk", size: 491, mode: os.FileMode(0644), modTime: time.Unix(1648117579, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x9f, 0x72, 0xd5, 0x95, 0x5c, 0x5a, 0x99, 0x9d, 0x2f, 0x21, 0x83, 0xd7, 0x10, 0x17, 0x4a, 0x3d, 0x65, 0xc9, 0x26, 0x1a, 0x2c, 0x9d, 0x65, 0x63, 0xd2, 0xa0, 0xfc, 0x7c, 0x0, 0x87, 0x38, 0x9f}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -504,7 +504,7 @@ func keysTestAccount3BeforeEip55Pk() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "keys/test-account3-before-eip55.pk", size: 489, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "keys/test-account3-before-eip55.pk", size: 489, mode: os.FileMode(0644), modTime: time.Unix(1648117579, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x81, 0x40, 0x56, 0xc1, 0x5e, 0x10, 0x6e, 0x28, 0x15, 0x3, 0x4e, 0xc4, 0xc4, 0x71, 0x4d, 0x16, 0x99, 0xcc, 0x1b, 0x63, 0xee, 0x10, 0x20, 0xe4, 0x59, 0x52, 0x3f, 0xc0, 0xad, 0x15, 0x13, 0x72}}
|
||||
return a, nil
|
||||
}
|
||||
|
|
|
@ -86,7 +86,7 @@ func configPublicChainAccountsJson() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "config/public-chain-accounts.json", size: 307, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "config/public-chain-accounts.json", size: 307, mode: os.FileMode(0644), modTime: time.Unix(1648117579, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x76, 0x5d, 0xc0, 0xfe, 0x57, 0x50, 0x18, 0xec, 0x2d, 0x61, 0x1b, 0xa9, 0x81, 0x11, 0x5f, 0x77, 0xf7, 0xb6, 0x67, 0x82, 0x1, 0x40, 0x68, 0x9d, 0xc5, 0x41, 0xaf, 0xce, 0x43, 0x81, 0x92, 0x96}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -106,7 +106,7 @@ func configStatusChainAccountsJson() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "config/status-chain-accounts.json", size: 543, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "config/status-chain-accounts.json", size: 543, mode: os.FileMode(0644), modTime: time.Unix(1648117579, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x8e, 0xb3, 0x61, 0x51, 0x70, 0x3c, 0x12, 0x3e, 0xf1, 0x1c, 0x81, 0xfb, 0x9a, 0x7c, 0xe3, 0x63, 0xd0, 0x8f, 0x12, 0xc5, 0x2d, 0xf4, 0xea, 0x27, 0x33, 0xef, 0xca, 0xf9, 0x3f, 0x72, 0x44, 0xbf}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -126,7 +126,7 @@ func configTestDataJson() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "config/test-data.json", size: 84, mode: os.FileMode(0644), modTime: time.Unix(1673964300, 0)}
|
||||
info := bindataFileInfo{name: "config/test-data.json", size: 84, mode: os.FileMode(0644), modTime: time.Unix(1648117579, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xce, 0x9d, 0x80, 0xf5, 0x87, 0xfa, 0x57, 0x1d, 0xa1, 0xd5, 0x7a, 0x10, 0x3, 0xac, 0xd7, 0xf4, 0x64, 0x32, 0x96, 0x2b, 0xb7, 0x21, 0xb7, 0xa6, 0x80, 0x40, 0xe9, 0x65, 0xe3, 0xd6, 0xbd, 0x40}}
|
||||
return a, nil
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue