feat: contact verification request (#2586)
fix: add verification request to response fix: code review add missing functions and simplify timestamp usage fix: sync verification requests feat: add endpoint to fetch all received verification requests feat: add signal when trusting verification request Co-authored-by: Jonathan Rainville <rainville.jonathan@gmail.com>
This commit is contained in:
parent
7ad0057003
commit
0322ac497b
|
@ -109,7 +109,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(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "1640111208_dummy.up.sql", size: 258, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -129,7 +129,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(1647339453, 0)}
|
||||
info := bindataFileInfo{name: "1642666031_add_removed_clock_to_bookmarks.up.sql", size: 117, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -149,7 +149,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(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "1643644541_gif_api_key_setting.up.sql", size: 108, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -169,7 +169,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(1647339453, 0)}
|
||||
info := bindataFileInfo{name: "1644188994_recent_stickers.up.sql", size: 79, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -189,7 +189,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(1647884149, 0)}
|
||||
info := bindataFileInfo{name: "1646659233_add_address_to_dapp_permisssion.up.sql", size: 700, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -209,7 +209,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(1647884149, 0)}
|
||||
info := bindataFileInfo{name: "1646841105_add_emoji_account.up.sql", size: 96, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -229,7 +229,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(1647884149, 0)}
|
||||
info := bindataFileInfo{name: "1647278782_display_name.up.sql", size: 110, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -249,7 +249,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(1648722734, 0)}
|
||||
info := bindataFileInfo{name: "1647862838_reset_last_backup.up.sql", size: 37, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -269,7 +269,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(1648722734, 0)}
|
||||
info := bindataFileInfo{name: "1647871652_add_settings_sync_clock_table.up.sql", size: 1044, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -289,7 +289,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(1648728619, 0)}
|
||||
info := bindataFileInfo{name: "1647880168_add_torrent_config.up.sql", size: 211, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -309,7 +309,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(1648728619, 0)}
|
||||
info := bindataFileInfo{name: "1647882837_add_communities_settings_table.up.sql", size: 206, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -329,7 +329,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(1648804807, 0)}
|
||||
info := bindataFileInfo{name: "1647956635_add_waku_messages_table.up.sql", size: 266, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -349,7 +349,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(1648804807, 0)}
|
||||
info := bindataFileInfo{name: "1648554928_network_test.up.sql", size: 132, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -369,7 +369,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(1653642660, 0)}
|
||||
info := bindataFileInfo{name: "1649174829_add_visitble_token.up.sql", size: 84, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -389,7 +389,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(1653642660, 0)}
|
||||
info := bindataFileInfo{name: "1649882262_add_derived_from_accounts.up.sql", size: 110, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -409,7 +409,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(1653642660, 0)}
|
||||
info := bindataFileInfo{name: "1650612625_add_community_message_archive_hashes_table.up.sql", size: 130, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -429,7 +429,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(1653642660, 0)}
|
||||
info := bindataFileInfo{name: "1650616788_add_communities_archives_info_table.up.sql", size: 208, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -449,7 +449,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(1653642660, 0)}
|
||||
info := bindataFileInfo{name: "1652715604_add_clock_accounts.up.sql", size: 62, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -469,7 +469,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(1653642660, 0)}
|
||||
info := bindataFileInfo{name: "1653037334_add_notifications_settings_table.up.sql", size: 1276, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -489,7 +489,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(1655461227, 0)}
|
||||
info := bindataFileInfo{name: "1654702119_add_mutual_contact_settings.up.sql", size: 78, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -509,7 +509,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(1655461227, 0)}
|
||||
info := bindataFileInfo{name: "1655375270_add_clock_field_to_communities_settings_table.up.sql", size: 74, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -529,7 +529,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(1655461227, 0)}
|
||||
info := bindataFileInfo{name: "1655385721_drop_networks_config.up.sql", size: 27, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -549,7 +549,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(1655461227, 0)}
|
||||
info := bindataFileInfo{name: "1655385724_networks_chainColor_shortName.up.sql", size: 220, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -569,7 +569,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(1655462561, 0)}
|
||||
info := bindataFileInfo{name: "1655456688_add_deleted_at_field_to_bookmarks_table.up.sql", size: 69, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -589,7 +589,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(1655468629, 0)}
|
||||
info := bindataFileInfo{name: "1655462032_create_bookmarks_deleted_at_index.up.sql", size: 81, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -609,7 +609,7 @@ func docGo() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "doc.go", size: 74, mode: os.FileMode(0644), modTime: time.Unix(1586880790, 0)}
|
||||
info := bindataFileInfo{name: "doc.go", size: 74, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0001_app.down.sql", size: 356, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0001_app.up.sql", size: 2967, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0002_tokens.down.sql", size: 19, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0002_tokens.up.sql", size: 248, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0003_settings.down.sql", size: 118, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0003_settings.up.sql", size: 1311, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0004_pending_stickers.down.sql", size: 0, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0004_pending_stickers.up.sql", size: 61, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0005_waku_mode.down.sql", size: 0, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0005_waku_mode.up.sql", size: 146, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0006_appearance.up.sql", size: 67, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0007_enable_waku_default.up.sql", size: 38, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0008_add_push_notifications.up.sql", size: 349, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0009_enable_sending_push_notifications.down.sql", size: 49, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0009_enable_sending_push_notifications.up.sql", size: 49, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0010_add_block_mentions.down.sql", size: 83, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0010_add_block_mentions.up.sql", size: 89, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0011_allow_webview_permission_requests.down.sql", size: 0, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0011_allow_webview_permission_requests.up.sql", size: 88, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0012_pending_transactions.down.sql", size: 33, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0012_pending_transactions.up.sql", size: 321, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0013_favourites.down.sql", size: 23, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0013_favourites.up.sql", size: 132, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0014_add_use_mailservers.down.sql", size: 0, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0014_add_use_mailservers.up.sql", size: 111, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0015_link_previews.down.sql", size: 0, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0015_link_previews.up.sql", size: 203, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0016_local_notifications_preferences.down.sql", size: 43, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0016_local_notifications_preferences.up.sql", size: 204, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0017_bookmarks.down.sql", size: 22, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0017_bookmarks.up.sql", size: 147, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0018_profile_pictures_visibility.up.sql", size: 84, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0019_blocks_ranges_extra_data.up.sql", size: 89, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0020_metrics.up.sql", size: 235, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0021_add_session_id_to_metrics.up.sql", size: 55, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0022_pending_transfers.up.sql", size: 706, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "1618237885_settings_anon_metrics_should_send.up.sql", size: 80, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "1618395756_contacts_only.up.sql", size: 136, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "1622184614_add_default_sync_period.up.sql", size: 125, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "1625872445_user_status.up.sql", size: 351, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "1627983977_add_gif_to_settings.up.sql", size: 102, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "1628580203_add_hidden_account.up.sql", size: 67, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "1629123384_add_id_to_app_metrics.up.sql", size: 589, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "1630401853_add_opensea_enabled_to_settings.up.sql", size: 70, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "1630464455_create-saved_addresses-table.down.sql", size: 28, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "1630464455_create-saved_addresses-table.up.sql", size: 187, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "1630485153_networks.down.sql", size: 21, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "1630485153_networks.up.sql", size: 394, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "1632262444_profile_pictures_show_to.up.sql", size: 81, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "1635942153_add_telemetry_server_url_to_settings.up.sql", size: 128, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "1635942154_add_backup_setting.up.sql", size: 287, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "1637745568_add_auto_message_setting.up.sql", size: 122, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "1640111208_nodeconfig.up.sql", size: 7659, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "doc.go", size: 85, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1586880790, 0)}
|
||||
info := bindataFileInfo{name: "1557732988_initialize_db.down.sql", size: 72, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1637329330, 0)}
|
||||
info := bindataFileInfo{name: "1557732988_initialize_db.up.sql", size: 278, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1586880790, 0)}
|
||||
info := bindataFileInfo{name: "static.go", size: 178, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
|
|
@ -93,7 +93,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(1586880790, 0)}
|
||||
info := bindataFileInfo{name: "0001_accounts.down.sql", size: 21, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -113,7 +113,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(1586880790, 0)}
|
||||
info := bindataFileInfo{name: "0001_accounts.up.sql", size: 163, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -133,7 +133,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(1610470168, 0)}
|
||||
info := bindataFileInfo{name: "1605007189_identity_images.down.sql", size: 29, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -153,7 +153,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(1610470168, 0)}
|
||||
info := bindataFileInfo{name: "1605007189_identity_images.up.sql", size: 268, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -173,7 +173,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(1610470168, 0)}
|
||||
info := bindataFileInfo{name: "1606224181_drop_photo_path_from_accounts.down.sql", size: 892, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -193,7 +193,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(1610470168, 0)}
|
||||
info := bindataFileInfo{name: "1606224181_drop_photo_path_from_accounts.up.sql", size: 866, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -213,7 +213,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(1653642660, 0)}
|
||||
info := bindataFileInfo{name: "1648646095_image_clock.down.sql", size: 939, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -233,7 +233,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(1653642660, 0)}
|
||||
info := bindataFileInfo{name: "1648646095_image_clock.up.sql", size: 69, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -253,7 +253,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(1653642660, 0)}
|
||||
info := bindataFileInfo{name: "1649317600_add_color_hash.up.sql", size: 201, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -273,7 +273,7 @@ func docGo() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "doc.go", size: 74, mode: os.FileMode(0644), modTime: time.Unix(1586880790, 0)}
|
||||
info := bindataFileInfo{name: "doc.go", size: 74, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
|
|
@ -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(1631628269, 0)}
|
||||
info := bindataFileInfo{name: "1619446565_postgres_make_anon_metrics_table.down.sql", size: 24, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1631628269, 0)}
|
||||
info := bindataFileInfo{name: "1619446565_postgres_make_anon_metrics_table.up.sql", size: 443, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1631628269, 0)}
|
||||
info := bindataFileInfo{name: "doc.go", size: 380, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
|
|
@ -10,6 +10,7 @@ import (
|
|||
"github.com/status-im/status-go/protocol/common"
|
||||
"github.com/status-im/status-go/protocol/identity/alias"
|
||||
"github.com/status-im/status-go/protocol/identity/identicon"
|
||||
"github.com/status-im/status-go/protocol/verification"
|
||||
)
|
||||
|
||||
type ContactRequestState int
|
||||
|
@ -66,6 +67,14 @@ func (c *Contact) CanonicalImage(profilePicturesVisibility settings.ProfilePictu
|
|||
return c.Identicon
|
||||
}
|
||||
|
||||
type VerificationStatus int
|
||||
|
||||
const (
|
||||
VerificationStatusUNVERIFIED VerificationStatus = iota
|
||||
VerificationStatusVERIFYING
|
||||
VerificationStatusVERIFIED
|
||||
)
|
||||
|
||||
// Contact has information about a "Contact"
|
||||
type Contact struct {
|
||||
// ID of the contact. It's a hex-encoded public key (prefixed with 0x).
|
||||
|
@ -103,6 +112,29 @@ type Contact struct {
|
|||
|
||||
IsSyncing bool
|
||||
Removed bool
|
||||
|
||||
VerificationStatus VerificationStatus `json:"verificationStatus"`
|
||||
TrustStatus verification.TrustStatus `json:"trustStatus"`
|
||||
}
|
||||
|
||||
func (c Contact) IsVerified() bool {
|
||||
return c.VerificationStatus == VerificationStatusVERIFIED
|
||||
}
|
||||
|
||||
func (c Contact) IsVerifying() bool {
|
||||
return c.VerificationStatus == VerificationStatusVERIFYING
|
||||
}
|
||||
|
||||
func (c Contact) IsUnverified() bool {
|
||||
return c.VerificationStatus == VerificationStatusUNVERIFIED
|
||||
}
|
||||
|
||||
func (c Contact) IsUntrustworthy() bool {
|
||||
return c.TrustStatus == verification.TrustStatusUNTRUSTWORTHY
|
||||
}
|
||||
|
||||
func (c Contact) IsTrusted() bool {
|
||||
return c.TrustStatus == verification.TrustStatusTRUSTED
|
||||
}
|
||||
|
||||
func (c Contact) PublicKey() (*ecdsa.PublicKey, error) {
|
||||
|
|
|
@ -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(1586880790, 0)}
|
||||
info := bindataFileInfo{name: "1536754952_initial_schema.down.sql", size: 83, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1586880790, 0)}
|
||||
info := bindataFileInfo{name: "1536754952_initial_schema.up.sql", size: 962, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1586880790, 0)}
|
||||
info := bindataFileInfo{name: "1539249977_update_ratchet_info.down.sql", size: 311, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1586880790, 0)}
|
||||
info := bindataFileInfo{name: "1539249977_update_ratchet_info.up.sql", size: 368, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1586880790, 0)}
|
||||
info := bindataFileInfo{name: "1540715431_add_version.down.sql", size: 127, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1586880790, 0)}
|
||||
info := bindataFileInfo{name: "1540715431_add_version.up.sql", size: 265, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1586880790, 0)}
|
||||
info := bindataFileInfo{name: "1541164797_add_installations.down.sql", size: 26, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1586880790, 0)}
|
||||
info := bindataFileInfo{name: "1541164797_add_installations.up.sql", size: 216, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1586880790, 0)}
|
||||
info := bindataFileInfo{name: "1558084410_add_secret.down.sql", size: 56, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1586880790, 0)}
|
||||
info := bindataFileInfo{name: "1558084410_add_secret.up.sql", size: 301, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1586880790, 0)}
|
||||
info := bindataFileInfo{name: "1558588866_add_version.down.sql", size: 47, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1586880790, 0)}
|
||||
info := bindataFileInfo{name: "1558588866_add_version.up.sql", size: 57, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1586880790, 0)}
|
||||
info := bindataFileInfo{name: "1559627659_add_contact_code.down.sql", size: 32, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1586880790, 0)}
|
||||
info := bindataFileInfo{name: "1559627659_add_contact_code.up.sql", size: 198, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1586880790, 0)}
|
||||
info := bindataFileInfo{name: "1561368210_add_installation_metadata.down.sql", size: 35, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1586880790, 0)}
|
||||
info := bindataFileInfo{name: "1561368210_add_installation_metadata.up.sql", size: 267, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1638351408, 0)}
|
||||
info := bindataFileInfo{name: "1632236298_add_communities.down.sql", size: 151, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1638351408, 0)}
|
||||
info := bindataFileInfo{name: "1632236298_add_communities.up.sql", size: 584, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1637329330, 0)}
|
||||
info := bindataFileInfo{name: "1636536507_add_index_bundles.up.sql", size: 347, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1586880790, 0)}
|
||||
info := bindataFileInfo{name: "doc.go", size: 377, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
|
|
@ -15,11 +15,14 @@ import (
|
|||
"sync"
|
||||
"time"
|
||||
|
||||
"github.com/davecgh/go-spew/spew"
|
||||
"github.com/golang/protobuf/proto"
|
||||
"github.com/pkg/errors"
|
||||
"go.uber.org/zap"
|
||||
|
||||
"github.com/ethereum/go-ethereum/common/hexutil"
|
||||
|
||||
"github.com/davecgh/go-spew/spew"
|
||||
"github.com/golang/protobuf/proto"
|
||||
|
||||
gethcommon "github.com/ethereum/go-ethereum/common"
|
||||
"github.com/ethereum/go-ethereum/event"
|
||||
"github.com/ethereum/go-ethereum/p2p"
|
||||
|
@ -51,6 +54,7 @@ import (
|
|||
"github.com/status-im/status-go/protocol/sqlite"
|
||||
"github.com/status-im/status-go/protocol/transport"
|
||||
v1protocol "github.com/status-im/status-go/protocol/v1"
|
||||
"github.com/status-im/status-go/protocol/verification"
|
||||
"github.com/status-im/status-go/server"
|
||||
"github.com/status-im/status-go/services/browsers"
|
||||
"github.com/status-im/status-go/services/ext/mailservers"
|
||||
|
@ -134,6 +138,8 @@ type Messenger struct {
|
|||
telemetryClient *telemetry.Client
|
||||
contractMaker *contracts.ContractMaker
|
||||
downloadHistoryArchiveTasksWaitGroup sync.WaitGroup
|
||||
verificationDatabase *verification.Persistence
|
||||
|
||||
// TODO(samyoul) Determine if/how the remaining usage of this mutex can be removed
|
||||
mutex sync.Mutex
|
||||
mailPeersMutex sync.Mutex
|
||||
|
@ -425,6 +431,7 @@ func NewMessenger(
|
|||
multiAccounts: c.multiAccount,
|
||||
settings: settings,
|
||||
peerStore: peerStore,
|
||||
verificationDatabase: verification.NewPersistence(database),
|
||||
mailservers: mailservers,
|
||||
mailserverCycle: mailserverCycle{
|
||||
peers: make(map[string]peerStatus),
|
||||
|
@ -2748,6 +2755,26 @@ func (m *Messenger) SyncDevices(ctx context.Context, ensName, photoPath string)
|
|||
}
|
||||
}
|
||||
|
||||
trustedUsers, err := m.verificationDatabase.GetAllTrustStatus()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
for id, ts := range trustedUsers {
|
||||
if err = m.SyncTrustedUser(ctx, id, ts); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
verificationRequests, err := m.verificationDatabase.GetVerificationRequests()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
for i := range verificationRequests {
|
||||
if err = m.SyncVerificationRequest(ctx, &verificationRequests[i]); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
err = m.syncSettings()
|
||||
if err != nil {
|
||||
return err
|
||||
|
@ -3036,6 +3063,8 @@ func (m *Messenger) syncContact(ctx context.Context, contact *Contact) error {
|
|||
Blocked: contact.Blocked,
|
||||
Muted: muted,
|
||||
Removed: contact.Removed,
|
||||
VerificationStatus: int64(contact.VerificationStatus),
|
||||
TrustStatus: int64(contact.TrustStatus),
|
||||
}
|
||||
|
||||
encodedMessage, err := proto.Marshal(syncMessage)
|
||||
|
@ -3130,6 +3159,71 @@ func (m *Messenger) SyncBookmark(ctx context.Context, bookmark *browsers.Bookmar
|
|||
return m.saveChat(chat)
|
||||
}
|
||||
|
||||
func (m *Messenger) SyncTrustedUser(ctx context.Context, publicKey string, ts verification.TrustStatus) error {
|
||||
if !m.hasPairedDevices() {
|
||||
return nil
|
||||
}
|
||||
|
||||
clock, chat := m.getLastClockWithRelatedChat()
|
||||
|
||||
syncMessage := &protobuf.SyncTrustedUser{
|
||||
Clock: clock,
|
||||
Id: publicKey,
|
||||
Status: protobuf.SyncTrustedUser_TrustStatus(ts),
|
||||
}
|
||||
encodedMessage, err := proto.Marshal(syncMessage)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
_, err = m.dispatchMessage(ctx, common.RawMessage{
|
||||
LocalChatID: chat.ID,
|
||||
Payload: encodedMessage,
|
||||
MessageType: protobuf.ApplicationMetadataMessage_SYNC_TRUSTED_USER,
|
||||
ResendAutomatically: true,
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
chat.LastClockValue = clock
|
||||
return m.saveChat(chat)
|
||||
}
|
||||
|
||||
func (m *Messenger) SyncVerificationRequest(ctx context.Context, vr *verification.Request) error {
|
||||
if !m.hasPairedDevices() {
|
||||
return nil
|
||||
}
|
||||
|
||||
clock, chat := m.getLastClockWithRelatedChat()
|
||||
|
||||
syncMessage := &protobuf.SyncVerificationRequest{
|
||||
Clock: clock,
|
||||
From: vr.From,
|
||||
To: vr.To,
|
||||
Challenge: vr.Challenge,
|
||||
Response: vr.Response,
|
||||
RequestedAt: vr.RequestedAt,
|
||||
RepliedAt: vr.RepliedAt,
|
||||
VerificationStatus: protobuf.SyncVerificationRequest_VerificationStatus(vr.RequestStatus),
|
||||
}
|
||||
encodedMessage, err := proto.Marshal(syncMessage)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
_, err = m.dispatchMessage(ctx, common.RawMessage{
|
||||
LocalChatID: chat.ID,
|
||||
Payload: encodedMessage,
|
||||
MessageType: protobuf.ApplicationMetadataMessage_SYNC_VERIFICATION_REQUEST,
|
||||
ResendAutomatically: true,
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
chat.LastClockValue = clock
|
||||
return m.saveChat(chat)
|
||||
}
|
||||
|
||||
// RetrieveAll retrieves messages from all filters, processes them and returns a
|
||||
// MessengerResponse to the client
|
||||
func (m *Messenger) RetrieveAll() (*MessengerResponse, error) {
|
||||
|
@ -3183,6 +3277,8 @@ type ReceivedMessageState struct {
|
|||
// Timesource is a time source for clock values/timestamps.
|
||||
Timesource common.TimeSource
|
||||
AllBookmarks map[string]*browsers.Bookmark
|
||||
AllVerificationRequests []*verification.Request
|
||||
AllTrustStatus map[string]verification.TrustStatus
|
||||
}
|
||||
|
||||
func (m *Messenger) markDeliveredMessages(acks [][]byte) {
|
||||
|
@ -3300,6 +3396,7 @@ func (m *Messenger) buildMessageState() *ReceivedMessageState {
|
|||
Response: &MessengerResponse{},
|
||||
Timesource: m.getTimesource(),
|
||||
AllBookmarks: make(map[string]*browsers.Bookmark),
|
||||
AllTrustStatus: make(map[string]verification.TrustStatus),
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -3563,6 +3660,37 @@ func (m *Messenger) handleRetrievedMessages(chatWithMessages map[transport.Filte
|
|||
allMessagesProcessed = false
|
||||
continue
|
||||
}
|
||||
|
||||
case protobuf.SyncTrustedUser:
|
||||
if !common.IsPubKeyEqual(messageState.CurrentMessageState.PublicKey, &m.identity.PublicKey) {
|
||||
logger.Warn("not coming from us, ignoring")
|
||||
continue
|
||||
}
|
||||
|
||||
p := msg.ParsedMessage.Interface().(protobuf.SyncTrustedUser)
|
||||
logger.Debug("Handling SyncTrustedUser", zap.Any("message", p))
|
||||
err = m.handleSyncTrustedUser(messageState, p)
|
||||
if err != nil {
|
||||
logger.Warn("failed to handle SyncTrustedUser", zap.Error(err))
|
||||
allMessagesProcessed = false
|
||||
continue
|
||||
}
|
||||
|
||||
case protobuf.SyncVerificationRequest:
|
||||
if !common.IsPubKeyEqual(messageState.CurrentMessageState.PublicKey, &m.identity.PublicKey) {
|
||||
logger.Warn("not coming from us, ignoring")
|
||||
continue
|
||||
}
|
||||
|
||||
p := msg.ParsedMessage.Interface().(protobuf.SyncVerificationRequest)
|
||||
logger.Debug("Handling SyncVerificationRequest", zap.Any("message", p))
|
||||
err = m.handleSyncVerificationRequest(messageState, p)
|
||||
if err != nil {
|
||||
logger.Warn("failed to handle SyncClearHistory", zap.Error(err))
|
||||
allMessagesProcessed = false
|
||||
continue
|
||||
}
|
||||
|
||||
case protobuf.Backup:
|
||||
if !common.IsPubKeyEqual(messageState.CurrentMessageState.PublicKey, &m.identity.PublicKey) {
|
||||
logger.Warn("not coming from us, ignoring")
|
||||
|
@ -3930,6 +4058,42 @@ func (m *Messenger) handleRetrievedMessages(chatWithMessages map[transport.Filte
|
|||
}
|
||||
}
|
||||
|
||||
case protobuf.RequestContactVerification:
|
||||
logger.Debug("Handling RequestContactVerification")
|
||||
err = m.HandleRequestContactVerification(messageState, msg.ParsedMessage.Interface().(protobuf.RequestContactVerification))
|
||||
if err != nil {
|
||||
logger.Warn("failed to handle RequestContactVerification", zap.Error(err))
|
||||
allMessagesProcessed = false
|
||||
continue
|
||||
}
|
||||
|
||||
case protobuf.AcceptContactVerification:
|
||||
logger.Debug("Handling AcceptContactVerification")
|
||||
err = m.HandleAcceptContactVerification(messageState, msg.ParsedMessage.Interface().(protobuf.AcceptContactVerification))
|
||||
if err != nil {
|
||||
logger.Warn("failed to handle AcceptContactVerification", zap.Error(err))
|
||||
allMessagesProcessed = false
|
||||
continue
|
||||
}
|
||||
|
||||
case protobuf.DeclineContactVerification:
|
||||
logger.Debug("Handling DeclineContactVerification")
|
||||
err = m.HandleDeclineContactVerification(messageState, msg.ParsedMessage.Interface().(protobuf.DeclineContactVerification))
|
||||
if err != nil {
|
||||
logger.Warn("failed to handle DeclineContactVerification", zap.Error(err))
|
||||
allMessagesProcessed = false
|
||||
continue
|
||||
}
|
||||
|
||||
case protobuf.ContactVerificationTrusted:
|
||||
logger.Debug("Handling ContactVerificationTrusted")
|
||||
err = m.HandleContactVerificationTrusted(messageState, msg.ParsedMessage.Interface().(protobuf.ContactVerificationTrusted))
|
||||
if err != nil {
|
||||
logger.Warn("failed to handle ContactVerificationTrusted", zap.Error(err))
|
||||
allMessagesProcessed = false
|
||||
continue
|
||||
}
|
||||
|
||||
case protobuf.CommunityInvitation:
|
||||
logger.Debug("Handling CommunityInvitation")
|
||||
invitation := msg.ParsedMessage.Interface().(protobuf.CommunityInvitation)
|
||||
|
@ -4199,6 +4363,16 @@ func (m *Messenger) handleRetrievedMessages(chatWithMessages map[transport.Filte
|
|||
messageState.Response.AddBookmarks(bookmarks)
|
||||
}
|
||||
|
||||
if len(messageState.AllVerificationRequests) > 0 {
|
||||
for _, vr := range messageState.AllVerificationRequests {
|
||||
messageState.Response.AddVerificationRequest(vr)
|
||||
}
|
||||
}
|
||||
|
||||
if len(messageState.AllTrustStatus) > 0 {
|
||||
messageState.Response.AddTrustStatuses(messageState.AllTrustStatus)
|
||||
}
|
||||
|
||||
return messageState.Response, nil
|
||||
}
|
||||
|
||||
|
@ -5723,3 +5897,79 @@ func (m *Messenger) handleSyncClearHistory(state *ReceivedMessageState, message
|
|||
})
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *Messenger) handleSyncTrustedUser(state *ReceivedMessageState, message protobuf.SyncTrustedUser) error {
|
||||
updated, err := m.verificationDatabase.UpsertTrustStatus(message.Id, verification.TrustStatus(message.Status), message.Clock)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if updated {
|
||||
state.AllTrustStatus[message.Id] = verification.TrustStatus(message.Status)
|
||||
|
||||
contact, ok := m.allContacts.Load(message.Id)
|
||||
if !ok {
|
||||
m.logger.Info("contact not found")
|
||||
return nil
|
||||
}
|
||||
|
||||
contact.TrustStatus = verification.TrustStatus(message.Status)
|
||||
m.allContacts.Store(contact.ID, contact)
|
||||
state.ModifiedContacts.Store(contact.ID, true)
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func ToVerificationRequest(message protobuf.SyncVerificationRequest) *verification.Request {
|
||||
return &verification.Request{
|
||||
From: message.From,
|
||||
To: message.To,
|
||||
Challenge: message.Challenge,
|
||||
Response: message.Response,
|
||||
RequestedAt: message.RequestedAt,
|
||||
RepliedAt: message.RepliedAt,
|
||||
RequestStatus: verification.RequestStatus(message.VerificationStatus),
|
||||
}
|
||||
}
|
||||
|
||||
func (m *Messenger) handleSyncVerificationRequest(state *ReceivedMessageState, message protobuf.SyncVerificationRequest) error {
|
||||
verificationRequest := ToVerificationRequest(message)
|
||||
|
||||
shouldSync, err := m.verificationDatabase.UpsertVerificationRequest(verificationRequest)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
myPubKey := hexutil.Encode(crypto.FromECDSAPub(&m.identity.PublicKey))
|
||||
|
||||
if !shouldSync {
|
||||
return nil
|
||||
}
|
||||
|
||||
state.AllVerificationRequests = append(state.AllVerificationRequests, verificationRequest)
|
||||
|
||||
if message.From == myPubKey { // Verification requests we sent
|
||||
contact, ok := m.allContacts.Load(message.To)
|
||||
if !ok {
|
||||
m.logger.Info("contact not found")
|
||||
return nil
|
||||
}
|
||||
|
||||
contact.VerificationStatus = VerificationStatus(message.VerificationStatus)
|
||||
if err := m.persistence.SaveContact(contact, nil); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
m.allContacts.Store(contact.ID, contact)
|
||||
state.ModifiedContacts.Store(contact.ID, true)
|
||||
|
||||
// TODO: create activity center notif
|
||||
|
||||
}
|
||||
// else { // Verification requests we received
|
||||
// // TODO: activity center notif
|
||||
//}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
|
|
@ -209,5 +209,7 @@ func (m *Messenger) syncBackupContact(ctx context.Context, contact *Contact) *pr
|
|||
Muted: muted,
|
||||
HasAddedUs: contact.HasAddedUs,
|
||||
Removed: contact.Removed,
|
||||
VerificationStatus: int64(contact.VerificationStatus),
|
||||
TrustStatus: int64(contact.TrustStatus),
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,737 @@
|
|||
package protocol
|
||||
|
||||
import (
|
||||
"context"
|
||||
"strings"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
"go.uber.org/zap"
|
||||
|
||||
"github.com/ethereum/go-ethereum/common/hexutil"
|
||||
|
||||
"github.com/golang/protobuf/proto"
|
||||
|
||||
"github.com/status-im/status-go/eth-node/crypto"
|
||||
"github.com/status-im/status-go/protocol/common"
|
||||
"github.com/status-im/status-go/protocol/protobuf"
|
||||
"github.com/status-im/status-go/protocol/verification"
|
||||
)
|
||||
|
||||
const minContactVerificationMessageLen = 1
|
||||
const maxContactVerificationMessageLen = 280
|
||||
|
||||
func (m *Messenger) SendContactVerificationRequest(ctx context.Context, contactID string, challenge string) error {
|
||||
if len(challenge) < minContactVerificationMessageLen || len(challenge) > maxContactVerificationMessageLen {
|
||||
return errors.New("invalid verification request challenge length")
|
||||
}
|
||||
|
||||
contact, ok := m.allContacts.Load(contactID)
|
||||
if !ok || !contact.Added || !contact.HasAddedUs {
|
||||
return errors.New("must be a mutual contact")
|
||||
}
|
||||
|
||||
verifRequest, err := m.verificationDatabase.GetVerificationRequestFrom(contactID)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if verifRequest != nil && verifRequest.RequestStatus == verification.RequestStatusACCEPTED {
|
||||
return errors.New("verification request already accepted")
|
||||
}
|
||||
|
||||
if verifRequest != nil && verifRequest.RequestStatus == verification.RequestStatusPENDING {
|
||||
return errors.New("verification request already sent")
|
||||
}
|
||||
|
||||
if verifRequest == nil {
|
||||
verifRequest = &verification.Request{
|
||||
From: common.PubkeyToHex(&m.identity.PublicKey),
|
||||
To: contact.ID,
|
||||
Challenge: challenge,
|
||||
RequestStatus: verification.RequestStatusPENDING,
|
||||
RepliedAt: 0,
|
||||
}
|
||||
}
|
||||
|
||||
chat, ok := m.allChats.Load(contactID)
|
||||
if !ok {
|
||||
publicKey, err := contact.PublicKey()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
chat = OneToOneFromPublicKey(publicKey, m.getTimesource())
|
||||
// We don't want to show the chat to the user
|
||||
chat.Active = false
|
||||
}
|
||||
|
||||
m.allChats.Store(chat.ID, chat)
|
||||
clock, _ := chat.NextClockAndTimestamp(m.getTimesource())
|
||||
|
||||
request := &protobuf.RequestContactVerification{
|
||||
Clock: clock,
|
||||
Challenge: challenge,
|
||||
}
|
||||
|
||||
encodedMessage, err := proto.Marshal(request)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
_, err = m.dispatchMessage(ctx, common.RawMessage{
|
||||
LocalChatID: chat.ID,
|
||||
Payload: encodedMessage,
|
||||
MessageType: protobuf.ApplicationMetadataMessage_REQUEST_CONTACT_VERIFICATION,
|
||||
ResendAutomatically: true,
|
||||
})
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
contact.VerificationStatus = VerificationStatusVERIFYING
|
||||
contact.LastUpdatedLocally = m.getTimesource().GetCurrentTime()
|
||||
|
||||
err = m.persistence.SaveContact(contact, nil)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// We sync the contact with the other devices
|
||||
err = m.syncContact(context.Background(), contact)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
m.allContacts.Store(contact.ID, contact)
|
||||
|
||||
verifRequest.RequestedAt = clock
|
||||
|
||||
err = m.verificationDatabase.SaveVerificationRequest(verifRequest)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return m.SyncVerificationRequest(context.Background(), verifRequest)
|
||||
}
|
||||
|
||||
func (m *Messenger) GetVerificationRequestSentTo(ctx context.Context, contactID string) (*verification.Request, error) {
|
||||
_, ok := m.allContacts.Load(contactID)
|
||||
if !ok {
|
||||
return nil, errors.New("contact not found")
|
||||
}
|
||||
|
||||
return m.verificationDatabase.GetVerificationRequestSentTo(contactID)
|
||||
}
|
||||
|
||||
func (m *Messenger) GetVerificationRequestFrom(ctx context.Context, contactID string) (*verification.Request, error) {
|
||||
_, ok := m.allContacts.Load(contactID)
|
||||
if !ok {
|
||||
return nil, errors.New("contact not found")
|
||||
}
|
||||
|
||||
return m.verificationDatabase.GetVerificationRequestFrom(contactID)
|
||||
}
|
||||
|
||||
func (m *Messenger) GetReceivedVerificationRequests(ctx context.Context) ([]*verification.Request, error) {
|
||||
myPubKey := hexutil.Encode(crypto.FromECDSAPub(&m.identity.PublicKey))
|
||||
return m.verificationDatabase.GetReceivedVerificationRequests(myPubKey)
|
||||
}
|
||||
|
||||
func (m *Messenger) CancelVerificationRequest(ctx context.Context, contactID string) error {
|
||||
contact, ok := m.allContacts.Load(contactID)
|
||||
if !ok || !contact.Added || !contact.HasAddedUs {
|
||||
return errors.New("must be a mutual contact")
|
||||
}
|
||||
|
||||
verifRequest, err := m.verificationDatabase.GetVerificationRequestSentTo(contactID)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if verifRequest == nil {
|
||||
return errors.New("no contact verification found")
|
||||
}
|
||||
|
||||
if verifRequest.RequestStatus != verification.RequestStatusPENDING {
|
||||
return errors.New("can't cancel a request already verified")
|
||||
}
|
||||
|
||||
verifRequest.RequestStatus = verification.RequestStatusCANCELED
|
||||
err = m.verificationDatabase.SaveVerificationRequest(verifRequest)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
contact.VerificationStatus = VerificationStatusUNVERIFIED
|
||||
contact.LastUpdatedLocally = m.getTimesource().GetCurrentTime()
|
||||
|
||||
err = m.persistence.SaveContact(contact, nil)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// We sync the contact with the other devices
|
||||
err = m.syncContact(context.Background(), contact)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
err = m.SyncVerificationRequest(context.Background(), verifRequest)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
m.allContacts.Store(contact.ID, contact)
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *Messenger) AcceptContactVerificationRequest(ctx context.Context, contactID string, response string) error {
|
||||
contact, ok := m.allContacts.Load(contactID)
|
||||
if !ok || !contact.Added || !contact.HasAddedUs {
|
||||
return errors.New("must be a mutual contact")
|
||||
}
|
||||
|
||||
verifRequest, err := m.verificationDatabase.GetVerificationRequestFrom(contactID)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if verifRequest == nil {
|
||||
return errors.New("no contact verification found")
|
||||
}
|
||||
|
||||
chat, ok := m.allChats.Load(contactID)
|
||||
if !ok {
|
||||
publicKey, err := contact.PublicKey()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
chat = OneToOneFromPublicKey(publicKey, m.getTimesource())
|
||||
// We don't want to show the chat to the user
|
||||
chat.Active = false
|
||||
}
|
||||
|
||||
m.allChats.Store(chat.ID, chat)
|
||||
clock, _ := chat.NextClockAndTimestamp(m.getTimesource())
|
||||
|
||||
verifRequest.RequestStatus = verification.RequestStatusACCEPTED
|
||||
verifRequest.RepliedAt = clock
|
||||
err = m.verificationDatabase.SaveVerificationRequest(verifRequest)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
err = m.SyncVerificationRequest(context.Background(), verifRequest)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
request := &protobuf.AcceptContactVerification{
|
||||
Clock: clock,
|
||||
Response: response,
|
||||
}
|
||||
|
||||
encodedMessage, err := proto.Marshal(request)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
_, err = m.dispatchMessage(ctx, common.RawMessage{
|
||||
LocalChatID: chat.ID,
|
||||
Payload: encodedMessage,
|
||||
MessageType: protobuf.ApplicationMetadataMessage_ACCEPT_CONTACT_VERIFICATION,
|
||||
ResendAutomatically: true,
|
||||
})
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return m.verificationDatabase.AcceptContactVerificationRequest(contactID, response)
|
||||
}
|
||||
|
||||
func (m *Messenger) VerifiedTrusted(ctx context.Context, contactID string) error {
|
||||
contact, ok := m.allContacts.Load(contactID)
|
||||
if !ok || !contact.Added || !contact.HasAddedUs {
|
||||
return errors.New("must be a mutual contact")
|
||||
}
|
||||
|
||||
err := m.verificationDatabase.SetTrustStatus(contactID, verification.TrustStatusTRUSTED, m.getTimesource().GetCurrentTime())
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
err = m.SyncTrustedUser(context.Background(), contactID, verification.TrustStatusTRUSTED)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
contact.VerificationStatus = VerificationStatusVERIFIED
|
||||
contact.LastUpdatedLocally = m.getTimesource().GetCurrentTime()
|
||||
err = m.persistence.SaveContact(contact, nil)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
chat, ok := m.allChats.Load(contactID)
|
||||
clock, _ := chat.NextClockAndTimestamp(m.getTimesource())
|
||||
if !ok {
|
||||
publicKey, err := contact.PublicKey()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
chat = OneToOneFromPublicKey(publicKey, m.getTimesource())
|
||||
// We don't want to show the chat to the user
|
||||
chat.Active = false
|
||||
}
|
||||
|
||||
request := &protobuf.ContactVerificationTrusted{
|
||||
Clock: clock,
|
||||
}
|
||||
|
||||
encodedMessage, err := proto.Marshal(request)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
_, err = m.dispatchMessage(ctx, common.RawMessage{
|
||||
LocalChatID: chat.ID,
|
||||
Payload: encodedMessage,
|
||||
MessageType: protobuf.ApplicationMetadataMessage_CONTACT_VERIFICATION_TRUSTED,
|
||||
ResendAutomatically: true,
|
||||
})
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
verifRequest, err := m.verificationDatabase.GetVerificationRequestSentTo(contactID)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if verifRequest == nil {
|
||||
return errors.New("no contact verification found")
|
||||
}
|
||||
|
||||
verifRequest.RequestStatus = verification.RequestStatusTRUSTED
|
||||
verifRequest.RepliedAt = clock
|
||||
err = m.verificationDatabase.SaveVerificationRequest(verifRequest)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
err = m.SyncVerificationRequest(context.Background(), verifRequest)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// We sync the contact with the other devices
|
||||
err = m.syncContact(context.Background(), contact)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *Messenger) VerifiedUntrustworthy(ctx context.Context, contactID string) error {
|
||||
contact, ok := m.allContacts.Load(contactID)
|
||||
if !ok || !contact.Added || !contact.HasAddedUs {
|
||||
return errors.New("must be a mutual contact")
|
||||
}
|
||||
|
||||
err := m.verificationDatabase.SetTrustStatus(contactID, verification.TrustStatusUNTRUSTWORTHY, m.getTimesource().GetCurrentTime())
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
err = m.SyncTrustedUser(context.Background(), contactID, verification.TrustStatusUNTRUSTWORTHY)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
contact.VerificationStatus = VerificationStatusVERIFIED
|
||||
contact.LastUpdatedLocally = m.getTimesource().GetCurrentTime()
|
||||
err = m.persistence.SaveContact(contact, nil)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// We sync the contact with the other devices
|
||||
err = m.syncContact(context.Background(), contact)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *Messenger) DeclineContactVerificationRequest(ctx context.Context, contactID string) error {
|
||||
contact, ok := m.allContacts.Load(contactID)
|
||||
if !ok || !contact.Added || !contact.HasAddedUs {
|
||||
return errors.New("must be a mutual contact")
|
||||
}
|
||||
|
||||
verifRequest, err := m.verificationDatabase.GetVerificationRequestFrom(contactID)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if verifRequest == nil {
|
||||
return errors.New("no contact verification found")
|
||||
}
|
||||
|
||||
chat, ok := m.allChats.Load(contactID)
|
||||
if !ok {
|
||||
publicKey, err := contact.PublicKey()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
chat = OneToOneFromPublicKey(publicKey, m.getTimesource())
|
||||
// We don't want to show the chat to the user
|
||||
chat.Active = false
|
||||
}
|
||||
|
||||
m.allChats.Store(chat.ID, chat)
|
||||
clock, _ := chat.NextClockAndTimestamp(m.getTimesource())
|
||||
|
||||
verifRequest.RequestStatus = verification.RequestStatusDECLINED
|
||||
verifRequest.RepliedAt = clock
|
||||
err = m.verificationDatabase.SaveVerificationRequest(verifRequest)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
err = m.SyncVerificationRequest(context.Background(), verifRequest)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
request := &protobuf.DeclineContactVerification{
|
||||
Clock: clock,
|
||||
}
|
||||
|
||||
encodedMessage, err := proto.Marshal(request)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
_, err = m.dispatchMessage(ctx, common.RawMessage{
|
||||
LocalChatID: chat.ID,
|
||||
Payload: encodedMessage,
|
||||
MessageType: protobuf.ApplicationMetadataMessage_DECLINE_CONTACT_VERIFICATION,
|
||||
ResendAutomatically: true,
|
||||
})
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return m.verificationDatabase.DeclineContactVerificationRequest(contactID)
|
||||
}
|
||||
|
||||
func (m *Messenger) MarkAsTrusted(ctx context.Context, contactID string) error {
|
||||
err := m.verificationDatabase.SetTrustStatus(contactID, verification.TrustStatusTRUSTED, m.getTimesource().GetCurrentTime())
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return m.SyncTrustedUser(ctx, contactID, verification.TrustStatusTRUSTED)
|
||||
}
|
||||
|
||||
func (m *Messenger) MarkAsUntrustworthy(ctx context.Context, contactID string) error {
|
||||
err := m.verificationDatabase.SetTrustStatus(contactID, verification.TrustStatusUNTRUSTWORTHY, m.getTimesource().GetCurrentTime())
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return m.SyncTrustedUser(ctx, contactID, verification.TrustStatusUNTRUSTWORTHY)
|
||||
}
|
||||
|
||||
func (m *Messenger) RemoveTrustStatus(ctx context.Context, contactID string) error {
|
||||
err := m.verificationDatabase.SetTrustStatus(contactID, verification.TrustStatusUNKNOWN, m.getTimesource().GetCurrentTime())
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return m.SyncTrustedUser(ctx, contactID, verification.TrustStatusUNKNOWN)
|
||||
}
|
||||
|
||||
func (m *Messenger) GetTrustStatus(contactID string) (verification.TrustStatus, error) {
|
||||
return m.verificationDatabase.GetTrustStatus(contactID)
|
||||
}
|
||||
|
||||
func ValidateContactVerificationRequest(request protobuf.RequestContactVerification) error {
|
||||
challengeLen := len(strings.TrimSpace(request.Challenge))
|
||||
if challengeLen < minContactVerificationMessageLen || challengeLen > maxContactVerificationMessageLen {
|
||||
return errors.New("invalid verification request challenge length")
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *Messenger) HandleRequestContactVerification(state *ReceivedMessageState, request protobuf.RequestContactVerification) error {
|
||||
if err := ValidateContactVerificationRequest(request); err != nil {
|
||||
m.logger.Debug("Invalid verification request", zap.Error(err))
|
||||
return err
|
||||
}
|
||||
|
||||
if common.IsPubKeyEqual(state.CurrentMessageState.PublicKey, &m.identity.PublicKey) {
|
||||
return nil // Is ours, do nothing
|
||||
}
|
||||
|
||||
myPubKey := hexutil.Encode(crypto.FromECDSAPub(&m.identity.PublicKey))
|
||||
contactID := hexutil.Encode(crypto.FromECDSAPub(state.CurrentMessageState.PublicKey))
|
||||
|
||||
contact := state.CurrentMessageState.Contact
|
||||
if !contact.Added || !contact.HasAddedUs {
|
||||
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")
|
||||
}
|
||||
|
||||
persistedVR, err := m.verificationDatabase.GetVerificationRequestFrom(contactID)
|
||||
if err != nil {
|
||||
m.logger.Debug("Error obtaining verification request", zap.Error(err))
|
||||
return err
|
||||
}
|
||||
|
||||
if persistedVR != nil && persistedVR.RequestedAt > request.Clock {
|
||||
return nil // older message, ignore it
|
||||
}
|
||||
|
||||
if persistedVR == nil {
|
||||
// This is a new verification request, and we have not received its acceptance/decline before
|
||||
persistedVR = &verification.Request{}
|
||||
persistedVR.From = contactID
|
||||
persistedVR.To = myPubKey
|
||||
persistedVR.RequestStatus = verification.RequestStatusPENDING
|
||||
}
|
||||
|
||||
persistedVR.Challenge = request.Challenge
|
||||
persistedVR.RequestedAt = request.Clock
|
||||
|
||||
err = m.verificationDatabase.SaveVerificationRequest(persistedVR)
|
||||
if err != nil {
|
||||
m.logger.Debug("Error storing verification request", zap.Error(err))
|
||||
return err
|
||||
}
|
||||
|
||||
err = m.SyncVerificationRequest(context.Background(), persistedVR)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
state.AllVerificationRequests = append(state.AllVerificationRequests, persistedVR)
|
||||
|
||||
// TODO: create or update activity center notification
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func ValidateAcceptContactVerification(request protobuf.AcceptContactVerification) error {
|
||||
responseLen := len(strings.TrimSpace(request.Response))
|
||||
if responseLen < minContactVerificationMessageLen || responseLen > maxContactVerificationMessageLen {
|
||||
return errors.New("invalid verification request response length")
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *Messenger) HandleAcceptContactVerification(state *ReceivedMessageState, request protobuf.AcceptContactVerification) error {
|
||||
if err := ValidateAcceptContactVerification(request); err != nil {
|
||||
m.logger.Debug("Invalid AcceptContactVerification", zap.Error(err))
|
||||
return err
|
||||
}
|
||||
|
||||
if common.IsPubKeyEqual(state.CurrentMessageState.PublicKey, &m.identity.PublicKey) {
|
||||
return nil // Is ours, do nothing
|
||||
}
|
||||
|
||||
myPubKey := hexutil.Encode(crypto.FromECDSAPub(&m.identity.PublicKey))
|
||||
contactID := hexutil.Encode(crypto.FromECDSAPub(state.CurrentMessageState.PublicKey))
|
||||
|
||||
contact := state.CurrentMessageState.Contact
|
||||
if !contact.Added || !contact.HasAddedUs {
|
||||
m.logger.Debug("Received a verification response for a non mutual contact", zap.String("contactID", contactID))
|
||||
return errors.New("must be a mutual contact")
|
||||
}
|
||||
|
||||
persistedVR, err := m.verificationDatabase.GetVerificationRequestSentTo(contactID)
|
||||
if err != nil {
|
||||
m.logger.Debug("Error obtaining verification request", zap.Error(err))
|
||||
return err
|
||||
}
|
||||
|
||||
if persistedVR != nil && persistedVR.RepliedAt > request.Clock {
|
||||
return nil // older message, ignore it
|
||||
}
|
||||
|
||||
if persistedVR.RequestStatus == verification.RequestStatusCANCELED {
|
||||
return nil // Do nothing, We have already cancelled the verification request
|
||||
}
|
||||
|
||||
if persistedVR == nil {
|
||||
// This is a response for which we have not received its request before
|
||||
persistedVR = &verification.Request{}
|
||||
persistedVR.From = contactID
|
||||
persistedVR.To = myPubKey
|
||||
}
|
||||
|
||||
persistedVR.RequestStatus = verification.RequestStatusACCEPTED
|
||||
persistedVR.Response = request.Response
|
||||
persistedVR.RepliedAt = request.Clock
|
||||
|
||||
err = m.verificationDatabase.SaveVerificationRequest(persistedVR)
|
||||
if err != nil {
|
||||
m.logger.Debug("Error storing verification request", zap.Error(err))
|
||||
return err
|
||||
}
|
||||
|
||||
err = m.SyncVerificationRequest(context.Background(), persistedVR)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
state.AllVerificationRequests = append(state.AllVerificationRequests, persistedVR)
|
||||
|
||||
// TODO: create or update activity center notification
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *Messenger) HandleDeclineContactVerification(state *ReceivedMessageState, request protobuf.DeclineContactVerification) error {
|
||||
if common.IsPubKeyEqual(state.CurrentMessageState.PublicKey, &m.identity.PublicKey) {
|
||||
return nil // Is ours, do nothing
|
||||
}
|
||||
|
||||
myPubKey := hexutil.Encode(crypto.FromECDSAPub(&m.identity.PublicKey))
|
||||
contactID := hexutil.Encode(crypto.FromECDSAPub(state.CurrentMessageState.PublicKey))
|
||||
|
||||
contact := state.CurrentMessageState.Contact
|
||||
if !contact.Added || !contact.HasAddedUs {
|
||||
m.logger.Debug("Received a verification decline for a non mutual contact", zap.String("contactID", contactID))
|
||||
return errors.New("must be a mutual contact")
|
||||
}
|
||||
|
||||
persistedVR, err := m.verificationDatabase.GetVerificationRequestSentTo(contactID)
|
||||
if err != nil {
|
||||
m.logger.Debug("Error obtaining verification request", zap.Error(err))
|
||||
return err
|
||||
}
|
||||
|
||||
if persistedVR != nil && persistedVR.RepliedAt > request.Clock {
|
||||
return nil // older message, ignore it
|
||||
}
|
||||
|
||||
if persistedVR.RequestStatus == verification.RequestStatusCANCELED {
|
||||
return nil // Do nothing, We have already cancelled the verification request
|
||||
}
|
||||
|
||||
if persistedVR == nil {
|
||||
// This is a response for which we have not received its request before
|
||||
persistedVR = &verification.Request{}
|
||||
persistedVR.From = contactID
|
||||
persistedVR.To = myPubKey
|
||||
}
|
||||
|
||||
persistedVR.RequestStatus = verification.RequestStatusDECLINED
|
||||
persistedVR.RepliedAt = request.Clock
|
||||
|
||||
err = m.verificationDatabase.SaveVerificationRequest(persistedVR)
|
||||
if err != nil {
|
||||
m.logger.Debug("Error storing verification request", zap.Error(err))
|
||||
return err
|
||||
}
|
||||
|
||||
err = m.SyncVerificationRequest(context.Background(), persistedVR)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
state.AllVerificationRequests = append(state.AllVerificationRequests, persistedVR)
|
||||
|
||||
// TODO: create or update activity center notification
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *Messenger) HandleContactVerificationTrusted(state *ReceivedMessageState, request protobuf.ContactVerificationTrusted) error {
|
||||
if common.IsPubKeyEqual(state.CurrentMessageState.PublicKey, &m.identity.PublicKey) {
|
||||
return nil // Is ours, do nothing
|
||||
}
|
||||
|
||||
myPubKey := hexutil.Encode(crypto.FromECDSAPub(&m.identity.PublicKey))
|
||||
contactID := hexutil.Encode(crypto.FromECDSAPub(state.CurrentMessageState.PublicKey))
|
||||
|
||||
contact := state.CurrentMessageState.Contact
|
||||
if !contact.Added || !contact.HasAddedUs {
|
||||
m.logger.Debug("Received a verification trusted for a non mutual contact", zap.String("contactID", contactID))
|
||||
return errors.New("must be a mutual contact")
|
||||
}
|
||||
|
||||
err := m.verificationDatabase.SetTrustStatus(contactID, verification.TrustStatusTRUSTED, m.getTimesource().GetCurrentTime())
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
err = m.SyncTrustedUser(context.Background(), contactID, verification.TrustStatusTRUSTED)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
persistedVR, err := m.verificationDatabase.GetVerificationRequestFrom(contactID)
|
||||
if err != nil {
|
||||
m.logger.Debug("Error obtaining verification request", zap.Error(err))
|
||||
return err
|
||||
}
|
||||
|
||||
if persistedVR != nil && persistedVR.RepliedAt > request.Clock {
|
||||
return nil // older message, ignore it
|
||||
}
|
||||
|
||||
if persistedVR.RequestStatus == verification.RequestStatusCANCELED {
|
||||
return nil // Do nothing, We have already cancelled the verification request
|
||||
}
|
||||
|
||||
if persistedVR == nil {
|
||||
// This is a response for which we have not received its request before
|
||||
persistedVR = &verification.Request{}
|
||||
persistedVR.From = contactID
|
||||
persistedVR.To = myPubKey
|
||||
}
|
||||
|
||||
persistedVR.RequestStatus = verification.RequestStatusTRUSTED
|
||||
|
||||
err = m.verificationDatabase.SaveVerificationRequest(persistedVR)
|
||||
if err != nil {
|
||||
m.logger.Debug("Error storing verification request", zap.Error(err))
|
||||
return err
|
||||
}
|
||||
|
||||
err = m.SyncVerificationRequest(context.Background(), persistedVR)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
state.AllVerificationRequests = append(state.AllVerificationRequests, persistedVR)
|
||||
|
||||
contact.VerificationStatus = VerificationStatusVERIFIED
|
||||
contact.LastUpdatedLocally = m.getTimesource().GetCurrentTime()
|
||||
err = m.persistence.SaveContact(contact, nil)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
state.ModifiedContacts.Store(contact.ID, true)
|
||||
state.AllContacts.Store(contact.ID, contact)
|
||||
|
||||
// We sync the contact with the other devices
|
||||
err = m.syncContact(context.Background(), contact)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// TODO: create or update activity center notification
|
||||
|
||||
return nil
|
||||
}
|
|
@ -20,6 +20,7 @@ import (
|
|||
"github.com/status-im/status-go/protocol/encryption/multidevice"
|
||||
"github.com/status-im/status-go/protocol/protobuf"
|
||||
v1protocol "github.com/status-im/status-go/protocol/v1"
|
||||
"github.com/status-im/status-go/protocol/verification"
|
||||
localnotifications "github.com/status-im/status-go/services/local-notifications"
|
||||
"github.com/status-im/status-go/signal"
|
||||
)
|
||||
|
@ -474,6 +475,13 @@ func (m *Messenger) HandleSyncInstallationContact(state *ReceivedMessageState, m
|
|||
}
|
||||
contact.LastUpdatedLocally = message.LastUpdatedLocally
|
||||
contact.LocalNickname = message.LocalNickname
|
||||
contact.TrustStatus = verification.TrustStatus(message.TrustStatus)
|
||||
contact.VerificationStatus = VerificationStatus(message.VerificationStatus)
|
||||
|
||||
_, err := m.verificationDatabase.UpsertTrustStatus(contact.ID, contact.TrustStatus, message.LastUpdatedLocally)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if message.Blocked != contact.Blocked {
|
||||
if message.Blocked {
|
||||
|
|
|
@ -12,6 +12,7 @@ import (
|
|||
"github.com/status-im/status-go/protocol/common"
|
||||
"github.com/status-im/status-go/protocol/communities"
|
||||
"github.com/status-im/status-go/protocol/encryption/multidevice"
|
||||
"github.com/status-im/status-go/protocol/verification"
|
||||
localnotifications "github.com/status-im/status-go/services/local-notifications"
|
||||
"github.com/status-im/status-go/services/mailservers"
|
||||
)
|
||||
|
@ -39,6 +40,7 @@ type MessengerResponse struct {
|
|||
Settings []*settings.SyncSettingField
|
||||
IdentityImages []*images.IdentityImage
|
||||
Accounts []*accounts.Account
|
||||
VerificationRequests []*verification.Request
|
||||
|
||||
// notifications a list of notifications derived from messenger events
|
||||
// that are useful to notify the user about
|
||||
|
@ -54,6 +56,7 @@ type MessengerResponse struct {
|
|||
currentStatus *UserStatus
|
||||
statusUpdates map[string]UserStatus
|
||||
clearedHistories map[string]*ClearedHistory
|
||||
trustStatus map[string]verification.TrustStatus
|
||||
}
|
||||
|
||||
func (r *MessengerResponse) MarshalJSON() ([]byte, error) {
|
||||
|
@ -72,6 +75,8 @@ func (r *MessengerResponse) MarshalJSON() ([]byte, error) {
|
|||
Mailservers []mailservers.Mailserver `json:"mailservers,omitempty"`
|
||||
Bookmarks []*browsers.Bookmark `json:"bookmarks,omitempty"`
|
||||
ClearedHistories []*ClearedHistory `json:"clearedHistories,omitempty"`
|
||||
VerificationRequests []*verification.Request `json:"verificationRequests,omitempty"`
|
||||
TrustStatus map[string]verification.TrustStatus `json:"trustStatus,omitempty"`
|
||||
// Notifications a list of notifications derived from messenger events
|
||||
// that are useful to notify the user about
|
||||
Notifications []*localnotifications.Notification `json:"notifications"`
|
||||
|
@ -96,6 +101,8 @@ func (r *MessengerResponse) MarshalJSON() ([]byte, error) {
|
|||
Settings: r.Settings,
|
||||
IdentityImages: r.IdentityImages,
|
||||
Accounts: r.Accounts,
|
||||
VerificationRequests: r.VerificationRequests,
|
||||
|
||||
Messages: r.Messages(),
|
||||
Notifications: r.Notifications(),
|
||||
Chats: r.Chats(),
|
||||
|
@ -109,6 +116,7 @@ func (r *MessengerResponse) MarshalJSON() ([]byte, error) {
|
|||
StatusUpdates: r.StatusUpdates(),
|
||||
}
|
||||
|
||||
responseItem.TrustStatus = r.TrustStatus()
|
||||
return json.Marshal(responseItem)
|
||||
}
|
||||
|
||||
|
@ -176,6 +184,18 @@ func (r *MessengerResponse) PinMessages() []*common.PinMessage {
|
|||
return pinMessages
|
||||
}
|
||||
|
||||
func (r *MessengerResponse) TrustStatus() map[string]verification.TrustStatus {
|
||||
if len(r.trustStatus) == 0 {
|
||||
return nil
|
||||
}
|
||||
|
||||
result := make(map[string]verification.TrustStatus)
|
||||
for contactID, trustStatus := range r.trustStatus {
|
||||
result[contactID] = trustStatus
|
||||
}
|
||||
return result
|
||||
}
|
||||
|
||||
func (r *MessengerResponse) StatusUpdates() []UserStatus {
|
||||
var userStatus []UserStatus
|
||||
for pk, s := range r.statusUpdates {
|
||||
|
@ -206,6 +226,8 @@ func (r *MessengerResponse) IsEmpty() bool {
|
|||
len(r.notifications)+
|
||||
len(r.statusUpdates)+
|
||||
len(r.activityCenterNotifications)+
|
||||
len(r.trustStatus)+
|
||||
len(r.VerificationRequests)+
|
||||
len(r.RequestsToJoinCommunity) == 0 &&
|
||||
r.currentStatus == nil
|
||||
}
|
||||
|
@ -222,6 +244,8 @@ func (r *MessengerResponse) Merge(response *MessengerResponse) error {
|
|||
len(response.EmojiReactions)+
|
||||
len(response.Bookmarks)+
|
||||
len(response.clearedHistories)+
|
||||
len(response.VerificationRequests)+
|
||||
len(response.trustStatus)+
|
||||
len(response.CommunityChanges) != 0 {
|
||||
return ErrNotImplemented
|
||||
}
|
||||
|
@ -233,6 +257,8 @@ func (r *MessengerResponse) Merge(response *MessengerResponse) error {
|
|||
r.AddMessages(response.Messages())
|
||||
r.AddCommunities(response.Communities())
|
||||
r.AddPinMessages(response.PinMessages())
|
||||
r.AddVerificationRequests(response.VerificationRequests)
|
||||
r.AddTrustStatuses(response.trustStatus)
|
||||
r.AddActivityCenterNotifications(response.ActivityCenterNotifications())
|
||||
|
||||
return nil
|
||||
|
@ -270,6 +296,34 @@ func (r *MessengerResponse) AddBookmarks(bookmarks []*browsers.Bookmark) {
|
|||
}
|
||||
}
|
||||
|
||||
func (r *MessengerResponse) AddVerificationRequest(vr *verification.Request) {
|
||||
r.VerificationRequests = append(r.VerificationRequests, vr)
|
||||
}
|
||||
|
||||
func (r *MessengerResponse) AddVerificationRequests(vrs []*verification.Request) {
|
||||
for _, vr := range vrs {
|
||||
r.AddVerificationRequest(vr)
|
||||
}
|
||||
}
|
||||
|
||||
func (r *MessengerResponse) AddTrustStatus(contactID string, trustStatus verification.TrustStatus) {
|
||||
if r.trustStatus == nil {
|
||||
r.trustStatus = make(map[string]verification.TrustStatus)
|
||||
}
|
||||
|
||||
r.trustStatus[contactID] = trustStatus
|
||||
}
|
||||
|
||||
func (r *MessengerResponse) AddTrustStatuses(ts map[string]verification.TrustStatus) {
|
||||
if r.trustStatus == nil {
|
||||
r.trustStatus = make(map[string]verification.TrustStatus)
|
||||
}
|
||||
|
||||
for k, v := range ts {
|
||||
r.trustStatus[k] = v
|
||||
}
|
||||
}
|
||||
|
||||
func (r *MessengerResponse) AddChat(c *Chat) {
|
||||
if r.chats == nil {
|
||||
r.chats = make(map[string]*Chat)
|
||||
|
|
|
@ -0,0 +1,199 @@
|
|||
package protocol
|
||||
|
||||
import (
|
||||
"context"
|
||||
"crypto/ecdsa"
|
||||
"errors"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
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/protocol/encryption/multidevice"
|
||||
"github.com/status-im/status-go/protocol/tt"
|
||||
"github.com/status-im/status-go/protocol/verification"
|
||||
"github.com/status-im/status-go/waku"
|
||||
|
||||
"github.com/stretchr/testify/suite"
|
||||
"go.uber.org/zap"
|
||||
|
||||
"github.com/status-im/status-go/eth-node/types"
|
||||
)
|
||||
|
||||
func TestMessengerSyncVerificationRequests(t *testing.T) {
|
||||
suite.Run(t, new(MessengerSyncVerificationRequests))
|
||||
}
|
||||
|
||||
type MessengerSyncVerificationRequests struct {
|
||||
suite.Suite
|
||||
m *Messenger // main instance of Messenger
|
||||
privateKey *ecdsa.PrivateKey // private key for the main instance of Messenger
|
||||
|
||||
// If one wants to send messages between different instances of Messenger,
|
||||
// a single Waku service should be shared.
|
||||
shh types.Waku
|
||||
|
||||
logger *zap.Logger
|
||||
}
|
||||
|
||||
func (s *MessengerSyncVerificationRequests) SetupTest() {
|
||||
s.logger = tt.MustCreateTestLogger()
|
||||
config := waku.DefaultConfig
|
||||
config.MinimumAcceptedPoW = 0
|
||||
shh := waku.New(&config, s.logger)
|
||||
s.shh = gethbridge.NewGethWakuWrapper(shh)
|
||||
s.Require().NoError(shh.Start())
|
||||
s.m = s.newMessenger(s.shh)
|
||||
s.privateKey = s.m.identity
|
||||
// We start the messenger in order to receive installations
|
||||
_, err := s.m.Start()
|
||||
s.Require().NoError(err)
|
||||
}
|
||||
|
||||
func (s *MessengerSyncVerificationRequests) TestSyncVerificationRequests() {
|
||||
request := &verification.Request{
|
||||
From: "0x01",
|
||||
To: "0x02",
|
||||
Challenge: "ABC",
|
||||
Response: "ABC",
|
||||
RequestedAt: uint64(time.Now().Unix()),
|
||||
RepliedAt: uint64(time.Now().Unix()),
|
||||
RequestStatus: verification.RequestStatusACCEPTED,
|
||||
}
|
||||
err := s.m.verificationDatabase.SaveVerificationRequest(request)
|
||||
s.Require().NoError(err)
|
||||
|
||||
// pair
|
||||
theirMessenger, err := newMessengerWithKey(s.shh, s.privateKey, s.logger, nil)
|
||||
s.Require().NoError(err)
|
||||
|
||||
err = theirMessenger.SetInstallationMetadata(theirMessenger.installationID, &multidevice.InstallationMetadata{
|
||||
Name: "their-name",
|
||||
DeviceType: "their-device-type",
|
||||
})
|
||||
s.Require().NoError(err)
|
||||
response, err := theirMessenger.SendPairInstallation(context.Background())
|
||||
s.Require().NoError(err)
|
||||
s.Require().NotNil(response)
|
||||
s.Require().Len(response.Chats(), 1)
|
||||
s.Require().False(response.Chats()[0].Active)
|
||||
|
||||
// Wait for the message to reach its destination
|
||||
response, err = WaitOnMessengerResponse(
|
||||
s.m,
|
||||
func(r *MessengerResponse) bool { return len(r.Installations) > 0 },
|
||||
"installation not received",
|
||||
)
|
||||
|
||||
s.Require().NoError(err)
|
||||
actualInstallation := response.Installations[0]
|
||||
s.Require().Equal(theirMessenger.installationID, actualInstallation.ID)
|
||||
s.Require().NotNil(actualInstallation.InstallationMetadata)
|
||||
s.Require().Equal("their-name", actualInstallation.InstallationMetadata.Name)
|
||||
s.Require().Equal("their-device-type", actualInstallation.InstallationMetadata.DeviceType)
|
||||
|
||||
err = s.m.EnableInstallation(theirMessenger.installationID)
|
||||
s.Require().NoError(err)
|
||||
|
||||
// sync
|
||||
err = s.m.SyncVerificationRequest(context.Background(), request)
|
||||
s.Require().NoError(err)
|
||||
|
||||
// Wait for the message to reach its destination
|
||||
err = tt.RetryWithBackOff(func() error {
|
||||
response, err = theirMessenger.RetrieveAll()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if response.VerificationRequests != nil {
|
||||
return nil
|
||||
}
|
||||
return errors.New("Not received all verification requests")
|
||||
})
|
||||
|
||||
s.Require().NoError(err)
|
||||
|
||||
time.Sleep(4 * time.Second)
|
||||
|
||||
requests, err := theirMessenger.verificationDatabase.GetVerificationRequests()
|
||||
s.Require().NoError(err)
|
||||
s.Require().Len(requests, 1)
|
||||
|
||||
s.Require().NoError(theirMessenger.Shutdown())
|
||||
}
|
||||
|
||||
func (s *MessengerSyncVerificationRequests) TestSyncTrust() {
|
||||
err := s.m.verificationDatabase.SetTrustStatus("0x01", verification.TrustStatusTRUSTED, 123)
|
||||
s.Require().NoError(err)
|
||||
|
||||
// pair
|
||||
theirMessenger, err := newMessengerWithKey(s.shh, s.privateKey, s.logger, nil)
|
||||
s.Require().NoError(err)
|
||||
|
||||
err = theirMessenger.SetInstallationMetadata(theirMessenger.installationID, &multidevice.InstallationMetadata{
|
||||
Name: "their-name",
|
||||
DeviceType: "their-device-type",
|
||||
})
|
||||
s.Require().NoError(err)
|
||||
response, err := theirMessenger.SendPairInstallation(context.Background())
|
||||
s.Require().NoError(err)
|
||||
s.Require().NotNil(response)
|
||||
s.Require().Len(response.Chats(), 1)
|
||||
s.Require().False(response.Chats()[0].Active)
|
||||
|
||||
// Wait for the message to reach its destination
|
||||
response, err = WaitOnMessengerResponse(
|
||||
s.m,
|
||||
func(r *MessengerResponse) bool { return len(r.Installations) > 0 },
|
||||
"installation not received",
|
||||
)
|
||||
|
||||
s.Require().NoError(err)
|
||||
actualInstallation := response.Installations[0]
|
||||
s.Require().Equal(theirMessenger.installationID, actualInstallation.ID)
|
||||
s.Require().NotNil(actualInstallation.InstallationMetadata)
|
||||
s.Require().Equal("their-name", actualInstallation.InstallationMetadata.Name)
|
||||
s.Require().Equal("their-device-type", actualInstallation.InstallationMetadata.DeviceType)
|
||||
|
||||
err = s.m.EnableInstallation(theirMessenger.installationID)
|
||||
s.Require().NoError(err)
|
||||
|
||||
// sync
|
||||
err = s.m.SyncTrustedUser(context.Background(), "0x01", verification.TrustStatusTRUSTED)
|
||||
s.Require().NoError(err)
|
||||
|
||||
// Wait for the message to reach its destination
|
||||
err = tt.RetryWithBackOff(func() error {
|
||||
response, err = theirMessenger.RetrieveAll()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if response.TrustStatus() != nil {
|
||||
return nil
|
||||
}
|
||||
|
||||
return errors.New("Not received all user trust levels")
|
||||
})
|
||||
|
||||
s.Require().NoError(err)
|
||||
|
||||
trustLevel, err := theirMessenger.verificationDatabase.GetTrustStatus("0x01")
|
||||
s.Require().NoError(err)
|
||||
s.Require().Equal(verification.TrustStatusTRUSTED, trustLevel)
|
||||
|
||||
s.Require().NoError(theirMessenger.Shutdown())
|
||||
}
|
||||
|
||||
func (s *MessengerSyncVerificationRequests) TearDownTest() {
|
||||
s.Require().NoError(s.m.Shutdown())
|
||||
}
|
||||
|
||||
func (s *MessengerSyncVerificationRequests) newMessenger(shh types.Waku) *Messenger {
|
||||
privateKey, err := crypto.GenerateKey()
|
||||
s.Require().NoError(err)
|
||||
messenger, err := newMessengerWithKey(s.shh, privateKey, s.logger, nil)
|
||||
s.Require().NoError(err)
|
||||
return messenger
|
||||
}
|
|
@ -52,6 +52,7 @@
|
|||
// 1645034601_display_name.up.sql (110B)
|
||||
// 1645034602_add_mutual_contact_request.up.sql (454B)
|
||||
// 1650373957_add_contact_request_state.up.sql (59B)
|
||||
// 1656958989_contact_verification.up.sql (624B)
|
||||
// README.md (554B)
|
||||
// doc.go (850B)
|
||||
|
||||
|
@ -137,7 +138,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(1586880790, 0)}
|
||||
info := bindataFileInfo{name: "000001_init.down.db.sql", size: 65, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -157,7 +158,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(1586880790, 0)}
|
||||
info := bindataFileInfo{name: "000001_init.up.db.sql", size: 2719, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -177,7 +178,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(1586880790, 0)}
|
||||
info := bindataFileInfo{name: "000002_add_last_ens_clock_value.up.sql", size: 77, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -197,7 +198,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(1588169971, 0)}
|
||||
info := bindataFileInfo{name: "1586358095_add_replace.up.sql", size: 224, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -217,7 +218,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(1594716841, 0)}
|
||||
info := bindataFileInfo{name: "1588665364_add_image_data.up.sql", size: 186, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -237,7 +238,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(1594716841, 0)}
|
||||
info := bindataFileInfo{name: "1589365189_add_pow_target.up.sql", size: 66, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -257,7 +258,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(1594716841, 0)}
|
||||
info := bindataFileInfo{name: "1591277220_add_index_messages.up.sql", size: 240, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -277,7 +278,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(1597848235, 0)}
|
||||
info := bindataFileInfo{name: "1593087212_add_mute_chat_and_raw_message_fields.up.sql", size: 215, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -297,7 +298,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(1597848235, 0)}
|
||||
info := bindataFileInfo{name: "1595862781_add_audio_data.up.sql", size: 246, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -317,7 +318,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(1597848235, 0)}
|
||||
info := bindataFileInfo{name: "1595865249_create_emoji_reactions_table.up.sql", size: 300, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -337,7 +338,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(1604313406, 0)}
|
||||
info := bindataFileInfo{name: "1596805115_create_group_chat_invitations_table.up.sql", size: 231, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -357,7 +358,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(1604313406, 0)}
|
||||
info := bindataFileInfo{name: "1597322655_add_invitation_admin_chat_field.up.sql", size: 54, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -377,7 +378,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(1604313406, 0)}
|
||||
info := bindataFileInfo{name: "1597757544_add_nickname.up.sql", size: 52, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -397,7 +398,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(1604313406, 0)}
|
||||
info := bindataFileInfo{name: "1598955122_add_mentions.up.sql", size: 52, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -417,7 +418,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(1604313406, 0)}
|
||||
info := bindataFileInfo{name: "1599641390_add_emoji_reactions_index.up.sql", size: 126, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -437,7 +438,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(1604313406, 0)}
|
||||
info := bindataFileInfo{name: "1599720851_add_seen_index_remove_long_messages.up.sql", size: 150, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -457,7 +458,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(1604313406, 0)}
|
||||
info := bindataFileInfo{name: "1603198582_add_profile_chat_field.up.sql", size: 45, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -477,7 +478,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(1604313406, 0)}
|
||||
info := bindataFileInfo{name: "1603816533_add_links.up.sql", size: 48, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -497,7 +498,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(1610470168, 0)}
|
||||
info := bindataFileInfo{name: "1603888149_create_chat_identity_last_published_table.up.sql", size: 407, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -517,7 +518,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(1610470168, 0)}
|
||||
info := bindataFileInfo{name: "1605075346_add_communities.up.sql", size: 6971, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -537,7 +538,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(1616757075, 0)}
|
||||
info := bindataFileInfo{name: "1610117927_add_message_cache.up.sql", size: 142, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -557,7 +558,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(1616757075, 0)}
|
||||
info := bindataFileInfo{name: "1610959908_add_dont_wrap_to_raw_messages.up.sql", size: 83, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -577,7 +578,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(1616757075, 0)}
|
||||
info := bindataFileInfo{name: "1610960912_add_send_on_personal_topic.up.sql", size: 82, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -597,7 +598,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(1616757075, 0)}
|
||||
info := bindataFileInfo{name: "1612870480_add_datasync_id.up.sql", size: 111, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -617,7 +618,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(1616757075, 0)}
|
||||
info := bindataFileInfo{name: "1614152139_add_communities_request_to_join.up.sql", size: 831, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -637,7 +638,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(1616757075, 0)}
|
||||
info := bindataFileInfo{name: "1615374373_add_confirmations.up.sql", size: 227, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -657,7 +658,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(1622467450, 0)}
|
||||
info := bindataFileInfo{name: "1617694931_add_notification_center.up.sql", size: 572, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -677,7 +678,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(1622467450, 0)}
|
||||
info := bindataFileInfo{name: "1618923660_create_pin_messages.up.sql", size: 265, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -697,7 +698,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(1622467450, 0)}
|
||||
info := bindataFileInfo{name: "1619094007_add_joined_chat_field.up.sql", size: 101, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -717,7 +718,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(1622467450, 0)}
|
||||
info := bindataFileInfo{name: "1619099821_add_last_synced_field.up.sql", size: 226, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -737,7 +738,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(1622467450, 0)}
|
||||
info := bindataFileInfo{name: "1621933219_add_mentioned.up.sql", size: 70, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -757,7 +758,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(1625049984, 0)}
|
||||
info := bindataFileInfo{name: "1622010048_add_unviewed_mentions_count.up.sql", size: 114, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -777,7 +778,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(1625049984, 0)}
|
||||
info := bindataFileInfo{name: "1622061278_add_message_activity_center_notification_field.up.sql", size: 80, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -797,7 +798,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(1625049989, 0)}
|
||||
info := bindataFileInfo{name: "1622464518_set_synced_to_from.up.sql", size: 105, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -817,7 +818,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(1625049989, 0)}
|
||||
info := bindataFileInfo{name: "1622464519_add_chat_description.up.sql", size: 93, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -837,7 +838,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(1625049989, 0)}
|
||||
info := bindataFileInfo{name: "1622622253_add_pinned_by_to_pin_messages.up.sql", size: 52, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -857,7 +858,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(1625049989, 0)}
|
||||
info := bindataFileInfo{name: "1623938329_add_author_activity_center_notification_field.up.sql", size: 66, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -877,7 +878,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(1625049989, 0)}
|
||||
info := bindataFileInfo{name: "1623938330_add_edit_messages.up.sql", size: 369, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -897,7 +898,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(1626786555, 0)}
|
||||
info := bindataFileInfo{name: "1624978434_add_muted_community.up.sql", size: 82, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -917,7 +918,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(1626786555, 0)}
|
||||
info := bindataFileInfo{name: "1625018910_add_repply_message_activity_center_notification_field.up.sql", size: 86, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -937,7 +938,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(1627897055, 0)}
|
||||
info := bindataFileInfo{name: "1625762506_add_deleted_messages.up.sql", size: 357, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -957,7 +958,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(1631628269, 0)}
|
||||
info := bindataFileInfo{name: "1627388946_add_communities_synced_at.up.sql", size: 87, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -977,7 +978,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(1631628269, 0)}
|
||||
info := bindataFileInfo{name: "1628280060_create-usermessages-index.sql", size: 80, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -997,7 +998,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(1637329330, 0)}
|
||||
info := bindataFileInfo{name: "1632303896_modify_contacts_table.up.sql", size: 1574, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -1017,7 +1018,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(1637329330, 0)}
|
||||
info := bindataFileInfo{name: "1633349838_add_emoji_column_in_chats.up.sql", size: 52, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -1037,7 +1038,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(1637329330, 0)}
|
||||
info := bindataFileInfo{name: "1634831235_add_highlight_column_in_chats.up.sql", size: 62, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -1057,7 +1058,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(1637329330, 0)}
|
||||
info := bindataFileInfo{name: "1634896007_add_last_updated_locally_and_removed.up.sql", size: 131, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -1077,7 +1078,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(1637329330, 0)}
|
||||
info := bindataFileInfo{name: "1635840039_add_clock_read_at_column_in_chats.up.sql", size: 245, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -1097,7 +1098,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(1638351408, 0)}
|
||||
info := bindataFileInfo{name: "1637852321_add_received_invitation_admin_column_in_chats.up.sql", size: 72, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -1117,7 +1118,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(1647884149, 0)}
|
||||
info := bindataFileInfo{name: "1645034601_display_name.up.sql", size: 110, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -1137,7 +1138,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(1655204917, 0)}
|
||||
info := bindataFileInfo{name: "1645034602_add_mutual_contact_request.up.sql", size: 454, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -1157,11 +1158,31 @@ 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(1655204917, 0)}
|
||||
info := bindataFileInfo{name: "1650373957_add_contact_request_state.up.sql", size: 59, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x5e, 0xc1, 0x3f, 0x29, 0xe, 0x19, 0x86, 0x1a, 0x4c, 0x6c, 0x2a, 0x90, 0x9d, 0xdf, 0xb1, 0xb, 0x72, 0x25, 0xcd, 0x6c, 0x5f, 0xd, 0x51, 0x9e, 0x85, 0xc0, 0x9, 0xb7, 0xbc, 0x87, 0x23, 0xec}}
|
||||
return a, nil
|
||||
}
|
||||
|
||||
var __1656958989_contact_verificationUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x84\x91\xc1\x6e\xea\x30\x10\x45\xf7\xfe\x8a\xbb\x04\x89\x05\xfb\xe8\x2d\xfc\x12\xa3\x5a\x35\x0e\x75\xc6\x02\x56\x28\x0a\xa6\x8d\x44\x13\x88\x9d\x7e\x7f\x65\x52\x28\x48\x40\x97\x96\xef\x9d\x39\x47\xc3\x15\x09\x03\xe2\xff\x95\x40\xd5\x36\xa1\xac\x82\x07\xcf\x32\xa4\xb9\xb2\x73\x8d\x2f\xd7\xd5\xbb\xba\x2a\x43\xdd\x36\x1b\x1f\xca\xd0\x7b\x48\x4d\xc8\xc4\x8c\x5b\x45\x98\x26\x8c\xd9\x45\xc6\xe9\xaa\x5e\x08\xba\xdb\xfb\x87\x69\x02\x30\x96\x1a\x11\xf3\xc3\x52\x39\x83\xce\x09\x62\x25\x0b\x2a\x10\xba\xde\x07\xb7\xdd\xf4\xde\x75\x1e\x23\x06\xd4\x5b\x90\x58\x11\x16\x46\xce\xb9\x59\xe3\x55\xac\x91\x6b\xa4\xb9\x9e\x29\x99\x12\x8c\x58\x28\x9e\x8a\x09\xc3\x50\xbe\x86\x8c\x83\xb5\x55\xea\x97\x36\xc6\xfa\xc3\xb6\x8c\x3b\xca\xf0\x20\xc4\xc6\x58\x4a\x7a\xc9\x2d\xc1\xe4\x4b\x99\x25\x4f\x91\x6f\x4c\x3b\x77\xec\x9d\x0f\x03\xfa\xae\x6b\x3f\x4f\x26\x27\x83\x13\x61\x7b\xfb\xae\x3e\xca\xfd\xde\x35\xef\x6e\x70\x3c\xa3\xc4\xaf\x9f\x49\xcf\x38\x87\x98\x3f\xb4\x8d\x77\x97\x91\x9d\x3b\xec\xeb\xbf\x5a\x8f\xae\x7a\x3f\x9d\xe6\xba\x20\xc3\x63\x20\x2a\x45\x89\xa6\x3e\xf6\x0e\x56\xcb\x37\x2b\x30\xba\x88\x4e\xce\x86\xe3\x7b\x37\x62\xe3\x84\x7d\x07\x00\x00\xff\xff\x72\xf9\xde\x4a\x70\x02\x00\x00")
|
||||
|
||||
func _1656958989_contact_verificationUpSqlBytes() ([]byte, error) {
|
||||
return bindataRead(
|
||||
__1656958989_contact_verificationUpSql,
|
||||
"1656958989_contact_verification.up.sql",
|
||||
)
|
||||
}
|
||||
|
||||
func _1656958989_contact_verificationUpSql() (*asset, error) {
|
||||
bytes, err := _1656958989_contact_verificationUpSqlBytes()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1656958989_contact_verification.up.sql", size: 624, mode: os.FileMode(0664), modTime: time.Unix(1656959010, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3a, 0x3f, 0x28, 0x38, 0x33, 0xdb, 0xe9, 0x4d, 0xc0, 0x54, 0x8c, 0x2a, 0x73, 0xc4, 0xdd, 0x5c, 0xc5, 0x1a, 0x93, 0x4b, 0x6, 0x13, 0xbe, 0x42, 0xd2, 0x7f, 0xd4, 0xc, 0xc5, 0x4e, 0x6d, 0xce}}
|
||||
return a, nil
|
||||
}
|
||||
|
||||
var _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) {
|
||||
|
@ -1177,7 +1198,7 @@ func readmeMd() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "README.md", size: 554, mode: os.FileMode(0644), modTime: time.Unix(1610470168, 0)}
|
||||
info := bindataFileInfo{name: "README.md", size: 554, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -1197,7 +1218,7 @@ func docGo() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "doc.go", size: 850, mode: os.FileMode(0644), modTime: time.Unix(1588169971, 0)}
|
||||
info := bindataFileInfo{name: "doc.go", size: 850, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
@ -1397,6 +1418,8 @@ var _bindata = map[string]func() (*asset, error){
|
|||
|
||||
"1650373957_add_contact_request_state.up.sql": _1650373957_add_contact_request_stateUpSql,
|
||||
|
||||
"1656958989_contact_verification.up.sql": _1656958989_contact_verificationUpSql,
|
||||
|
||||
"README.md": readmeMd,
|
||||
|
||||
"doc.go": docGo,
|
||||
|
@ -1495,6 +1518,7 @@ var _bintree = &bintree{nil, map[string]*bintree{
|
|||
"1645034601_display_name.up.sql": &bintree{_1645034601_display_nameUpSql, map[string]*bintree{}},
|
||||
"1645034602_add_mutual_contact_request.up.sql": &bintree{_1645034602_add_mutual_contact_requestUpSql, map[string]*bintree{}},
|
||||
"1650373957_add_contact_request_state.up.sql": &bintree{_1650373957_add_contact_request_stateUpSql, map[string]*bintree{}},
|
||||
"1656958989_contact_verification.up.sql": &bintree{_1656958989_contact_verificationUpSql, map[string]*bintree{}},
|
||||
"README.md": &bintree{readmeMd, map[string]*bintree{}},
|
||||
"doc.go": &bintree{docGo, map[string]*bintree{}},
|
||||
}}
|
||||
|
|
|
@ -0,0 +1,20 @@
|
|||
ALTER TABLE contacts ADD COLUMN verification_status INT DEFAULT 0;
|
||||
|
||||
UPDATE contacts SET verification_status = 0;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS trusted_users (
|
||||
id TEXT PRIMARY KEY ON CONFLICT REPLACE,
|
||||
trust_status INT NOT NULL DEFAULT 0,
|
||||
updated_at INT NOT NULL DEFAULT 0
|
||||
) WITHOUT ROWID;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS verification_requests (
|
||||
from_user TEXT,
|
||||
to_user TEXT,
|
||||
challenge TEXT NOT NULL,
|
||||
requested_at INT NOT NULL DEFAULT 0,
|
||||
response TEXT,
|
||||
replied_at INT NOT NULL DEFAULT 0,
|
||||
verification_status INT NOT NULL DEFAULT 0,
|
||||
CONSTRAINT fromto_unique UNIQUE (from_user, to_user) ON CONFLICT REPLACE
|
||||
);
|
|
@ -499,10 +499,13 @@ func (db sqlitePersistence) Contacts() ([]*Contact, error) {
|
|||
c.contact_request_state,
|
||||
c.contact_request_clock,
|
||||
i.image_type,
|
||||
i.payload
|
||||
i.payload,
|
||||
COALESCE(c.verification_status, 0) as verification_status,
|
||||
COALESCE(t.trust_status, 0) as trust_status
|
||||
FROM contacts c
|
||||
LEFT JOIN chat_identity_contacts i ON c.id = i.contact_id
|
||||
LEFT JOIN ens_verification_records v ON c.id = v.public_key;
|
||||
LEFT JOIN ens_verification_records v ON c.id = v.public_key
|
||||
LEFT JOIN trusted_users t ON c.id = t.id;
|
||||
`)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
@ -549,6 +552,8 @@ func (db sqlitePersistence) Contacts() ([]*Contact, error) {
|
|||
&contactRequestClock,
|
||||
&imageType,
|
||||
&imagePayload,
|
||||
&contact.VerificationStatus,
|
||||
&contact.TrustStatus,
|
||||
)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
@ -746,11 +751,12 @@ func (db sqlitePersistence) SaveContact(contact *Contact, tx *sql.Tx) (err error
|
|||
added,
|
||||
blocked,
|
||||
removed,
|
||||
verification_status,
|
||||
has_added_us,
|
||||
name,
|
||||
photo,
|
||||
tribute_to_talk
|
||||
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
||||
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
||||
`)
|
||||
if err != nil {
|
||||
return
|
||||
|
@ -771,6 +777,7 @@ func (db sqlitePersistence) SaveContact(contact *Contact, tx *sql.Tx) (err error
|
|||
contact.Added,
|
||||
contact.Blocked,
|
||||
contact.Removed,
|
||||
contact.VerificationStatus,
|
||||
contact.HasAddedUs,
|
||||
//TODO we need to drop these columns
|
||||
"",
|
||||
|
|
|
@ -6,7 +6,7 @@ package protobuf
|
|||
import (
|
||||
fmt "fmt"
|
||||
proto "github.com/golang/protobuf/proto"
|
||||
timestamppb "google.golang.org/protobuf/types/known/timestamppb"
|
||||
timestamp "github.com/golang/protobuf/ptypes/timestamp"
|
||||
math "math"
|
||||
)
|
||||
|
||||
|
@ -36,7 +36,7 @@ type AnonymousMetric struct {
|
|||
// session_id is the id of the session the metric was recorded in
|
||||
SessionId string `protobuf:"bytes,6,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"`
|
||||
// created_at is the datetime at which the metric was stored in the local db
|
||||
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
|
||||
CreatedAt *timestamp.Timestamp `protobuf:"bytes,7,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
|
@ -109,7 +109,7 @@ func (m *AnonymousMetric) GetSessionId() string {
|
|||
return ""
|
||||
}
|
||||
|
||||
func (m *AnonymousMetric) GetCreatedAt() *timestamppb.Timestamp {
|
||||
func (m *AnonymousMetric) GetCreatedAt() *timestamp.Timestamp {
|
||||
if m != nil {
|
||||
return m.CreatedAt
|
||||
}
|
||||
|
|
|
@ -72,6 +72,12 @@ const (
|
|||
ApplicationMetadataMessage_ACCEPT_CONTACT_REQUEST ApplicationMetadataMessage_Type = 46
|
||||
ApplicationMetadataMessage_RETRACT_CONTACT_REQUEST ApplicationMetadataMessage_Type = 47
|
||||
ApplicationMetadataMessage_SYNC_COMMUNITY_SETTINGS ApplicationMetadataMessage_Type = 49
|
||||
ApplicationMetadataMessage_REQUEST_CONTACT_VERIFICATION ApplicationMetadataMessage_Type = 50
|
||||
ApplicationMetadataMessage_ACCEPT_CONTACT_VERIFICATION ApplicationMetadataMessage_Type = 51
|
||||
ApplicationMetadataMessage_DECLINE_CONTACT_VERIFICATION ApplicationMetadataMessage_Type = 52
|
||||
ApplicationMetadataMessage_SYNC_TRUSTED_USER ApplicationMetadataMessage_Type = 53
|
||||
ApplicationMetadataMessage_SYNC_VERIFICATION_REQUEST ApplicationMetadataMessage_Type = 54
|
||||
ApplicationMetadataMessage_CONTACT_VERIFICATION_TRUSTED ApplicationMetadataMessage_Type = 55
|
||||
)
|
||||
|
||||
var ApplicationMetadataMessage_Type_name = map[int32]string{
|
||||
|
@ -124,6 +130,12 @@ var ApplicationMetadataMessage_Type_name = map[int32]string{
|
|||
46: "ACCEPT_CONTACT_REQUEST",
|
||||
47: "RETRACT_CONTACT_REQUEST",
|
||||
49: "SYNC_COMMUNITY_SETTINGS",
|
||||
50: "REQUEST_CONTACT_VERIFICATION",
|
||||
51: "ACCEPT_CONTACT_VERIFICATION",
|
||||
52: "DECLINE_CONTACT_VERIFICATION",
|
||||
53: "SYNC_TRUSTED_USER",
|
||||
54: "SYNC_VERIFICATION_REQUEST",
|
||||
55: "CONTACT_VERIFICATION_TRUSTED",
|
||||
}
|
||||
|
||||
var ApplicationMetadataMessage_Type_value = map[string]int32{
|
||||
|
@ -176,6 +188,12 @@ var ApplicationMetadataMessage_Type_value = map[string]int32{
|
|||
"ACCEPT_CONTACT_REQUEST": 46,
|
||||
"RETRACT_CONTACT_REQUEST": 47,
|
||||
"SYNC_COMMUNITY_SETTINGS": 49,
|
||||
"REQUEST_CONTACT_VERIFICATION": 50,
|
||||
"ACCEPT_CONTACT_VERIFICATION": 51,
|
||||
"DECLINE_CONTACT_VERIFICATION": 52,
|
||||
"SYNC_TRUSTED_USER": 53,
|
||||
"SYNC_VERIFICATION_REQUEST": 54,
|
||||
"CONTACT_VERIFICATION_TRUSTED": 55,
|
||||
}
|
||||
|
||||
func (x ApplicationMetadataMessage_Type) String() string {
|
||||
|
@ -254,55 +272,58 @@ func init() {
|
|||
}
|
||||
|
||||
var fileDescriptor_ad09a6406fcf24c7 = []byte{
|
||||
// 790 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x54, 0x5d, 0x73, 0x13, 0x37,
|
||||
0x14, 0x6d, 0x20, 0x4d, 0xe0, 0x3a, 0x09, 0x8a, 0xc8, 0x87, 0xf3, 0x6d, 0x0c, 0x85, 0x00, 0xad,
|
||||
0x99, 0xb6, 0x8f, 0x9d, 0x3e, 0xc8, 0xd2, 0x8d, 0x2d, 0xbc, 0x2b, 0x2d, 0x92, 0xd6, 0x8c, 0xfb,
|
||||
0xa2, 0x59, 0x8a, 0xcb, 0x64, 0x06, 0x88, 0x87, 0x98, 0x87, 0xfc, 0xce, 0xfe, 0x8a, 0xfe, 0x8b,
|
||||
0x8e, 0x76, 0xbd, 0xbb, 0x0e, 0x31, 0xf0, 0x64, 0xef, 0x3d, 0x47, 0xba, 0xf7, 0x9e, 0x7b, 0x8f,
|
||||
0xa0, 0x9d, 0x4d, 0x26, 0xef, 0xcf, 0xff, 0xce, 0xa6, 0xe7, 0x17, 0x1f, 0xfd, 0x87, 0xf1, 0x34,
|
||||
0x7b, 0x9b, 0x4d, 0x33, 0xff, 0x61, 0x7c, 0x79, 0x99, 0xbd, 0x1b, 0x77, 0x26, 0x9f, 0x2e, 0xa6,
|
||||
0x17, 0xf4, 0x4e, 0xfe, 0xf3, 0xe6, 0xf3, 0x3f, 0xed, 0xff, 0x1a, 0xb0, 0xcf, 0xea, 0x03, 0xf1,
|
||||
0x8c, 0x1f, 0x17, 0x74, 0x7a, 0x08, 0x77, 0x2f, 0xcf, 0xdf, 0x7d, 0xcc, 0xa6, 0x9f, 0x3f, 0x8d,
|
||||
0x9b, 0x4b, 0xad, 0xa5, 0xd3, 0x35, 0x53, 0x07, 0x68, 0x13, 0x56, 0x27, 0xd9, 0xd5, 0xfb, 0x8b,
|
||||
0xec, 0x6d, 0xf3, 0x56, 0x8e, 0x95, 0x9f, 0xf4, 0x4f, 0x58, 0x9e, 0x5e, 0x4d, 0xc6, 0xcd, 0xdb,
|
||||
0xad, 0xa5, 0xd3, 0x8d, 0xdf, 0x9e, 0x76, 0xca, 0x7c, 0x9d, 0xaf, 0xe7, 0xea, 0xb8, 0xab, 0xc9,
|
||||
0xd8, 0xe4, 0xc7, 0xda, 0xff, 0x02, 0x2c, 0x87, 0x4f, 0xda, 0x80, 0xd5, 0x54, 0x0d, 0x94, 0x7e,
|
||||
0xad, 0xc8, 0x0f, 0x94, 0xc0, 0x1a, 0xef, 0x33, 0xe7, 0x63, 0xb4, 0x96, 0xf5, 0x90, 0x2c, 0x51,
|
||||
0x0a, 0x1b, 0x5c, 0x2b, 0xc7, 0xb8, 0xf3, 0x69, 0x22, 0x98, 0x43, 0x72, 0x8b, 0x1e, 0xc1, 0x5e,
|
||||
0x8c, 0x71, 0x17, 0x8d, 0xed, 0xcb, 0x64, 0x16, 0xae, 0x8e, 0xdc, 0xa6, 0xdb, 0xb0, 0x99, 0x30,
|
||||
0x69, 0xbc, 0x54, 0xd6, 0xb1, 0x28, 0x62, 0x4e, 0x6a, 0x45, 0x96, 0x43, 0xd8, 0x8e, 0x14, 0xbf,
|
||||
0x1e, 0xfe, 0x91, 0x3e, 0x84, 0x13, 0x83, 0xaf, 0x52, 0xb4, 0xce, 0x33, 0x21, 0x0c, 0x5a, 0xeb,
|
||||
0xcf, 0xb4, 0xf1, 0xce, 0x30, 0x65, 0x19, 0xcf, 0x49, 0x2b, 0xf4, 0x19, 0x3c, 0x66, 0x9c, 0x63,
|
||||
0xe2, 0xfc, 0xf7, 0xb8, 0xab, 0xf4, 0x39, 0x3c, 0x11, 0xc8, 0x23, 0xa9, 0xf0, 0xbb, 0xe4, 0x3b,
|
||||
0x74, 0x17, 0xee, 0x97, 0xa4, 0x79, 0xe0, 0x2e, 0xdd, 0x02, 0x62, 0x51, 0x89, 0x6b, 0x51, 0xa0,
|
||||
0x27, 0x70, 0xf0, 0xe5, 0xdd, 0xf3, 0x84, 0x46, 0x90, 0xe6, 0x46, 0x93, 0x7e, 0x26, 0x20, 0x59,
|
||||
0x5b, 0x0c, 0x33, 0xce, 0x75, 0xaa, 0x1c, 0x59, 0xa7, 0x0f, 0xe0, 0xe8, 0x26, 0x9c, 0xa4, 0xdd,
|
||||
0x48, 0x72, 0x1f, 0xe6, 0x42, 0x36, 0xe8, 0x31, 0xec, 0x97, 0xf3, 0xe0, 0x5a, 0xa0, 0x67, 0x62,
|
||||
0x88, 0xc6, 0x49, 0x8b, 0x31, 0x2a, 0x47, 0xee, 0xd1, 0x36, 0x1c, 0x27, 0xa9, 0xed, 0x7b, 0xa5,
|
||||
0x9d, 0x3c, 0x93, 0xbc, 0xb8, 0xc2, 0x60, 0x4f, 0x5a, 0x67, 0x0a, 0xc9, 0x49, 0x50, 0xe8, 0xdb,
|
||||
0x1c, 0x6f, 0xd0, 0x26, 0x5a, 0x59, 0x24, 0x9b, 0xf4, 0x00, 0x76, 0x6f, 0x92, 0x5f, 0xa5, 0x68,
|
||||
0x46, 0x84, 0xd2, 0x47, 0xd0, 0xfa, 0x0a, 0x58, 0x5f, 0x71, 0x3f, 0x74, 0xbd, 0x28, 0x5f, 0xae,
|
||||
0x1f, 0xd9, 0x0a, 0x2d, 0x2d, 0x82, 0x67, 0xc7, 0xb7, 0xc3, 0x0a, 0x62, 0xac, 0x5f, 0x4a, 0x6f,
|
||||
0x70, 0xa6, 0xf3, 0x0e, 0xdd, 0x83, 0xed, 0x9e, 0xd1, 0x69, 0x92, 0xcb, 0xe2, 0xa5, 0x1a, 0x4a,
|
||||
0x57, 0x74, 0xb7, 0x4b, 0x37, 0x61, 0xbd, 0x08, 0x0a, 0x54, 0x4e, 0xba, 0x11, 0x69, 0x06, 0x36,
|
||||
0xd7, 0x71, 0x9c, 0x2a, 0xe9, 0x46, 0x5e, 0xa0, 0xe5, 0x46, 0x26, 0x39, 0x7b, 0x8f, 0x36, 0x61,
|
||||
0xab, 0x86, 0xe6, 0xee, 0xd9, 0x0f, 0x55, 0xd7, 0x48, 0x35, 0x6d, 0xed, 0x5f, 0x6a, 0xa9, 0xc8,
|
||||
0x01, 0xbd, 0x07, 0x8d, 0x44, 0xaa, 0x6a, 0xed, 0x0f, 0x83, 0x77, 0x50, 0xc8, 0xda, 0x3b, 0x47,
|
||||
0xa1, 0x12, 0xeb, 0x98, 0x4b, 0x6d, 0x69, 0x9d, 0xe3, 0xd0, 0x8b, 0xc0, 0x08, 0xe7, 0xfc, 0x72,
|
||||
0x12, 0x96, 0x6a, 0xd1, 0xce, 0xcc, 0x52, 0x93, 0x16, 0xdd, 0x87, 0x1d, 0xa6, 0xb4, 0x1a, 0xc5,
|
||||
0x3a, 0xb5, 0x3e, 0x46, 0x67, 0x24, 0xf7, 0x5d, 0xe6, 0x78, 0x9f, 0x3c, 0xa8, 0x5c, 0x95, 0xb7,
|
||||
0x6c, 0x30, 0xd6, 0x43, 0x14, 0xa4, 0x1d, 0xa6, 0x56, 0x87, 0x67, 0xa9, 0x6c, 0x10, 0x50, 0x90,
|
||||
0x87, 0x14, 0x60, 0xa5, 0xcb, 0xf8, 0x20, 0x4d, 0xc8, 0xa3, 0x6a, 0x23, 0x83, 0xb2, 0xc3, 0xd0,
|
||||
0x29, 0x47, 0xe5, 0xd0, 0x14, 0xd4, 0x9f, 0xaa, 0x8d, 0xfc, 0x12, 0x2e, 0xdc, 0x88, 0x82, 0x3c,
|
||||
0x0e, 0x1b, 0xb7, 0x90, 0x22, 0xa4, 0x8d, 0xa5, 0xb5, 0x28, 0xc8, 0x93, 0x5c, 0x89, 0xc0, 0xe9,
|
||||
0x6a, 0x3d, 0x88, 0x99, 0x19, 0x90, 0x53, 0xba, 0x03, 0xb4, 0xa8, 0x30, 0x42, 0x66, 0x7c, 0x5f,
|
||||
0x5a, 0xa7, 0xcd, 0x88, 0x3c, 0x0d, 0x32, 0xe6, 0x71, 0x8b, 0xce, 0x49, 0xd5, 0x23, 0xcf, 0x68,
|
||||
0x0b, 0x0e, 0xeb, 0x41, 0x30, 0xc3, 0xfb, 0x72, 0x88, 0x3e, 0x66, 0x3d, 0x85, 0x2e, 0x92, 0x6a,
|
||||
0x40, 0x9e, 0x87, 0x21, 0xe6, 0x67, 0x12, 0xa3, 0xcf, 0x64, 0x84, 0x3e, 0x91, 0xdc, 0xa5, 0x06,
|
||||
0xc9, 0xcf, 0xc1, 0xdf, 0x39, 0xf2, 0x9a, 0x45, 0x11, 0xba, 0xca, 0x6a, 0xbf, 0xe4, 0x9a, 0x16,
|
||||
0x2f, 0x4a, 0x69, 0xa7, 0x72, 0x21, 0x3b, 0x41, 0x3c, 0x83, 0xce, 0x14, 0x1e, 0xbb, 0x0e, 0xbe,
|
||||
0xa8, 0x95, 0xad, 0x4a, 0x9a, 0x55, 0x6a, 0xc9, 0xaf, 0xdd, 0xf5, 0xbf, 0x1a, 0x9d, 0x17, 0x7f,
|
||||
0x94, 0x4f, 0xf1, 0x9b, 0x95, 0xfc, 0xdf, 0xef, 0xff, 0x07, 0x00, 0x00, 0xff, 0xff, 0xcf, 0x35,
|
||||
0x6f, 0x4f, 0x31, 0x06, 0x00, 0x00,
|
||||
// 846 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x55, 0x5b, 0x73, 0xd3, 0x46,
|
||||
0x14, 0x6e, 0x20, 0x4d, 0x60, 0x73, 0x61, 0xb3, 0xe4, 0xe2, 0xdc, 0x83, 0xa1, 0x10, 0xa0, 0x35,
|
||||
0x53, 0xe8, 0xe5, 0xa1, 0xd3, 0x87, 0xf5, 0xee, 0x89, 0xbd, 0x58, 0xda, 0x15, 0xbb, 0x47, 0x66,
|
||||
0xdc, 0x97, 0x1d, 0x51, 0x5c, 0x26, 0x33, 0x40, 0x3c, 0xc4, 0x3c, 0xe4, 0x5f, 0xf4, 0x57, 0xf4,
|
||||
0x77, 0x76, 0x56, 0xb2, 0x24, 0x27, 0x31, 0xf0, 0x64, 0xeb, 0x7c, 0xdf, 0xb9, 0x7d, 0xe7, 0x1c,
|
||||
0x89, 0x34, 0xb3, 0xd1, 0xe8, 0xfd, 0xe9, 0xdf, 0xd9, 0xf8, 0xf4, 0xec, 0xa3, 0xff, 0x30, 0x1c,
|
||||
0x67, 0x6f, 0xb3, 0x71, 0xe6, 0x3f, 0x0c, 0xcf, 0xcf, 0xb3, 0x77, 0xc3, 0xd6, 0xe8, 0xd3, 0xd9,
|
||||
0xf8, 0x8c, 0xdd, 0xca, 0x7f, 0xde, 0x7c, 0xfe, 0xa7, 0xf9, 0xdf, 0x0a, 0xd9, 0xe1, 0xb5, 0x43,
|
||||
0x3c, 0xe1, 0xc7, 0x05, 0x9d, 0xed, 0x91, 0xdb, 0xe7, 0xa7, 0xef, 0x3e, 0x66, 0xe3, 0xcf, 0x9f,
|
||||
0x86, 0x8d, 0xb9, 0xa3, 0xb9, 0xe3, 0x65, 0x5b, 0x1b, 0x58, 0x83, 0x2c, 0x8e, 0xb2, 0x8b, 0xf7,
|
||||
0x67, 0xd9, 0xdb, 0xc6, 0x8d, 0x1c, 0x2b, 0x1f, 0xd9, 0x9f, 0x64, 0x7e, 0x7c, 0x31, 0x1a, 0x36,
|
||||
0x6e, 0x1e, 0xcd, 0x1d, 0xaf, 0x3e, 0x7f, 0xdc, 0x2a, 0xf3, 0xb5, 0xbe, 0x9c, 0xab, 0x85, 0x17,
|
||||
0xa3, 0xa1, 0xcd, 0xdd, 0x9a, 0xff, 0x2e, 0x93, 0xf9, 0xf0, 0xc8, 0x96, 0xc8, 0x62, 0xaa, 0x7b,
|
||||
0xda, 0xbc, 0xd6, 0xf4, 0x3b, 0x46, 0xc9, 0xb2, 0xe8, 0x72, 0xf4, 0x31, 0x38, 0xc7, 0x3b, 0x40,
|
||||
0xe7, 0x18, 0x23, 0xab, 0xc2, 0x68, 0xe4, 0x02, 0x7d, 0x9a, 0x48, 0x8e, 0x40, 0x6f, 0xb0, 0x7d,
|
||||
0xb2, 0x1d, 0x43, 0xdc, 0x06, 0xeb, 0xba, 0x2a, 0x99, 0x98, 0x2b, 0x97, 0x9b, 0x6c, 0x83, 0xac,
|
||||
0x25, 0x5c, 0x59, 0xaf, 0xb4, 0x43, 0x1e, 0x45, 0x1c, 0x95, 0xd1, 0x74, 0x3e, 0x98, 0xdd, 0x40,
|
||||
0x8b, 0xcb, 0xe6, 0xef, 0xd9, 0x7d, 0x72, 0x68, 0xe1, 0x55, 0x0a, 0x0e, 0x3d, 0x97, 0xd2, 0x82,
|
||||
0x73, 0xfe, 0xc4, 0x58, 0x8f, 0x96, 0x6b, 0xc7, 0x45, 0x4e, 0x5a, 0x60, 0x4f, 0xc8, 0x43, 0x2e,
|
||||
0x04, 0x24, 0xe8, 0xbf, 0xc5, 0x5d, 0x64, 0x4f, 0xc9, 0x23, 0x09, 0x22, 0x52, 0x1a, 0xbe, 0x49,
|
||||
0xbe, 0xc5, 0xb6, 0xc8, 0xdd, 0x92, 0x34, 0x0d, 0xdc, 0x66, 0xeb, 0x84, 0x3a, 0xd0, 0xf2, 0x92,
|
||||
0x95, 0xb0, 0x43, 0xb2, 0x7b, 0x35, 0xf6, 0x34, 0x61, 0x29, 0x48, 0x73, 0xad, 0x49, 0x3f, 0x11,
|
||||
0x90, 0x2e, 0xcf, 0x86, 0xb9, 0x10, 0x26, 0xd5, 0x48, 0x57, 0xd8, 0x3d, 0xb2, 0x7f, 0x1d, 0x4e,
|
||||
0xd2, 0x76, 0xa4, 0x84, 0x0f, 0x73, 0xa1, 0xab, 0xec, 0x80, 0xec, 0x94, 0xf3, 0x10, 0x46, 0x82,
|
||||
0xe7, 0xb2, 0x0f, 0x16, 0x95, 0x83, 0x18, 0x34, 0xd2, 0x3b, 0xac, 0x49, 0x0e, 0x92, 0xd4, 0x75,
|
||||
0xbd, 0x36, 0xa8, 0x4e, 0x94, 0x28, 0x42, 0x58, 0xe8, 0x28, 0x87, 0xb6, 0x90, 0x9c, 0x06, 0x85,
|
||||
0xbe, 0xce, 0xf1, 0x16, 0x5c, 0x62, 0xb4, 0x03, 0xba, 0xc6, 0x76, 0xc9, 0xd6, 0x75, 0xf2, 0xab,
|
||||
0x14, 0xec, 0x80, 0x32, 0xf6, 0x80, 0x1c, 0x7d, 0x01, 0xac, 0x43, 0xdc, 0x0d, 0x5d, 0xcf, 0xca,
|
||||
0x97, 0xeb, 0x47, 0xd7, 0x43, 0x4b, 0xb3, 0xe0, 0x89, 0xfb, 0x46, 0x58, 0x41, 0x88, 0xcd, 0x4b,
|
||||
0xe5, 0x2d, 0x4c, 0x74, 0xde, 0x64, 0xdb, 0x64, 0xa3, 0x63, 0x4d, 0x9a, 0xe4, 0xb2, 0x78, 0xa5,
|
||||
0xfb, 0x0a, 0x8b, 0xee, 0xb6, 0xd8, 0x1a, 0x59, 0x29, 0x8c, 0x12, 0x34, 0x2a, 0x1c, 0xd0, 0x46,
|
||||
0x60, 0x0b, 0x13, 0xc7, 0xa9, 0x56, 0x38, 0xf0, 0x12, 0x9c, 0xb0, 0x2a, 0xc9, 0xd9, 0xdb, 0xac,
|
||||
0x41, 0xd6, 0x6b, 0x68, 0x2a, 0xce, 0x4e, 0xa8, 0xba, 0x46, 0xaa, 0x69, 0x1b, 0xff, 0xd2, 0x28,
|
||||
0x4d, 0x77, 0xd9, 0x1d, 0xb2, 0x94, 0x28, 0x5d, 0xad, 0xfd, 0x5e, 0xb8, 0x1d, 0x90, 0xaa, 0xbe,
|
||||
0x9d, 0xfd, 0x50, 0x89, 0x43, 0x8e, 0xa9, 0x2b, 0x4f, 0xe7, 0x20, 0xf4, 0x22, 0x21, 0x82, 0xa9,
|
||||
0x7b, 0x39, 0x0c, 0x4b, 0x35, 0x6b, 0x67, 0x26, 0xa9, 0xe9, 0x11, 0xdb, 0x21, 0x9b, 0x5c, 0x1b,
|
||||
0x3d, 0x88, 0x4d, 0xea, 0x7c, 0x0c, 0x68, 0x95, 0xf0, 0x6d, 0x8e, 0xa2, 0x4b, 0xef, 0x55, 0x57,
|
||||
0x95, 0xb7, 0x6c, 0x21, 0x36, 0x7d, 0x90, 0xb4, 0x19, 0xa6, 0x56, 0x9b, 0x27, 0xa9, 0x5c, 0x10,
|
||||
0x50, 0xd2, 0xfb, 0x8c, 0x90, 0x85, 0x36, 0x17, 0xbd, 0x34, 0xa1, 0x0f, 0xaa, 0x8d, 0x0c, 0xca,
|
||||
0xf6, 0x43, 0xa7, 0x02, 0x34, 0x82, 0x2d, 0xa8, 0x3f, 0x54, 0x1b, 0x79, 0x15, 0x2e, 0xae, 0x11,
|
||||
0x24, 0x7d, 0x18, 0x36, 0x6e, 0x26, 0x45, 0x2a, 0x17, 0x2b, 0xe7, 0x40, 0xd2, 0x47, 0xb9, 0x12,
|
||||
0x81, 0xd3, 0x36, 0xa6, 0x17, 0x73, 0xdb, 0xa3, 0xc7, 0x6c, 0x93, 0xb0, 0xa2, 0xc2, 0x08, 0xb8,
|
||||
0xf5, 0x5d, 0xe5, 0xd0, 0xd8, 0x01, 0x7d, 0x1c, 0x64, 0xcc, 0xed, 0x0e, 0x10, 0x95, 0xee, 0xd0,
|
||||
0x27, 0xec, 0x88, 0xec, 0xd5, 0x83, 0xe0, 0x56, 0x74, 0x55, 0x1f, 0x7c, 0xcc, 0x3b, 0x1a, 0x30,
|
||||
0x52, 0xba, 0x47, 0x9f, 0x86, 0x21, 0xe6, 0x3e, 0x89, 0x35, 0x27, 0x2a, 0x02, 0x9f, 0x28, 0x81,
|
||||
0xa9, 0x05, 0xfa, 0x63, 0xb8, 0xef, 0x1c, 0x79, 0xcd, 0xa3, 0x08, 0xb0, 0x3a, 0xb5, 0x9f, 0x72,
|
||||
0x4d, 0x8b, 0x37, 0x4a, 0x79, 0x4e, 0xe5, 0x42, 0xb6, 0x82, 0x78, 0x16, 0xd0, 0x16, 0x37, 0x76,
|
||||
0x19, 0x7c, 0x56, 0x2b, 0x5b, 0x95, 0x34, 0xa9, 0xd4, 0xd1, 0x9f, 0x43, 0xa9, 0xe5, 0xa6, 0x94,
|
||||
0x9e, 0x7d, 0xb0, 0xd5, 0x56, 0xd3, 0xe7, 0x61, 0xd8, 0x57, 0xf2, 0x5e, 0x22, 0xbc, 0x08, 0x21,
|
||||
0xca, 0x57, 0xcc, 0x4c, 0xc6, 0x2f, 0xd5, 0xc8, 0xd1, 0xa6, 0x0e, 0x41, 0xfa, 0xd4, 0x81, 0xa5,
|
||||
0xbf, 0x56, 0x93, 0x9c, 0x66, 0x57, 0x75, 0xff, 0x56, 0xa8, 0x78, 0x3d, 0x5e, 0x19, 0x85, 0xfe,
|
||||
0xde, 0x5e, 0xf9, 0x6b, 0xa9, 0xf5, 0xec, 0x8f, 0xf2, 0x3b, 0xf2, 0x66, 0x21, 0xff, 0xf7, 0xe2,
|
||||
0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x70, 0xc0, 0x8b, 0xbf, 0xee, 0x06, 0x00, 0x00,
|
||||
}
|
||||
|
|
|
@ -62,5 +62,11 @@ message ApplicationMetadataMessage {
|
|||
ACCEPT_CONTACT_REQUEST = 46;
|
||||
RETRACT_CONTACT_REQUEST = 47;
|
||||
SYNC_COMMUNITY_SETTINGS = 49;
|
||||
REQUEST_CONTACT_VERIFICATION = 50;
|
||||
ACCEPT_CONTACT_VERIFICATION = 51;
|
||||
DECLINE_CONTACT_VERIFICATION = 52;
|
||||
SYNC_TRUSTED_USER = 53;
|
||||
SYNC_VERIFICATION_REQUEST = 54;
|
||||
CONTACT_VERIFICATION_TRUSTED = 55;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,220 @@
|
|||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// source: contact_verification.proto
|
||||
|
||||
package protobuf
|
||||
|
||||
import (
|
||||
fmt "fmt"
|
||||
proto "github.com/golang/protobuf/proto"
|
||||
math "math"
|
||||
)
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
var _ = proto.Marshal
|
||||
var _ = fmt.Errorf
|
||||
var _ = math.Inf
|
||||
|
||||
// This is a compile-time assertion to ensure that this generated file
|
||||
// is compatible with the proto package it is being compiled against.
|
||||
// A compilation error at this line likely means your copy of the
|
||||
// proto package needs to be updated.
|
||||
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
|
||||
|
||||
type RequestContactVerification struct {
|
||||
Clock uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"`
|
||||
Challenge string `protobuf:"bytes,3,opt,name=challenge,proto3" json:"challenge,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
}
|
||||
|
||||
func (m *RequestContactVerification) Reset() { *m = RequestContactVerification{} }
|
||||
func (m *RequestContactVerification) String() string { return proto.CompactTextString(m) }
|
||||
func (*RequestContactVerification) ProtoMessage() {}
|
||||
func (*RequestContactVerification) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_d6997df64de39454, []int{0}
|
||||
}
|
||||
|
||||
func (m *RequestContactVerification) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_RequestContactVerification.Unmarshal(m, b)
|
||||
}
|
||||
func (m *RequestContactVerification) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||
return xxx_messageInfo_RequestContactVerification.Marshal(b, m, deterministic)
|
||||
}
|
||||
func (m *RequestContactVerification) XXX_Merge(src proto.Message) {
|
||||
xxx_messageInfo_RequestContactVerification.Merge(m, src)
|
||||
}
|
||||
func (m *RequestContactVerification) XXX_Size() int {
|
||||
return xxx_messageInfo_RequestContactVerification.Size(m)
|
||||
}
|
||||
func (m *RequestContactVerification) XXX_DiscardUnknown() {
|
||||
xxx_messageInfo_RequestContactVerification.DiscardUnknown(m)
|
||||
}
|
||||
|
||||
var xxx_messageInfo_RequestContactVerification proto.InternalMessageInfo
|
||||
|
||||
func (m *RequestContactVerification) GetClock() uint64 {
|
||||
if m != nil {
|
||||
return m.Clock
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (m *RequestContactVerification) GetChallenge() string {
|
||||
if m != nil {
|
||||
return m.Challenge
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
type AcceptContactVerification struct {
|
||||
Clock uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"`
|
||||
Response string `protobuf:"bytes,3,opt,name=response,proto3" json:"response,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
}
|
||||
|
||||
func (m *AcceptContactVerification) Reset() { *m = AcceptContactVerification{} }
|
||||
func (m *AcceptContactVerification) String() string { return proto.CompactTextString(m) }
|
||||
func (*AcceptContactVerification) ProtoMessage() {}
|
||||
func (*AcceptContactVerification) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_d6997df64de39454, []int{1}
|
||||
}
|
||||
|
||||
func (m *AcceptContactVerification) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_AcceptContactVerification.Unmarshal(m, b)
|
||||
}
|
||||
func (m *AcceptContactVerification) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||
return xxx_messageInfo_AcceptContactVerification.Marshal(b, m, deterministic)
|
||||
}
|
||||
func (m *AcceptContactVerification) XXX_Merge(src proto.Message) {
|
||||
xxx_messageInfo_AcceptContactVerification.Merge(m, src)
|
||||
}
|
||||
func (m *AcceptContactVerification) XXX_Size() int {
|
||||
return xxx_messageInfo_AcceptContactVerification.Size(m)
|
||||
}
|
||||
func (m *AcceptContactVerification) XXX_DiscardUnknown() {
|
||||
xxx_messageInfo_AcceptContactVerification.DiscardUnknown(m)
|
||||
}
|
||||
|
||||
var xxx_messageInfo_AcceptContactVerification proto.InternalMessageInfo
|
||||
|
||||
func (m *AcceptContactVerification) GetClock() uint64 {
|
||||
if m != nil {
|
||||
return m.Clock
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (m *AcceptContactVerification) GetResponse() string {
|
||||
if m != nil {
|
||||
return m.Response
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
type ContactVerificationTrusted struct {
|
||||
Clock uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
}
|
||||
|
||||
func (m *ContactVerificationTrusted) Reset() { *m = ContactVerificationTrusted{} }
|
||||
func (m *ContactVerificationTrusted) String() string { return proto.CompactTextString(m) }
|
||||
func (*ContactVerificationTrusted) ProtoMessage() {}
|
||||
func (*ContactVerificationTrusted) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_d6997df64de39454, []int{2}
|
||||
}
|
||||
|
||||
func (m *ContactVerificationTrusted) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_ContactVerificationTrusted.Unmarshal(m, b)
|
||||
}
|
||||
func (m *ContactVerificationTrusted) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||
return xxx_messageInfo_ContactVerificationTrusted.Marshal(b, m, deterministic)
|
||||
}
|
||||
func (m *ContactVerificationTrusted) XXX_Merge(src proto.Message) {
|
||||
xxx_messageInfo_ContactVerificationTrusted.Merge(m, src)
|
||||
}
|
||||
func (m *ContactVerificationTrusted) XXX_Size() int {
|
||||
return xxx_messageInfo_ContactVerificationTrusted.Size(m)
|
||||
}
|
||||
func (m *ContactVerificationTrusted) XXX_DiscardUnknown() {
|
||||
xxx_messageInfo_ContactVerificationTrusted.DiscardUnknown(m)
|
||||
}
|
||||
|
||||
var xxx_messageInfo_ContactVerificationTrusted proto.InternalMessageInfo
|
||||
|
||||
func (m *ContactVerificationTrusted) GetClock() uint64 {
|
||||
if m != nil {
|
||||
return m.Clock
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
type DeclineContactVerification struct {
|
||||
Clock uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
}
|
||||
|
||||
func (m *DeclineContactVerification) Reset() { *m = DeclineContactVerification{} }
|
||||
func (m *DeclineContactVerification) String() string { return proto.CompactTextString(m) }
|
||||
func (*DeclineContactVerification) ProtoMessage() {}
|
||||
func (*DeclineContactVerification) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_d6997df64de39454, []int{3}
|
||||
}
|
||||
|
||||
func (m *DeclineContactVerification) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_DeclineContactVerification.Unmarshal(m, b)
|
||||
}
|
||||
func (m *DeclineContactVerification) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||
return xxx_messageInfo_DeclineContactVerification.Marshal(b, m, deterministic)
|
||||
}
|
||||
func (m *DeclineContactVerification) XXX_Merge(src proto.Message) {
|
||||
xxx_messageInfo_DeclineContactVerification.Merge(m, src)
|
||||
}
|
||||
func (m *DeclineContactVerification) XXX_Size() int {
|
||||
return xxx_messageInfo_DeclineContactVerification.Size(m)
|
||||
}
|
||||
func (m *DeclineContactVerification) XXX_DiscardUnknown() {
|
||||
xxx_messageInfo_DeclineContactVerification.DiscardUnknown(m)
|
||||
}
|
||||
|
||||
var xxx_messageInfo_DeclineContactVerification proto.InternalMessageInfo
|
||||
|
||||
func (m *DeclineContactVerification) GetClock() uint64 {
|
||||
if m != nil {
|
||||
return m.Clock
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func init() {
|
||||
proto.RegisterType((*RequestContactVerification)(nil), "protobuf.RequestContactVerification")
|
||||
proto.RegisterType((*AcceptContactVerification)(nil), "protobuf.AcceptContactVerification")
|
||||
proto.RegisterType((*ContactVerificationTrusted)(nil), "protobuf.ContactVerificationTrusted")
|
||||
proto.RegisterType((*DeclineContactVerification)(nil), "protobuf.DeclineContactVerification")
|
||||
}
|
||||
|
||||
func init() {
|
||||
proto.RegisterFile("contact_verification.proto", fileDescriptor_d6997df64de39454)
|
||||
}
|
||||
|
||||
var fileDescriptor_d6997df64de39454 = []byte{
|
||||
// 182 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4a, 0xce, 0xcf, 0x2b,
|
||||
0x49, 0x4c, 0x2e, 0x89, 0x2f, 0x4b, 0x2d, 0xca, 0x4c, 0xcb, 0x4c, 0x4e, 0x2c, 0xc9, 0xcc, 0xcf,
|
||||
0xd3, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x00, 0x53, 0x49, 0xa5, 0x69, 0x4a, 0x01, 0x5c,
|
||||
0x52, 0x41, 0xa9, 0x85, 0xa5, 0xa9, 0xc5, 0x25, 0xce, 0x10, 0xe5, 0x61, 0x48, 0xaa, 0x85, 0x44,
|
||||
0xb8, 0x58, 0x93, 0x73, 0xf2, 0x93, 0xb3, 0x25, 0x18, 0x15, 0x18, 0x35, 0x58, 0x82, 0x20, 0x1c,
|
||||
0x21, 0x19, 0x2e, 0xce, 0xe4, 0x8c, 0xc4, 0x9c, 0x9c, 0xd4, 0xbc, 0xf4, 0x54, 0x09, 0x66, 0x05,
|
||||
0x46, 0x0d, 0xce, 0x20, 0x84, 0x80, 0x92, 0x2f, 0x97, 0xa4, 0x63, 0x72, 0x72, 0x6a, 0x01, 0x09,
|
||||
0x06, 0x4a, 0x71, 0x71, 0x14, 0xa5, 0x16, 0x17, 0xe4, 0xe7, 0x15, 0xc3, 0xcc, 0x83, 0xf3, 0x95,
|
||||
0x8c, 0xb8, 0xa4, 0xb0, 0x18, 0x14, 0x52, 0x54, 0x5a, 0x5c, 0x92, 0x9a, 0x82, 0xdd, 0x3c, 0x90,
|
||||
0x1e, 0x97, 0xd4, 0xe4, 0x9c, 0xcc, 0xbc, 0x54, 0xa2, 0xdd, 0xe0, 0xc4, 0x1b, 0xc5, 0xad, 0xa7,
|
||||
0x6f, 0x0d, 0x0b, 0x97, 0x24, 0x36, 0x30, 0xcb, 0x18, 0x10, 0x00, 0x00, 0xff, 0xff, 0x4f, 0x25,
|
||||
0x40, 0xb3, 0x46, 0x01, 0x00, 0x00,
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
syntax = "proto3";
|
||||
|
||||
option go_package = "./;protobuf";
|
||||
package protobuf;
|
||||
|
||||
message RequestContactVerification {
|
||||
uint64 clock = 1;
|
||||
string challenge = 3;
|
||||
}
|
||||
|
||||
message AcceptContactVerification {
|
||||
uint64 clock = 1;
|
||||
string response = 3;
|
||||
}
|
||||
|
||||
message ContactVerificationTrusted {
|
||||
uint64 clock = 1;
|
||||
}
|
||||
|
||||
message DeclineContactVerification {
|
||||
uint64 clock = 1;
|
||||
}
|
|
@ -20,6 +20,68 @@ var _ = math.Inf
|
|||
// proto package needs to be updated.
|
||||
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
|
||||
|
||||
type SyncTrustedUser_TrustStatus int32
|
||||
|
||||
const (
|
||||
SyncTrustedUser_UNKNOWN SyncTrustedUser_TrustStatus = 0
|
||||
SyncTrustedUser_TRUSTED SyncTrustedUser_TrustStatus = 1
|
||||
SyncTrustedUser_UNTRUSTWORTHY SyncTrustedUser_TrustStatus = 2
|
||||
)
|
||||
|
||||
var SyncTrustedUser_TrustStatus_name = map[int32]string{
|
||||
0: "UNKNOWN",
|
||||
1: "TRUSTED",
|
||||
2: "UNTRUSTWORTHY",
|
||||
}
|
||||
|
||||
var SyncTrustedUser_TrustStatus_value = map[string]int32{
|
||||
"UNKNOWN": 0,
|
||||
"TRUSTED": 1,
|
||||
"UNTRUSTWORTHY": 2,
|
||||
}
|
||||
|
||||
func (x SyncTrustedUser_TrustStatus) String() string {
|
||||
return proto.EnumName(SyncTrustedUser_TrustStatus_name, int32(x))
|
||||
}
|
||||
|
||||
func (SyncTrustedUser_TrustStatus) EnumDescriptor() ([]byte, []int) {
|
||||
return fileDescriptor_d61ab7221f0b5518, []int{21, 0}
|
||||
}
|
||||
|
||||
type SyncVerificationRequest_VerificationStatus int32
|
||||
|
||||
const (
|
||||
SyncVerificationRequest_UNKNOWN SyncVerificationRequest_VerificationStatus = 0
|
||||
SyncVerificationRequest_PENDING SyncVerificationRequest_VerificationStatus = 1
|
||||
SyncVerificationRequest_ACCEPTED SyncVerificationRequest_VerificationStatus = 2
|
||||
SyncVerificationRequest_DECLINED SyncVerificationRequest_VerificationStatus = 3
|
||||
SyncVerificationRequest_CANCELED SyncVerificationRequest_VerificationStatus = 4
|
||||
)
|
||||
|
||||
var SyncVerificationRequest_VerificationStatus_name = map[int32]string{
|
||||
0: "UNKNOWN",
|
||||
1: "PENDING",
|
||||
2: "ACCEPTED",
|
||||
3: "DECLINED",
|
||||
4: "CANCELED",
|
||||
}
|
||||
|
||||
var SyncVerificationRequest_VerificationStatus_value = map[string]int32{
|
||||
"UNKNOWN": 0,
|
||||
"PENDING": 1,
|
||||
"ACCEPTED": 2,
|
||||
"DECLINED": 3,
|
||||
"CANCELED": 4,
|
||||
}
|
||||
|
||||
func (x SyncVerificationRequest_VerificationStatus) String() string {
|
||||
return proto.EnumName(SyncVerificationRequest_VerificationStatus_name, int32(x))
|
||||
}
|
||||
|
||||
func (SyncVerificationRequest_VerificationStatus) EnumDescriptor() ([]byte, []int) {
|
||||
return fileDescriptor_d61ab7221f0b5518, []int{22, 0}
|
||||
}
|
||||
|
||||
type Backup struct {
|
||||
Clock uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"`
|
||||
Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
|
||||
|
@ -246,6 +308,8 @@ type SyncInstallationContactV2 struct {
|
|||
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"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
|
@ -360,6 +424,20 @@ func (m *SyncInstallationContactV2) GetHasAddedUs() bool {
|
|||
return false
|
||||
}
|
||||
|
||||
func (m *SyncInstallationContactV2) GetVerificationStatus() int64 {
|
||||
if m != nil {
|
||||
return m.VerificationStatus
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (m *SyncInstallationContactV2) GetTrustStatus() int64 {
|
||||
if m != nil {
|
||||
return m.TrustStatus
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
type SyncInstallationAccount struct {
|
||||
Clock uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"`
|
||||
ProfileImage string `protobuf:"bytes,2,opt,name=profile_image,json=profileImage,proto3" json:"profile_image,omitempty"`
|
||||
|
@ -1439,7 +1517,159 @@ func (m *SyncCommunitySettings) GetHistoryArchiveSupportEnabled() bool {
|
|||
return false
|
||||
}
|
||||
|
||||
type SyncTrustedUser struct {
|
||||
Clock uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"`
|
||||
Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
|
||||
Status SyncTrustedUser_TrustStatus `protobuf:"varint,3,opt,name=status,proto3,enum=protobuf.SyncTrustedUser_TrustStatus" json:"status,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
}
|
||||
|
||||
func (m *SyncTrustedUser) Reset() { *m = SyncTrustedUser{} }
|
||||
func (m *SyncTrustedUser) String() string { return proto.CompactTextString(m) }
|
||||
func (*SyncTrustedUser) ProtoMessage() {}
|
||||
func (*SyncTrustedUser) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_d61ab7221f0b5518, []int{21}
|
||||
}
|
||||
|
||||
func (m *SyncTrustedUser) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_SyncTrustedUser.Unmarshal(m, b)
|
||||
}
|
||||
func (m *SyncTrustedUser) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||
return xxx_messageInfo_SyncTrustedUser.Marshal(b, m, deterministic)
|
||||
}
|
||||
func (m *SyncTrustedUser) XXX_Merge(src proto.Message) {
|
||||
xxx_messageInfo_SyncTrustedUser.Merge(m, src)
|
||||
}
|
||||
func (m *SyncTrustedUser) XXX_Size() int {
|
||||
return xxx_messageInfo_SyncTrustedUser.Size(m)
|
||||
}
|
||||
func (m *SyncTrustedUser) XXX_DiscardUnknown() {
|
||||
xxx_messageInfo_SyncTrustedUser.DiscardUnknown(m)
|
||||
}
|
||||
|
||||
var xxx_messageInfo_SyncTrustedUser proto.InternalMessageInfo
|
||||
|
||||
func (m *SyncTrustedUser) GetClock() uint64 {
|
||||
if m != nil {
|
||||
return m.Clock
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (m *SyncTrustedUser) GetId() string {
|
||||
if m != nil {
|
||||
return m.Id
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (m *SyncTrustedUser) GetStatus() SyncTrustedUser_TrustStatus {
|
||||
if m != nil {
|
||||
return m.Status
|
||||
}
|
||||
return SyncTrustedUser_UNKNOWN
|
||||
}
|
||||
|
||||
type SyncVerificationRequest struct {
|
||||
Clock uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"`
|
||||
From string `protobuf:"bytes,2,opt,name=from,proto3" json:"from,omitempty"`
|
||||
To string `protobuf:"bytes,3,opt,name=to,proto3" json:"to,omitempty"`
|
||||
Challenge string `protobuf:"bytes,4,opt,name=challenge,proto3" json:"challenge,omitempty"`
|
||||
RequestedAt uint64 `protobuf:"varint,5,opt,name=requested_at,json=requestedAt,proto3" json:"requested_at,omitempty"`
|
||||
Response string `protobuf:"bytes,6,opt,name=response,proto3" json:"response,omitempty"`
|
||||
RepliedAt uint64 `protobuf:"varint,7,opt,name=replied_at,json=repliedAt,proto3" json:"replied_at,omitempty"`
|
||||
VerificationStatus SyncVerificationRequest_VerificationStatus `protobuf:"varint,8,opt,name=verification_status,json=verificationStatus,proto3,enum=protobuf.SyncVerificationRequest_VerificationStatus" json:"verification_status,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
}
|
||||
|
||||
func (m *SyncVerificationRequest) Reset() { *m = SyncVerificationRequest{} }
|
||||
func (m *SyncVerificationRequest) String() string { return proto.CompactTextString(m) }
|
||||
func (*SyncVerificationRequest) ProtoMessage() {}
|
||||
func (*SyncVerificationRequest) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_d61ab7221f0b5518, []int{22}
|
||||
}
|
||||
|
||||
func (m *SyncVerificationRequest) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_SyncVerificationRequest.Unmarshal(m, b)
|
||||
}
|
||||
func (m *SyncVerificationRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||
return xxx_messageInfo_SyncVerificationRequest.Marshal(b, m, deterministic)
|
||||
}
|
||||
func (m *SyncVerificationRequest) XXX_Merge(src proto.Message) {
|
||||
xxx_messageInfo_SyncVerificationRequest.Merge(m, src)
|
||||
}
|
||||
func (m *SyncVerificationRequest) XXX_Size() int {
|
||||
return xxx_messageInfo_SyncVerificationRequest.Size(m)
|
||||
}
|
||||
func (m *SyncVerificationRequest) XXX_DiscardUnknown() {
|
||||
xxx_messageInfo_SyncVerificationRequest.DiscardUnknown(m)
|
||||
}
|
||||
|
||||
var xxx_messageInfo_SyncVerificationRequest proto.InternalMessageInfo
|
||||
|
||||
func (m *SyncVerificationRequest) GetClock() uint64 {
|
||||
if m != nil {
|
||||
return m.Clock
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (m *SyncVerificationRequest) GetFrom() string {
|
||||
if m != nil {
|
||||
return m.From
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (m *SyncVerificationRequest) GetTo() string {
|
||||
if m != nil {
|
||||
return m.To
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (m *SyncVerificationRequest) GetChallenge() string {
|
||||
if m != nil {
|
||||
return m.Challenge
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (m *SyncVerificationRequest) GetRequestedAt() uint64 {
|
||||
if m != nil {
|
||||
return m.RequestedAt
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (m *SyncVerificationRequest) GetResponse() string {
|
||||
if m != nil {
|
||||
return m.Response
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (m *SyncVerificationRequest) GetRepliedAt() uint64 {
|
||||
if m != nil {
|
||||
return m.RepliedAt
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (m *SyncVerificationRequest) GetVerificationStatus() SyncVerificationRequest_VerificationStatus {
|
||||
if m != nil {
|
||||
return m.VerificationStatus
|
||||
}
|
||||
return SyncVerificationRequest_UNKNOWN
|
||||
}
|
||||
|
||||
func init() {
|
||||
proto.RegisterEnum("protobuf.SyncTrustedUser_TrustStatus", SyncTrustedUser_TrustStatus_name, SyncTrustedUser_TrustStatus_value)
|
||||
proto.RegisterEnum("protobuf.SyncVerificationRequest_VerificationStatus", SyncVerificationRequest_VerificationStatus_name, SyncVerificationRequest_VerificationStatus_value)
|
||||
proto.RegisterType((*Backup)(nil), "protobuf.Backup")
|
||||
proto.RegisterType((*PairInstallation)(nil), "protobuf.PairInstallation")
|
||||
proto.RegisterType((*SyncInstallationContact)(nil), "protobuf.SyncInstallationContact")
|
||||
|
@ -1461,6 +1691,8 @@ func init() {
|
|||
proto.RegisterType((*SyncWalletAccount)(nil), "protobuf.SyncWalletAccount")
|
||||
proto.RegisterType((*SyncWalletAccounts)(nil), "protobuf.SyncWalletAccounts")
|
||||
proto.RegisterType((*SyncCommunitySettings)(nil), "protobuf.SyncCommunitySettings")
|
||||
proto.RegisterType((*SyncTrustedUser)(nil), "protobuf.SyncTrustedUser")
|
||||
proto.RegisterType((*SyncVerificationRequest)(nil), "protobuf.SyncVerificationRequest")
|
||||
}
|
||||
|
||||
func init() {
|
||||
|
@ -1468,85 +1700,102 @@ func init() {
|
|||
}
|
||||
|
||||
var fileDescriptor_d61ab7221f0b5518 = []byte{
|
||||
// 1269 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x56, 0x4d, 0x73, 0xdb, 0xc4,
|
||||
0x1b, 0x1f, 0xd9, 0x8e, 0x2d, 0x3f, 0xb6, 0xd3, 0xfc, 0xf7, 0x5f, 0x5a, 0xf5, 0x6d, 0xe2, 0xaa,
|
||||
0x74, 0xc8, 0x29, 0x30, 0xe5, 0x50, 0x98, 0xc2, 0x80, 0x93, 0x76, 0x20, 0x85, 0x96, 0xcc, 0x26,
|
||||
0x81, 0x19, 0x2e, 0x9a, 0x8d, 0xb4, 0xb5, 0x17, 0xcb, 0x92, 0xd8, 0x5d, 0xb9, 0xa3, 0x7e, 0x00,
|
||||
0x0e, 0x1c, 0xb9, 0x70, 0xe5, 0x0c, 0x5f, 0x84, 0x1b, 0xdf, 0x83, 0x03, 0x9f, 0x81, 0xd9, 0x17,
|
||||
0xc9, 0x52, 0x52, 0xa7, 0x61, 0x38, 0x71, 0xd2, 0x3e, 0xcf, 0xfe, 0xf6, 0xd1, 0x3e, 0xbf, 0xe7,
|
||||
0x6d, 0x61, 0x94, 0x11, 0xc6, 0x59, 0x32, 0xdd, 0xcd, 0x78, 0x2a, 0x53, 0xe4, 0xea, 0xcf, 0x69,
|
||||
0xfe, 0xc2, 0xff, 0xd5, 0x81, 0xee, 0x1e, 0x09, 0xe7, 0x79, 0x86, 0xae, 0xc2, 0x46, 0x18, 0xa7,
|
||||
0xe1, 0xdc, 0x73, 0xc6, 0xce, 0x4e, 0x07, 0x1b, 0x01, 0x6d, 0x42, 0x8b, 0x45, 0x5e, 0x6b, 0xec,
|
||||
0xec, 0xf4, 0x71, 0x8b, 0x45, 0xe8, 0x13, 0x70, 0xc3, 0x34, 0x91, 0x24, 0x94, 0xc2, 0x6b, 0x8f,
|
||||
0xdb, 0x3b, 0x83, 0x07, 0xf7, 0x76, 0x4b, 0x6b, 0xbb, 0x47, 0x45, 0x12, 0x1e, 0x24, 0x42, 0x92,
|
||||
0x38, 0x26, 0x92, 0xa5, 0xc9, 0xbe, 0x41, 0x7e, 0xfd, 0x00, 0x57, 0x87, 0xd0, 0x87, 0x30, 0x08,
|
||||
0xd3, 0xc5, 0x22, 0x4f, 0x98, 0x64, 0x54, 0x78, 0x1d, 0x6d, 0xe3, 0x7a, 0xd3, 0xc6, 0xbe, 0x05,
|
||||
0x14, 0xb8, 0x8e, 0xf5, 0x7f, 0x70, 0x60, 0xeb, 0x90, 0x30, 0x5e, 0xff, 0xc5, 0x9a, 0x6b, 0xbf,
|
||||
0x03, 0x57, 0x58, 0x0d, 0x15, 0x54, 0x3e, 0x6c, 0xd6, 0xd5, 0x07, 0x11, 0xda, 0x86, 0x41, 0x44,
|
||||
0x97, 0x2c, 0xa4, 0x81, 0x2c, 0x32, 0xea, 0xb5, 0x35, 0x08, 0x8c, 0xea, 0xb8, 0xc8, 0x28, 0x42,
|
||||
0xd0, 0x49, 0xc8, 0x82, 0x7a, 0x1d, 0xbd, 0xa3, 0xd7, 0xfe, 0x9f, 0x0e, 0x5c, 0x5f, 0xe3, 0xeb,
|
||||
0x25, 0x69, 0xbc, 0x07, 0xa3, 0x8c, 0xa7, 0x2f, 0x58, 0x4c, 0x03, 0xb6, 0x20, 0xd3, 0xf2, 0xc7,
|
||||
0x43, 0xab, 0x3c, 0x50, 0x3a, 0x74, 0x03, 0x5c, 0x9a, 0x88, 0xa0, 0xf6, 0xfb, 0x1e, 0x4d, 0xc4,
|
||||
0x73, 0xb2, 0xa0, 0xe8, 0x2e, 0x0c, 0x63, 0x22, 0x64, 0x90, 0x67, 0x11, 0x91, 0x34, 0xf2, 0x36,
|
||||
0xf4, 0xcf, 0x06, 0x4a, 0x77, 0x62, 0x54, 0xca, 0x33, 0x51, 0x08, 0x49, 0x17, 0x81, 0x24, 0x53,
|
||||
0xe1, 0x75, 0xc7, 0x6d, 0xe5, 0x99, 0x51, 0x1d, 0x93, 0xa9, 0x40, 0xf7, 0x61, 0x33, 0x4e, 0x43,
|
||||
0x12, 0x07, 0x09, 0x0b, 0xe7, 0xfa, 0x27, 0x3d, 0xfd, 0x93, 0x91, 0xd6, 0x3e, 0xb7, 0x4a, 0xff,
|
||||
0xc7, 0x36, 0xdc, 0x58, 0x1b, 0x58, 0xf4, 0x1e, 0x5c, 0xad, 0x5f, 0x24, 0xd0, 0x67, 0xe3, 0xc2,
|
||||
0x7a, 0x8f, 0x6a, 0x17, 0xfa, 0xd2, 0xec, 0xfc, 0x87, 0xa9, 0x50, 0xb1, 0x25, 0x51, 0x44, 0x23,
|
||||
0xaf, 0x3f, 0x76, 0x76, 0x5c, 0x6c, 0x04, 0xe4, 0x41, 0xef, 0x54, 0x05, 0x99, 0x46, 0x1e, 0x68,
|
||||
0x7d, 0x29, 0x2a, 0xfc, 0x22, 0x57, 0x77, 0x1a, 0x18, 0xbc, 0x16, 0x14, 0x9e, 0xd3, 0x45, 0xba,
|
||||
0xa4, 0x91, 0x37, 0x34, 0x78, 0x2b, 0xa2, 0x31, 0x0c, 0x67, 0x44, 0x04, 0xda, 0x6c, 0x90, 0x0b,
|
||||
0x6f, 0xa4, 0xb7, 0x61, 0x46, 0xc4, 0x44, 0xa9, 0x4e, 0x84, 0xff, 0xf2, 0x7c, 0xe2, 0x4d, 0xc2,
|
||||
0x30, 0xcd, 0x93, 0x75, 0x89, 0x77, 0x8e, 0xdd, 0xd6, 0x6b, 0xd8, 0x3d, 0x4b, 0x61, 0xfb, 0x1c,
|
||||
0x85, 0xfe, 0x1e, 0xdc, 0x3c, 0xfb, 0xe3, 0xc3, 0xfc, 0x34, 0x66, 0xe1, 0xfe, 0x8c, 0x5c, 0x32,
|
||||
0xe9, 0xfd, 0xbf, 0x5a, 0x30, 0x6a, 0x94, 0xf7, 0x1b, 0xcf, 0x0d, 0x75, 0x86, 0x6c, 0xc3, 0x20,
|
||||
0xe3, 0x6c, 0x49, 0x24, 0x0d, 0xe6, 0xb4, 0xd0, 0xb7, 0x1b, 0x62, 0xb0, 0xaa, 0x2f, 0x68, 0x81,
|
||||
0xc6, 0xaa, 0x88, 0x45, 0xc8, 0x59, 0xa6, 0xee, 0xa5, 0x13, 0x64, 0x88, 0xeb, 0x2a, 0x74, 0x0d,
|
||||
0xba, 0xdf, 0xa5, 0x2c, 0xb1, 0xe9, 0xe1, 0x62, 0x2b, 0xa1, 0x9b, 0xe0, 0x2e, 0x29, 0x67, 0x2f,
|
||||
0x18, 0x8d, 0xbc, 0xae, 0xde, 0xa9, 0xe4, 0x55, 0xf4, 0x7a, 0xf5, 0xe8, 0x7d, 0x05, 0x5b, 0x9c,
|
||||
0x7e, 0x9f, 0x53, 0x21, 0x45, 0x20, 0xd3, 0x40, 0xd9, 0xf1, 0x5c, 0xdd, 0xc4, 0xee, 0xaf, 0x6b,
|
||||
0x62, 0x16, 0x7e, 0x9c, 0x3e, 0x4d, 0x59, 0x82, 0x37, 0x79, 0x43, 0x46, 0x8f, 0xc0, 0x15, 0x54,
|
||||
0x4a, 0x96, 0x4c, 0x85, 0xce, 0xab, 0xc1, 0x83, 0xed, 0x35, 0x86, 0x8e, 0x2c, 0x0c, 0x57, 0x07,
|
||||
0xd0, 0x6d, 0xe8, 0xd3, 0x24, 0xe4, 0x45, 0x26, 0xab, 0xec, 0x5b, 0x29, 0xfc, 0x3f, 0x1c, 0xb8,
|
||||
0x75, 0xc1, 0x55, 0x2c, 0xd1, 0x4e, 0x45, 0xf4, 0x1d, 0x80, 0x4c, 0x07, 0x55, 0xf3, 0x6c, 0x02,
|
||||
0xd7, 0x37, 0x1a, 0x45, 0x73, 0x15, 0xad, 0x76, 0x3d, 0x5a, 0x17, 0x94, 0xe6, 0x75, 0xe8, 0x85,
|
||||
0x33, 0x22, 0x55, 0xf7, 0xdd, 0xd0, 0x3b, 0x5d, 0x25, 0x1e, 0x44, 0x2a, 0xe1, 0xca, 0xc6, 0x5e,
|
||||
0xa8, 0xdd, 0xae, 0x89, 0x58, 0xa5, 0x3b, 0xd0, 0xec, 0x0b, 0x49, 0xa4, 0xa9, 0xc4, 0x0e, 0x36,
|
||||
0x82, 0xff, 0x53, 0x0b, 0xb6, 0xce, 0xe6, 0x21, 0xfa, 0xb8, 0x36, 0x93, 0x1c, 0x1d, 0x8a, 0xbb,
|
||||
0x6f, 0x9c, 0x49, 0xb5, 0x89, 0xf4, 0x19, 0x0c, 0xad, 0xd7, 0xea, 0x76, 0xc2, 0x6b, 0x69, 0x13,
|
||||
0x6f, 0xaf, 0x37, 0xb1, 0x4a, 0x7c, 0x3c, 0xc8, 0xaa, 0xb5, 0x40, 0x8f, 0xa0, 0x47, 0x4c, 0x31,
|
||||
0x6a, 0x86, 0x2e, 0xbc, 0x86, 0xad, 0x5a, 0x5c, 0x9e, 0xf8, 0x37, 0x73, 0xf1, 0x21, 0x5c, 0xd1,
|
||||
0xbb, 0xea, 0x42, 0xb6, 0x93, 0x5c, 0xae, 0x20, 0x3f, 0x82, 0xab, 0xe5, 0xc1, 0x67, 0x54, 0x08,
|
||||
0x32, 0xa5, 0x02, 0x53, 0x72, 0xd9, 0xd3, 0x9f, 0xc2, 0x35, 0x75, 0x7a, 0x12, 0x4a, 0xb6, 0x64,
|
||||
0xb2, 0xd8, 0xa7, 0x89, 0xa4, 0xfc, 0x82, 0xf3, 0x5b, 0xd0, 0x66, 0x91, 0xa1, 0x77, 0x88, 0xd5,
|
||||
0xd2, 0x7f, 0x6c, 0x9a, 0x4a, 0xd3, 0xc2, 0x24, 0x0c, 0xa9, 0xca, 0xde, 0x4b, 0x5b, 0x79, 0x62,
|
||||
0x92, 0xbc, 0x69, 0xe5, 0x31, 0x13, 0x0b, 0x26, 0xc4, 0x3f, 0x30, 0xf3, 0x8b, 0x03, 0x43, 0x65,
|
||||
0x67, 0x2f, 0x4d, 0xe7, 0x0b, 0xc2, 0xe7, 0xeb, 0x0f, 0xe6, 0x3c, 0xb6, 0x34, 0xa8, 0x65, 0xf5,
|
||||
0x42, 0x68, 0xaf, 0x5e, 0x08, 0xe8, 0x16, 0xf4, 0x75, 0xbb, 0x0d, 0x14, 0xd6, 0x54, 0x85, 0xab,
|
||||
0x15, 0x27, 0x3c, 0xae, 0x0f, 0x80, 0x8d, 0xe6, 0x00, 0xb8, 0x03, 0x10, 0xd1, 0x98, 0xaa, 0x41,
|
||||
0x4a, 0xa4, 0xae, 0x8a, 0x0e, 0xee, 0x5b, 0xcd, 0x44, 0xfa, 0x4f, 0x4d, 0xf2, 0xef, 0xc7, 0x94,
|
||||
0xf0, 0xcf, 0x99, 0x90, 0x29, 0x2f, 0xea, 0x35, 0xe6, 0x34, 0x6a, 0xec, 0x0e, 0x40, 0xa8, 0x80,
|
||||
0xc6, 0x56, 0xcb, 0xd8, 0xb2, 0x9a, 0x89, 0xf4, 0x7f, 0x77, 0x00, 0x29, 0x63, 0x87, 0x66, 0x10,
|
||||
0x1c, 0xb2, 0x50, 0xe6, 0x7c, 0xf5, 0xdc, 0x71, 0x6a, 0xce, 0x78, 0xd0, 0xcb, 0x48, 0x11, 0xa7,
|
||||
0xa4, 0x6c, 0xca, 0xa5, 0xa8, 0x28, 0x7a, 0xc9, 0x22, 0x39, 0xd3, 0xbe, 0x8f, 0xb0, 0x11, 0x54,
|
||||
0xb3, 0x9d, 0x51, 0x36, 0x9d, 0x49, 0xed, 0xf9, 0x08, 0x5b, 0x49, 0x91, 0xa2, 0x07, 0x91, 0x60,
|
||||
0xaf, 0xa8, 0xf6, 0x7c, 0x84, 0x5d, 0xa5, 0x38, 0x62, 0xaf, 0xa8, 0x1a, 0x54, 0x9c, 0xaa, 0x9d,
|
||||
0x40, 0x12, 0x3e, 0xa5, 0xc6, 0xfb, 0x11, 0x1e, 0x1a, 0xe5, 0xb1, 0xd6, 0xad, 0x42, 0xd2, 0xab,
|
||||
0x85, 0xc4, 0x9f, 0xc1, 0xff, 0xcf, 0x7b, 0x22, 0x14, 0x33, 0x73, 0x5a, 0x04, 0xf9, 0x8a, 0x99,
|
||||
0x39, 0x2d, 0x4e, 0x58, 0x84, 0x3e, 0x00, 0x37, 0xb3, 0x20, 0x5b, 0xec, 0xb7, 0x9b, 0x75, 0xd6,
|
||||
0xb4, 0x84, 0x2b, 0xb4, 0xff, 0x5b, 0x0b, 0xfe, 0xa7, 0x00, 0xdf, 0x90, 0x38, 0xa6, 0xf2, 0xe2,
|
||||
0xc9, 0xeb, 0x41, 0x8f, 0x44, 0x11, 0xa7, 0x42, 0x94, 0xac, 0x59, 0x51, 0xf1, 0xf3, 0x52, 0x1b,
|
||||
0xd0, 0xb4, 0xb9, 0xd8, 0x4a, 0x8a, 0x7b, 0x15, 0x3b, 0xcd, 0x9a, 0x8b, 0xf5, 0x5a, 0xe9, 0xf4,
|
||||
0xc3, 0xd4, 0xf4, 0x4f, 0xbd, 0x56, 0x96, 0x55, 0xec, 0xd5, 0x34, 0xef, 0x9a, 0x86, 0x6b, 0x45,
|
||||
0x85, 0xce, 0x88, 0x9c, 0xd9, 0xd7, 0x8b, 0x5e, 0xab, 0x11, 0x51, 0xb5, 0x70, 0xcf, 0xd5, 0x37,
|
||||
0xa9, 0xf5, 0xf4, 0x32, 0xde, 0xfd, 0x5a, 0xbc, 0x95, 0x3f, 0x69, 0x9c, 0x72, 0x3d, 0x50, 0xfa,
|
||||
0xd8, 0x08, 0x3a, 0xaa, 0x2c, 0x8a, 0x68, 0x62, 0x5f, 0x33, 0x56, 0x5a, 0xff, 0x9c, 0xf1, 0x9f,
|
||||
0x99, 0x0c, 0x6b, 0x90, 0x25, 0xd0, 0x43, 0x70, 0x6d, 0xcf, 0x2b, 0xbb, 0xf5, 0xad, 0x26, 0xfb,
|
||||
0x0d, 0x3c, 0xae, 0xc0, 0xfe, 0xcf, 0x0e, 0xbc, 0xf5, 0xda, 0x79, 0xb8, 0x26, 0x00, 0x67, 0x87,
|
||||
0x8c, 0x29, 0xd9, 0xc6, 0x90, 0x79, 0x02, 0xdb, 0x33, 0x53, 0x47, 0x01, 0xe1, 0xe1, 0x8c, 0x2d,
|
||||
0x69, 0x20, 0xf2, 0x2c, 0x4b, 0xb9, 0x0c, 0x68, 0x42, 0x4e, 0x63, 0xfb, 0x16, 0x72, 0xf1, 0x6d,
|
||||
0x0b, 0x9b, 0x18, 0xd4, 0x91, 0x01, 0x3d, 0x31, 0x98, 0xbd, 0xd1, 0xb7, 0x83, 0xdd, 0x77, 0x1f,
|
||||
0x95, 0x4e, 0x9c, 0x76, 0xf5, 0xea, 0xfd, 0xbf, 0x03, 0x00, 0x00, 0xff, 0xff, 0x38, 0x5d, 0x51,
|
||||
0xf8, 0x76, 0x0d, 0x00, 0x00,
|
||||
// 1539 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x57, 0xcd, 0x72, 0xdb, 0x46,
|
||||
0x12, 0x5e, 0x90, 0x14, 0x09, 0x36, 0x49, 0x99, 0x1e, 0x7b, 0x6d, 0xf8, 0xaf, 0x44, 0xc3, 0xeb,
|
||||
0x5a, 0x9d, 0xe4, 0x2d, 0xef, 0x56, 0x79, 0x77, 0x1d, 0x57, 0x42, 0x51, 0x2c, 0x5b, 0xfe, 0xa1,
|
||||
0x55, 0x10, 0x65, 0x27, 0xb9, 0xa0, 0x46, 0xc0, 0x88, 0x9c, 0x10, 0x04, 0x10, 0xcc, 0x50, 0x2e,
|
||||
0xfa, 0x01, 0x72, 0x4e, 0xe5, 0x92, 0x6b, 0xce, 0xc9, 0x2d, 0x4f, 0x91, 0x5b, 0xde, 0x20, 0x0f,
|
||||
0x90, 0x43, 0x9e, 0x21, 0xd5, 0x33, 0x43, 0x12, 0x94, 0x44, 0x59, 0xa9, 0x9c, 0x72, 0xe2, 0xf4,
|
||||
0x37, 0x3d, 0x8d, 0xfe, 0xef, 0x26, 0x34, 0x52, 0xca, 0x33, 0x1e, 0x0f, 0xb6, 0xd2, 0x2c, 0x91,
|
||||
0x09, 0xb1, 0xd5, 0xcf, 0xe1, 0xe4, 0xc8, 0xfd, 0xde, 0x82, 0xf2, 0x36, 0x0d, 0x46, 0x93, 0x94,
|
||||
0x5c, 0x85, 0xb5, 0x20, 0x4a, 0x82, 0x91, 0x63, 0xb5, 0xac, 0xcd, 0x92, 0xa7, 0x09, 0xb2, 0x0e,
|
||||
0x05, 0x1e, 0x3a, 0x85, 0x96, 0xb5, 0x59, 0xf5, 0x0a, 0x3c, 0x24, 0x1f, 0x83, 0x1d, 0x24, 0xb1,
|
||||
0xa4, 0x81, 0x14, 0x4e, 0xb1, 0x55, 0xdc, 0xac, 0x3d, 0xbc, 0xb7, 0x35, 0x93, 0xb6, 0xb5, 0x3f,
|
||||
0x8d, 0x83, 0xdd, 0x58, 0x48, 0x1a, 0x45, 0x54, 0xf2, 0x24, 0xee, 0x68, 0xce, 0x37, 0x0f, 0xbd,
|
||||
0xf9, 0x23, 0xf2, 0x3f, 0xa8, 0x05, 0xc9, 0x78, 0x3c, 0x89, 0xb9, 0xe4, 0x4c, 0x38, 0x25, 0x25,
|
||||
0xe3, 0xfa, 0xb2, 0x8c, 0x8e, 0x61, 0x98, 0x7a, 0x79, 0x5e, 0xf7, 0x2b, 0x0b, 0x9a, 0x7b, 0x94,
|
||||
0x67, 0xf9, 0x4f, 0xac, 0x50, 0xfb, 0x9f, 0x70, 0x89, 0xe7, 0xb8, 0xfc, 0xb9, 0x0d, 0xeb, 0x79,
|
||||
0x78, 0x37, 0x24, 0x1b, 0x50, 0x0b, 0xd9, 0x31, 0x0f, 0x98, 0x2f, 0xa7, 0x29, 0x73, 0x8a, 0x8a,
|
||||
0x09, 0x34, 0xd4, 0x9f, 0xa6, 0x8c, 0x10, 0x28, 0xc5, 0x74, 0xcc, 0x9c, 0x92, 0xba, 0x51, 0x67,
|
||||
0xf7, 0x57, 0x0b, 0xae, 0xaf, 0xb0, 0xf5, 0x82, 0x6e, 0xbc, 0x07, 0x8d, 0x34, 0x4b, 0x8e, 0x78,
|
||||
0xc4, 0x7c, 0x3e, 0xa6, 0x83, 0xd9, 0x87, 0xeb, 0x06, 0xdc, 0x45, 0x8c, 0xdc, 0x00, 0x9b, 0xc5,
|
||||
0xc2, 0xcf, 0x7d, 0xbe, 0xc2, 0x62, 0xd1, 0xa3, 0x63, 0x46, 0xee, 0x42, 0x3d, 0xa2, 0x42, 0xfa,
|
||||
0x93, 0x34, 0xa4, 0x92, 0x85, 0xce, 0x9a, 0xfa, 0x58, 0x0d, 0xb1, 0x03, 0x0d, 0xa1, 0x65, 0x62,
|
||||
0x2a, 0x24, 0x1b, 0xfb, 0x92, 0x0e, 0x84, 0x53, 0x6e, 0x15, 0xd1, 0x32, 0x0d, 0xf5, 0xe9, 0x40,
|
||||
0x90, 0xfb, 0xb0, 0x1e, 0x25, 0x01, 0x8d, 0xfc, 0x98, 0x07, 0x23, 0xf5, 0x91, 0x8a, 0xfa, 0x48,
|
||||
0x43, 0xa1, 0x3d, 0x03, 0xba, 0xbf, 0x14, 0xe1, 0xc6, 0xca, 0xc0, 0x92, 0x7f, 0xc1, 0xd5, 0xbc,
|
||||
0x22, 0xbe, 0x7a, 0x1b, 0x4d, 0x8d, 0xf5, 0x24, 0xa7, 0xd0, 0x4b, 0x7d, 0xf3, 0x17, 0x76, 0x05,
|
||||
0xc6, 0x96, 0x86, 0x21, 0x0b, 0x9d, 0x6a, 0xcb, 0xda, 0xb4, 0x3d, 0x4d, 0x10, 0x07, 0x2a, 0x87,
|
||||
0x18, 0x64, 0x16, 0x3a, 0xa0, 0xf0, 0x19, 0x89, 0xfc, 0xe3, 0x09, 0xea, 0x54, 0xd3, 0xfc, 0x8a,
|
||||
0x40, 0xfe, 0x8c, 0x8d, 0x93, 0x63, 0x16, 0x3a, 0x75, 0xcd, 0x6f, 0x48, 0xd2, 0x82, 0xfa, 0x90,
|
||||
0x0a, 0x5f, 0x89, 0xf5, 0x27, 0xc2, 0x69, 0xa8, 0x6b, 0x18, 0x52, 0xd1, 0x46, 0xe8, 0x40, 0x90,
|
||||
0x07, 0x70, 0xe5, 0x98, 0x65, 0xfc, 0x88, 0x07, 0x3a, 0xaf, 0x85, 0xa4, 0x72, 0x22, 0x9c, 0xf5,
|
||||
0x96, 0xb5, 0x59, 0xf4, 0x48, 0xfe, 0x6a, 0x5f, 0xdd, 0xa0, 0x77, 0x64, 0x36, 0x11, 0x72, 0xc6,
|
||||
0x79, 0x49, 0x71, 0xd6, 0x14, 0xa6, 0x59, 0xdc, 0x77, 0xa7, 0x93, 0xb9, 0x1d, 0x04, 0xc9, 0x24,
|
||||
0x5e, 0x95, 0xcc, 0xa7, 0x22, 0x56, 0x38, 0x23, 0x62, 0x27, 0xc3, 0x52, 0x3c, 0x15, 0x16, 0x77,
|
||||
0x1b, 0x6e, 0x9e, 0xfc, 0xf0, 0xde, 0xe4, 0x30, 0xe2, 0x41, 0x67, 0x48, 0x2f, 0x58, 0x48, 0xee,
|
||||
0x6f, 0x05, 0x68, 0x2c, 0xb5, 0x8c, 0x0f, 0xbe, 0xab, 0xab, 0xac, 0xdb, 0x80, 0x5a, 0x9a, 0xf1,
|
||||
0x63, 0x2a, 0x99, 0x3f, 0x62, 0x53, 0xa5, 0x5d, 0xdd, 0x03, 0x03, 0xbd, 0x60, 0x53, 0xd2, 0xc2,
|
||||
0xc6, 0x20, 0x82, 0x8c, 0xa7, 0xa8, 0x97, 0x4a, 0xba, 0xba, 0x97, 0x87, 0xc8, 0x35, 0x28, 0x7f,
|
||||
0x91, 0xf0, 0xd8, 0xa4, 0x9c, 0xed, 0x19, 0x8a, 0xdc, 0x04, 0x5b, 0x07, 0x82, 0x85, 0x4e, 0x59,
|
||||
0xdd, 0xcc, 0xe9, 0x45, 0x46, 0x54, 0xf2, 0x19, 0xf1, 0x1a, 0x9a, 0x19, 0xfb, 0x72, 0xc2, 0x84,
|
||||
0x14, 0xbe, 0x4c, 0x7c, 0x94, 0xe3, 0xd8, 0xaa, 0x31, 0xde, 0x5f, 0xd5, 0x18, 0x0d, 0x7b, 0x3f,
|
||||
0x79, 0x9e, 0xf0, 0xd8, 0x5b, 0xcf, 0x96, 0x68, 0xf2, 0x18, 0x6c, 0xc1, 0xa4, 0xe4, 0xf1, 0x40,
|
||||
0xa8, 0x5c, 0xad, 0x3d, 0xdc, 0x58, 0x21, 0x68, 0xdf, 0xb0, 0x79, 0xf3, 0x07, 0xe4, 0x36, 0x54,
|
||||
0x59, 0x1c, 0x64, 0xd3, 0x54, 0xce, 0x33, 0x7a, 0x01, 0xb8, 0x3f, 0x5b, 0x70, 0xeb, 0x1c, 0x55,
|
||||
0x8c, 0xa3, 0xad, 0xb9, 0xa3, 0xef, 0x00, 0xa4, 0x2a, 0xa8, 0xca, 0xcf, 0x3a, 0x70, 0x55, 0x8d,
|
||||
0xa0, 0x9b, 0xe7, 0xd1, 0x2a, 0xe6, 0xa3, 0x75, 0x4e, 0xb9, 0x5f, 0x87, 0x4a, 0x30, 0xa4, 0x12,
|
||||
0x3b, 0xfa, 0x9a, 0xba, 0x29, 0x23, 0xb9, 0x1b, 0x62, 0xc2, 0xcd, 0x86, 0xc5, 0x14, 0x6f, 0xcb,
|
||||
0x3a, 0x62, 0x73, 0x6c, 0x57, 0x79, 0x1f, 0xcb, 0x40, 0x57, 0x77, 0xc9, 0xd3, 0x84, 0xfb, 0x4d,
|
||||
0x01, 0x9a, 0x27, 0xf3, 0x90, 0x3c, 0xc9, 0xcd, 0x39, 0x4b, 0x85, 0xe2, 0xee, 0x07, 0xe7, 0x5c,
|
||||
0x6e, 0xca, 0x3d, 0x85, 0xba, 0xb1, 0x1a, 0xb5, 0x13, 0x4e, 0x41, 0x89, 0xf8, 0xc7, 0x6a, 0x11,
|
||||
0x8b, 0xc4, 0xf7, 0x6a, 0xe9, 0xfc, 0x2c, 0xc8, 0x63, 0xa8, 0x50, 0x5d, 0x8c, 0xca, 0x43, 0xe7,
|
||||
0xaa, 0x61, 0xaa, 0xd6, 0x9b, 0xbd, 0xf8, 0x33, 0xb3, 0xf6, 0x11, 0x5c, 0x52, 0xb7, 0xa8, 0x90,
|
||||
0xe9, 0x4e, 0x17, 0x2b, 0xc8, 0x8f, 0xe0, 0xea, 0xec, 0xe1, 0x2b, 0x26, 0x04, 0x1d, 0x30, 0xe1,
|
||||
0x31, 0x7a, 0xd1, 0xd7, 0x9f, 0xc0, 0x35, 0x7c, 0xdd, 0x0e, 0x24, 0x3f, 0xe6, 0x72, 0xda, 0x61,
|
||||
0xb1, 0x64, 0xd9, 0x39, 0xef, 0x9b, 0x50, 0xe4, 0xa1, 0x76, 0x6f, 0xdd, 0xc3, 0xa3, 0xbb, 0xa3,
|
||||
0x9b, 0xca, 0xb2, 0x84, 0x76, 0x10, 0x30, 0xcc, 0xde, 0x0b, 0x4b, 0xe9, 0xea, 0x24, 0x5f, 0x96,
|
||||
0xb2, 0xc3, 0xc5, 0x98, 0x0b, 0xf1, 0x07, 0xc4, 0x7c, 0x67, 0x41, 0x1d, 0xe5, 0x6c, 0x27, 0xc9,
|
||||
0x68, 0x4c, 0xb3, 0xd1, 0xea, 0x87, 0x93, 0x2c, 0x32, 0x6e, 0xc0, 0xe3, 0x7c, 0xeb, 0x28, 0x2e,
|
||||
0xb6, 0x0e, 0x72, 0x0b, 0xaa, 0xaa, 0xdd, 0xfa, 0xc8, 0xab, 0xab, 0xc2, 0x56, 0xc0, 0x41, 0x16,
|
||||
0xe5, 0x87, 0xca, 0xda, 0xf2, 0x50, 0xb9, 0x03, 0x10, 0xb2, 0x88, 0xe1, 0x70, 0xa6, 0x52, 0x55,
|
||||
0x45, 0xc9, 0xab, 0x1a, 0xa4, 0x2d, 0xdd, 0xe7, 0x3a, 0xf9, 0x3b, 0x11, 0xa3, 0xd9, 0x33, 0x2e,
|
||||
0x64, 0x92, 0x4d, 0xf3, 0x35, 0x66, 0x2d, 0xd5, 0xd8, 0x1d, 0x80, 0x00, 0x19, 0xb5, 0xac, 0x82,
|
||||
0x96, 0x65, 0x90, 0xb6, 0x74, 0x7f, 0xb2, 0x80, 0xa0, 0xb0, 0x3d, 0x3d, 0x08, 0xf6, 0x78, 0x20,
|
||||
0x27, 0xd9, 0x62, 0x85, 0xb2, 0x72, 0xc6, 0x38, 0x50, 0x49, 0xe9, 0x34, 0x4a, 0xe8, 0xac, 0x29,
|
||||
0xcf, 0x48, 0x74, 0xd1, 0x3b, 0x1e, 0xca, 0xa1, 0xb2, 0xbd, 0xe1, 0x69, 0x02, 0x9b, 0xed, 0x90,
|
||||
0xf1, 0xc1, 0x50, 0x2a, 0xcb, 0x1b, 0x9e, 0xa1, 0xd0, 0x29, 0x6a, 0x10, 0x09, 0xfe, 0x9e, 0x29,
|
||||
0xcb, 0x1b, 0x9e, 0x8d, 0xc0, 0x3e, 0x7f, 0xcf, 0x70, 0x50, 0x65, 0x0c, 0x6f, 0x7c, 0x49, 0xb3,
|
||||
0x01, 0xd3, 0xd6, 0x37, 0xbc, 0xba, 0x06, 0xfb, 0x0a, 0x5b, 0x84, 0xa4, 0x92, 0x0b, 0x89, 0x3b,
|
||||
0x84, 0x2b, 0xa7, 0x2d, 0x11, 0xe8, 0x99, 0x11, 0x9b, 0xfa, 0x93, 0x85, 0x67, 0x46, 0x6c, 0x7a,
|
||||
0xc0, 0x43, 0xf2, 0x5f, 0xb0, 0x53, 0xc3, 0x64, 0x8a, 0xfd, 0xf6, 0x72, 0x9d, 0x2d, 0x4b, 0xf2,
|
||||
0xe6, 0xdc, 0xee, 0x0f, 0x05, 0xb8, 0x8c, 0x0c, 0x6f, 0x69, 0x14, 0x31, 0x79, 0xfe, 0xe4, 0x75,
|
||||
0xa0, 0x42, 0xc3, 0x30, 0x63, 0x42, 0xcc, 0xbc, 0x66, 0x48, 0xf4, 0xcf, 0x3b, 0x25, 0x40, 0xb9,
|
||||
0xcd, 0xf6, 0x0c, 0x85, 0xbe, 0xc7, 0xd8, 0x29, 0xaf, 0xd9, 0x9e, 0x3a, 0x23, 0xa6, 0x96, 0x5d,
|
||||
0xdd, 0x3f, 0xd5, 0x19, 0x25, 0x63, 0xec, 0x71, 0x9a, 0x97, 0x75, 0xc3, 0x35, 0x24, 0x72, 0xa7,
|
||||
0x54, 0x0e, 0xcd, 0x46, 0xa4, 0xce, 0x38, 0x22, 0xe6, 0x2d, 0xdc, 0xb1, 0x95, 0x26, 0xb9, 0x9e,
|
||||
0x3e, 0x8b, 0x77, 0x35, 0x17, 0x6f, 0xb4, 0x27, 0x89, 0x92, 0x4c, 0x0d, 0x94, 0xaa, 0xa7, 0x09,
|
||||
0x15, 0x55, 0x1e, 0x86, 0x2c, 0x36, 0x1b, 0x92, 0xa1, 0x56, 0xaf, 0x48, 0xee, 0x2b, 0x9d, 0x61,
|
||||
0x4b, 0xce, 0x12, 0xe4, 0x11, 0xd8, 0xa6, 0xe7, 0xcd, 0xba, 0xf5, 0xad, 0x65, 0xef, 0x2f, 0xf1,
|
||||
0x7b, 0x73, 0x66, 0xf7, 0x5b, 0x0b, 0xfe, 0x7e, 0xe6, 0x3c, 0x5c, 0x11, 0x80, 0x93, 0x43, 0x46,
|
||||
0x97, 0xec, 0xd2, 0x90, 0xe9, 0xc2, 0xc6, 0x50, 0xd7, 0x91, 0x4f, 0xb3, 0x60, 0xc8, 0x8f, 0x99,
|
||||
0x2f, 0x26, 0x69, 0x9a, 0x64, 0xd2, 0x67, 0x31, 0x3d, 0x8c, 0xcc, 0x2e, 0x64, 0x7b, 0xb7, 0x0d,
|
||||
0x5b, 0x5b, 0x73, 0xed, 0x6b, 0xa6, 0xae, 0xe6, 0x71, 0x7f, 0xb4, 0x74, 0x07, 0xee, 0xe3, 0xa6,
|
||||
0x86, 0xbb, 0x1f, 0xcb, 0x2e, 0xf8, 0xdf, 0xe2, 0x09, 0x94, 0xcd, 0xb2, 0x87, 0xdf, 0x59, 0x3f,
|
||||
0xb9, 0x43, 0xe4, 0x04, 0x6e, 0xf5, 0x17, 0x6b, 0xa0, 0x67, 0x1e, 0xb9, 0xff, 0x87, 0x5a, 0x0e,
|
||||
0x26, 0x35, 0xa8, 0x1c, 0xf4, 0x5e, 0xf4, 0x5e, 0xbf, 0xed, 0x35, 0xff, 0x86, 0x44, 0xdf, 0x3b,
|
||||
0xd8, 0xef, 0x77, 0x77, 0x9a, 0x16, 0xb9, 0x0c, 0x8d, 0x83, 0x9e, 0x22, 0xdf, 0xbe, 0xf6, 0xfa,
|
||||
0xcf, 0x3e, 0x6b, 0x16, 0xdc, 0xaf, 0x8b, 0x7a, 0x97, 0x7c, 0x93, 0x5b, 0x44, 0xcd, 0x7e, 0xb0,
|
||||
0x42, 0x79, 0x02, 0xa5, 0xa3, 0x2c, 0x19, 0x1b, 0xf5, 0xd5, 0x19, 0x0d, 0x92, 0x89, 0x69, 0x7d,
|
||||
0x05, 0x99, 0x60, 0xb6, 0x05, 0x43, 0x0c, 0x60, 0x3c, 0x98, 0xad, 0x03, 0x0b, 0x00, 0x43, 0x62,
|
||||
0xb6, 0x1f, 0xdd, 0x95, 0xcc, 0xfe, 0x3f, 0xc7, 0xda, 0x12, 0x37, 0xb2, 0x8c, 0x89, 0x34, 0x89,
|
||||
0xc5, 0x2c, 0xbb, 0xe7, 0x34, 0xb6, 0xb4, 0x8c, 0xa5, 0x11, 0xd7, 0x8f, 0x75, 0x0f, 0xa8, 0x1a,
|
||||
0xa4, 0x2d, 0x09, 0x3b, 0x7b, 0xe1, 0xb6, 0x95, 0x67, 0xff, 0xb3, 0xec, 0xd9, 0x33, 0xac, 0xde,
|
||||
0x7a, 0x73, 0x6a, 0x25, 0x3f, 0x6b, 0x4d, 0x77, 0x3f, 0x05, 0x72, 0x9a, 0xf3, 0x94, 0xef, 0xf7,
|
||||
0xba, 0xbd, 0x9d, 0xdd, 0xde, 0xd3, 0xa6, 0x45, 0xea, 0x60, 0xb7, 0x3b, 0x9d, 0xee, 0x1e, 0x46,
|
||||
0xa2, 0x80, 0xd4, 0x4e, 0xb7, 0xf3, 0x72, 0xb7, 0xd7, 0xdd, 0x69, 0x16, 0x91, 0xea, 0xb4, 0x7b,
|
||||
0x9d, 0xee, 0xcb, 0xee, 0x4e, 0xb3, 0xb4, 0xdd, 0xf8, 0xbc, 0xb6, 0xf5, 0xe0, 0xf1, 0x4c, 0xcf,
|
||||
0xc3, 0xb2, 0x3a, 0xfd, 0xfb, 0xf7, 0x00, 0x00, 0x00, 0xff, 0xff, 0xac, 0x00, 0x9e, 0x9c, 0x12,
|
||||
0x10, 0x00, 0x00,
|
||||
}
|
||||
|
|
|
@ -41,6 +41,8 @@ message SyncInstallationContactV2 {
|
|||
bool muted = 11;
|
||||
bool removed = 12;
|
||||
bool has_added_us = 13;
|
||||
int64 verification_status = 14;
|
||||
int64 trust_status = 15;
|
||||
}
|
||||
|
||||
message SyncInstallationAccount {
|
||||
|
@ -162,3 +164,34 @@ message SyncCommunitySettings {
|
|||
string community_id = 2;
|
||||
bool history_archive_support_enabled = 3;
|
||||
}
|
||||
|
||||
message SyncTrustedUser {
|
||||
uint64 clock = 1;
|
||||
string id = 2;
|
||||
TrustStatus status = 3;
|
||||
|
||||
enum TrustStatus {
|
||||
UNKNOWN = 0;
|
||||
TRUSTED = 1;
|
||||
UNTRUSTWORTHY = 2;
|
||||
}
|
||||
}
|
||||
|
||||
message SyncVerificationRequest {
|
||||
uint64 clock = 1;
|
||||
string from = 2;
|
||||
string to = 3;
|
||||
string challenge = 4;
|
||||
uint64 requested_at = 5;
|
||||
string response = 6;
|
||||
uint64 replied_at = 7;
|
||||
VerificationStatus verification_status = 8;
|
||||
|
||||
enum VerificationStatus {
|
||||
UNKNOWN = 0;
|
||||
PENDING = 1;
|
||||
ACCEPTED = 2;
|
||||
DECLINED = 3;
|
||||
CANCELED = 4;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,7 +4,7 @@ import (
|
|||
"github.com/golang/protobuf/proto"
|
||||
)
|
||||
|
||||
//go:generate protoc --go_out=. ./chat_message.proto ./application_metadata_message.proto ./membership_update_message.proto ./command.proto ./contact.proto ./pairing.proto ./push_notifications.proto ./emoji_reaction.proto ./enums.proto ./group_chat_invitation.proto ./chat_identity.proto ./communities.proto ./pin_message.proto ./anon_metrics.proto ./status_update.proto ./sync_settings.proto
|
||||
//go:generate protoc --go_out=. ./chat_message.proto ./application_metadata_message.proto ./membership_update_message.proto ./command.proto ./contact.proto ./pairing.proto ./push_notifications.proto ./emoji_reaction.proto ./enums.proto ./group_chat_invitation.proto ./chat_identity.proto ./communities.proto ./pin_message.proto ./anon_metrics.proto ./status_update.proto ./sync_settings.proto ./contact_verification.proto
|
||||
|
||||
func Unmarshal(payload []byte) (*ApplicationMetadataMessage, error) {
|
||||
var message ApplicationMetadataMessage
|
||||
|
|
|
@ -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(1597848235, 0)}
|
||||
info := bindataFileInfo{name: "1593601729_initial_schema.down.sql", size: 144, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1597848235, 0)}
|
||||
info := bindataFileInfo{name: "1593601729_initial_schema.up.sql", size: 1773, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1604313406, 0)}
|
||||
info := bindataFileInfo{name: "1597909626_add_server_type.down.sql", size: 0, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1604313406, 0)}
|
||||
info := bindataFileInfo{name: "1597909626_add_server_type.up.sql", size: 145, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1604313406, 0)}
|
||||
info := bindataFileInfo{name: "1599053776_add_chat_id_and_type.down.sql", size: 0, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1604313406, 0)}
|
||||
info := bindataFileInfo{name: "1599053776_add_chat_id_and_type.up.sql", size: 264, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1597848235, 0)}
|
||||
info := bindataFileInfo{name: "doc.go", size: 382, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1597848235, 0)}
|
||||
info := bindataFileInfo{name: "1593601728_initial_schema.down.sql", size: 200, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1597848235, 0)}
|
||||
info := bindataFileInfo{name: "1593601728_initial_schema.up.sql", size: 675, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1604313406, 0)}
|
||||
info := bindataFileInfo{name: "1598419937_add_push_notifications_table.down.sql", size: 51, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1604313406, 0)}
|
||||
info := bindataFileInfo{name: "1598419937_add_push_notifications_table.up.sql", size: 104, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1597848235, 0)}
|
||||
info := bindataFileInfo{name: "doc.go", size: 382, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
|
|
@ -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(1622467450, 0)}
|
||||
info := bindataFileInfo{name: "1561059284_add_waku_keys.down.sql", size: 22, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1622467450, 0)}
|
||||
info := bindataFileInfo{name: "1561059284_add_waku_keys.up.sql", size: 109, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1625049989, 0)}
|
||||
info := bindataFileInfo{name: "1616691080_add_wakuV2_keys.down.sql", size: 24, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1625049989, 0)}
|
||||
info := bindataFileInfo{name: "1616691080_add_wakuV2_keys.up.sql", size: 111, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1637329330, 0)}
|
||||
info := bindataFileInfo{name: "1634723014_add_wakuV2_keys.up.sql", size: 125, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1622467450, 0)}
|
||||
info := bindataFileInfo{name: "doc.go", size: 373, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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
|
||||
}
|
||||
|
|
|
@ -282,6 +282,18 @@ func (m *StatusMessage) HandleApplication() error {
|
|||
return m.unmarshalProtobufData(new(protobuf.RetractContactRequest))
|
||||
case protobuf.ApplicationMetadataMessage_SYNC_COMMUNITY_SETTINGS:
|
||||
return m.unmarshalProtobufData(new(protobuf.SyncCommunitySettings))
|
||||
case protobuf.ApplicationMetadataMessage_REQUEST_CONTACT_VERIFICATION:
|
||||
return m.unmarshalProtobufData(new(protobuf.RequestContactVerification))
|
||||
case protobuf.ApplicationMetadataMessage_ACCEPT_CONTACT_VERIFICATION:
|
||||
return m.unmarshalProtobufData(new(protobuf.AcceptContactVerification))
|
||||
case protobuf.ApplicationMetadataMessage_CONTACT_VERIFICATION_TRUSTED:
|
||||
return m.unmarshalProtobufData(new(protobuf.ContactVerificationTrusted))
|
||||
case protobuf.ApplicationMetadataMessage_DECLINE_CONTACT_VERIFICATION:
|
||||
return m.unmarshalProtobufData(new(protobuf.DeclineContactVerification))
|
||||
case protobuf.ApplicationMetadataMessage_SYNC_TRUSTED_USER:
|
||||
return m.unmarshalProtobufData((new(protobuf.SyncTrustedUser)))
|
||||
case protobuf.ApplicationMetadataMessage_SYNC_VERIFICATION_REQUEST:
|
||||
return m.unmarshalProtobufData((new(protobuf.SyncVerificationRequest)))
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
|
|
@ -0,0 +1,275 @@
|
|||
package verification
|
||||
|
||||
import (
|
||||
"database/sql"
|
||||
"errors"
|
||||
"time"
|
||||
)
|
||||
|
||||
var (
|
||||
ErrVerificationRequestNotFound = errors.New("verification request not found")
|
||||
)
|
||||
|
||||
type Persistence struct {
|
||||
db *sql.DB
|
||||
}
|
||||
|
||||
func NewPersistence(db *sql.DB) *Persistence {
|
||||
return &Persistence{
|
||||
db: db,
|
||||
}
|
||||
}
|
||||
|
||||
type RequestStatus int
|
||||
|
||||
const (
|
||||
RequestStatusUNKNOWN RequestStatus = iota
|
||||
RequestStatusPENDING
|
||||
RequestStatusACCEPTED
|
||||
RequestStatusDECLINED
|
||||
RequestStatusCANCELED
|
||||
RequestStatusTRUSTED
|
||||
)
|
||||
|
||||
type TrustStatus int
|
||||
|
||||
const (
|
||||
TrustStatusUNKNOWN TrustStatus = iota
|
||||
TrustStatusTRUSTED
|
||||
TrustStatusUNTRUSTWORTHY
|
||||
)
|
||||
|
||||
type Request struct {
|
||||
From string `json:"from"`
|
||||
To string `json:"to"`
|
||||
Challenge string `json:"challenge"`
|
||||
Response string `json:"response"`
|
||||
RequestedAt uint64 `json:"requested_at"`
|
||||
RequestStatus RequestStatus `json:"verification_status"`
|
||||
RepliedAt uint64 `json:"replied_at"`
|
||||
}
|
||||
|
||||
func (p *Persistence) GetVerificationRequests() ([]Request, error) {
|
||||
rows, err := p.db.Query("SELECT from_user, to_user, challenge, response, requested_at, verification_status, replied_at FROM verification_requests")
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer rows.Close()
|
||||
|
||||
var result []Request
|
||||
for rows.Next() {
|
||||
var vr Request
|
||||
err = rows.Scan(&vr.From, &vr.To, &vr.Challenge, &vr.Response, &vr.RequestedAt, &vr.RepliedAt, &vr.RequestStatus)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
result = append(result, vr)
|
||||
}
|
||||
return result, nil
|
||||
}
|
||||
|
||||
func (p *Persistence) GetVerificationRequestFrom(contactID string) (*Request, error) {
|
||||
var vr Request
|
||||
err := p.db.QueryRow(`SELECT from_user, to_user, challenge, response, requested_at, verification_status, replied_at FROM verification_requests WHERE from_user = ?`, contactID).Scan(
|
||||
&vr.From,
|
||||
&vr.To,
|
||||
&vr.Challenge,
|
||||
&vr.Response,
|
||||
&vr.RequestedAt,
|
||||
&vr.RequestStatus,
|
||||
&vr.RepliedAt,
|
||||
)
|
||||
|
||||
switch err {
|
||||
case sql.ErrNoRows:
|
||||
return nil, nil
|
||||
case nil:
|
||||
return &vr, nil
|
||||
default:
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
func (p *Persistence) GetReceivedVerificationRequests(myPublicKey string) ([]*Request, error) {
|
||||
response := make([]*Request, 0)
|
||||
|
||||
query := `SELECT from_user, to_user, challenge, response, requested_at, verification_status, replied_at FROM verification_requests WHERE to_user = ?`
|
||||
rows, err := p.db.Query(query, myPublicKey)
|
||||
if err == sql.ErrNoRows {
|
||||
return nil, nil
|
||||
} else if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
for rows.Next() {
|
||||
var vr Request
|
||||
|
||||
err := rows.Scan(
|
||||
&vr.From,
|
||||
&vr.To,
|
||||
&vr.Challenge,
|
||||
&vr.Response,
|
||||
&vr.RequestedAt,
|
||||
&vr.RequestStatus,
|
||||
&vr.RepliedAt,
|
||||
)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
response = append(response, &vr)
|
||||
}
|
||||
|
||||
return response, nil
|
||||
}
|
||||
|
||||
func (p *Persistence) GetVerificationRequestSentTo(contactID string) (*Request, error) {
|
||||
var vr Request
|
||||
err := p.db.QueryRow(`SELECT from_user, to_user, challenge, response, requested_at, verification_status, replied_at FROM verification_requests WHERE to_user = ?`, contactID).Scan(
|
||||
&vr.From,
|
||||
&vr.To,
|
||||
&vr.Challenge,
|
||||
&vr.Response,
|
||||
&vr.RequestedAt,
|
||||
&vr.RequestStatus,
|
||||
&vr.RepliedAt,
|
||||
)
|
||||
|
||||
switch err {
|
||||
case sql.ErrNoRows:
|
||||
return nil, nil
|
||||
case nil:
|
||||
return &vr, nil
|
||||
default:
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
func (p *Persistence) SaveVerificationRequest(vr *Request) error {
|
||||
if vr == nil {
|
||||
return errors.New("invalid verification request provided")
|
||||
}
|
||||
_, err := p.db.Exec(`INSERT INTO verification_requests (from_user, to_user, challenge, response, requested_at, verification_status, replied_at) VALUES (?, ?, ?, ?, ?, ?, ?)`, vr.From, vr.To, vr.Challenge, vr.Response, vr.RequestedAt, vr.RequestStatus, vr.RepliedAt)
|
||||
return err
|
||||
}
|
||||
|
||||
func (p *Persistence) AcceptContactVerificationRequest(contactID string, response string) error {
|
||||
result, err := p.db.Exec("UPDATE verification_requests SET response = ?, replied_at = ?, verification_status = ? WHERE from_user = ?", response, time.Now().Unix(), RequestStatusACCEPTED, contactID)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
numRows, err := result.RowsAffected()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if numRows == 0 {
|
||||
return ErrVerificationRequestNotFound
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (p *Persistence) DeclineContactVerificationRequest(contactID string) error {
|
||||
result, err := p.db.Exec("UPDATE verification_requests SET response = '', replied_at = ?, verification_status = ? WHERE from_user = ?", time.Now().Unix(), RequestStatusDECLINED, contactID)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
numRows, err := result.RowsAffected()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if numRows == 0 {
|
||||
return ErrVerificationRequestNotFound
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (p *Persistence) UpsertVerificationRequest(request *Request) (shouldSync bool, err error) {
|
||||
var dbRequestedAt uint64
|
||||
var dbRepliedAt uint64
|
||||
err = p.db.QueryRow(`SELECT requested_at, replied_at FROM verification_requests WHERE from_user = ? AND to_user = ?`, request.From, request.To).Scan(&dbRequestedAt, &dbRepliedAt)
|
||||
if err == sql.ErrNoRows {
|
||||
return true, p.SaveVerificationRequest(request)
|
||||
}
|
||||
|
||||
if err == nil && ((dbRequestedAt < request.RequestedAt) || (dbRepliedAt < request.RepliedAt && dbRepliedAt != 0)) {
|
||||
_, err := p.db.Exec("UPDATE verification_requests SET challenge = ?, response = ?, requested_at = ?, replied_at = ?, verification_status = ? WHERE from_user = ? AND to_user = ?",
|
||||
request.Challenge,
|
||||
request.Response,
|
||||
request.RequestedAt,
|
||||
request.RepliedAt,
|
||||
request.RequestStatus,
|
||||
request.From,
|
||||
request.To)
|
||||
if err == nil {
|
||||
shouldSync = true
|
||||
}
|
||||
return shouldSync, err
|
||||
}
|
||||
|
||||
return false, err
|
||||
}
|
||||
|
||||
func (p *Persistence) SetTrustStatus(contactID string, trust TrustStatus, updatedAt uint64) error {
|
||||
_, err := p.db.Exec(`INSERT INTO trusted_users (id, trust_status, updated_at) VALUES (?, ?, ?)`, contactID, trust, updatedAt)
|
||||
return err
|
||||
}
|
||||
|
||||
func (p *Persistence) UpsertTrustStatus(contactID string, trust TrustStatus, updatedAt uint64) (shouldSync bool, err error) {
|
||||
var t uint64
|
||||
err = p.db.QueryRow(`SELECT updated_at FROM trusted_users WHERE id = ?`, contactID).Scan(&t)
|
||||
|
||||
if err == sql.ErrNoRows {
|
||||
return true, p.SetTrustStatus(contactID, trust, updatedAt)
|
||||
}
|
||||
|
||||
if err == nil && updatedAt > t {
|
||||
_, err := p.db.Exec("UPDATE trusted_users SET trust_status = ?, updated_at = ? WHERE id = ?", trust, updatedAt, contactID)
|
||||
if err != nil {
|
||||
return true, err
|
||||
}
|
||||
}
|
||||
|
||||
return false, err
|
||||
}
|
||||
|
||||
func (p *Persistence) GetTrustStatus(contactID string) (TrustStatus, error) {
|
||||
var t TrustStatus
|
||||
err := p.db.QueryRow(`SELECT trust_status FROM trusted_users WHERE id = ?`, contactID).Scan(&t)
|
||||
|
||||
switch err {
|
||||
case sql.ErrNoRows:
|
||||
return TrustStatusUNKNOWN, nil
|
||||
case nil:
|
||||
return t, nil
|
||||
default:
|
||||
return TrustStatusUNKNOWN, err
|
||||
}
|
||||
}
|
||||
|
||||
func (p *Persistence) GetAllTrustStatus() (map[string]TrustStatus, error) {
|
||||
result := make(map[string]TrustStatus)
|
||||
rows, err := p.db.Query("SELECT id, trust_status FROM trusted_users")
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer rows.Close()
|
||||
|
||||
for rows.Next() {
|
||||
var id string
|
||||
var ts TrustStatus
|
||||
err = rows.Scan(&id, &ts)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
result[id] = ts
|
||||
}
|
||||
|
||||
return result, nil
|
||||
}
|
|
@ -0,0 +1,190 @@
|
|||
package verification
|
||||
|
||||
import (
|
||||
"io/ioutil"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/stretchr/testify/suite"
|
||||
|
||||
"github.com/status-im/status-go/protocol/sqlite"
|
||||
)
|
||||
|
||||
func TestPersistenceSuite(t *testing.T) {
|
||||
suite.Run(t, new(PersistenceSuite))
|
||||
}
|
||||
|
||||
type PersistenceSuite struct {
|
||||
suite.Suite
|
||||
|
||||
db *Persistence
|
||||
}
|
||||
|
||||
func (s *PersistenceSuite) SetupTest() {
|
||||
s.db = nil
|
||||
|
||||
dbPath, err := ioutil.TempFile("", "")
|
||||
s.NoError(err, "creating temp file for db")
|
||||
|
||||
db, err := sqlite.Open(dbPath.Name(), "")
|
||||
s.NoError(err, "creating sqlite db instance")
|
||||
|
||||
s.db = &Persistence{db: db}
|
||||
}
|
||||
|
||||
func (s *PersistenceSuite) TestVerificationRequests() {
|
||||
request := &Request{
|
||||
From: "0x01",
|
||||
To: "0x02",
|
||||
Challenge: "ABC",
|
||||
Response: "",
|
||||
RequestedAt: uint64(time.Unix(1000, 0).Unix()),
|
||||
RepliedAt: uint64(time.Unix(0, 0).Unix()),
|
||||
RequestStatus: RequestStatusPENDING,
|
||||
}
|
||||
|
||||
// Test Insert
|
||||
err := s.db.SaveVerificationRequest(request)
|
||||
s.NoError(err)
|
||||
|
||||
// Test Found
|
||||
dbRequest, err := s.db.GetVerificationRequestFrom("0x01")
|
||||
s.NoError(err)
|
||||
s.Equal(request, dbRequest)
|
||||
|
||||
// Test Not Found
|
||||
dbRequest2, err := s.db.GetVerificationRequestFrom("0x02")
|
||||
s.NoError(err)
|
||||
s.Nil(dbRequest2)
|
||||
|
||||
// Test Found
|
||||
dbRequest3, err := s.db.GetVerificationRequestSentTo("0x02")
|
||||
s.NoError(err)
|
||||
s.Equal(request, dbRequest3)
|
||||
|
||||
// Test Accept
|
||||
err = s.db.AcceptContactVerificationRequest("0x01", "XYZ")
|
||||
s.NoError(err)
|
||||
|
||||
dbRequest, err = s.db.GetVerificationRequestFrom("0x01")
|
||||
s.NoError(err)
|
||||
s.Equal(RequestStatusACCEPTED, dbRequest.RequestStatus)
|
||||
s.Equal("XYZ", dbRequest.Response)
|
||||
s.NotEqual(time.Unix(0, 0), dbRequest.RepliedAt)
|
||||
|
||||
// Test Decline
|
||||
request = &Request{
|
||||
From: "0x03",
|
||||
To: "0x02",
|
||||
Challenge: "ABC",
|
||||
Response: "",
|
||||
RequestedAt: uint64(time.Unix(1000, 0).Unix()),
|
||||
RepliedAt: uint64(time.Unix(0, 0).Unix()),
|
||||
RequestStatus: RequestStatusPENDING,
|
||||
}
|
||||
|
||||
err = s.db.SaveVerificationRequest(request)
|
||||
s.NoError(err)
|
||||
|
||||
err = s.db.DeclineContactVerificationRequest("0x03")
|
||||
s.NoError(err)
|
||||
|
||||
dbRequest, err = s.db.GetVerificationRequestFrom("0x03")
|
||||
s.NoError(err)
|
||||
s.Equal(RequestStatusDECLINED, dbRequest.RequestStatus)
|
||||
s.NotEqual(time.Unix(0, 0), dbRequest.RepliedAt)
|
||||
|
||||
// Test Upsert fails because of older record
|
||||
ogDbRequestStatus := dbRequest.RequestStatus
|
||||
dbRequest.RequestStatus = RequestStatusPENDING
|
||||
shouldSync, err := s.db.UpsertVerificationRequest(dbRequest)
|
||||
s.NoError(err)
|
||||
s.False(shouldSync)
|
||||
|
||||
dbRequest.RequestStatus = ogDbRequestStatus
|
||||
dbRequest2, err = s.db.GetVerificationRequestFrom("0x03")
|
||||
s.NoError(err)
|
||||
s.Equal(dbRequest, dbRequest2)
|
||||
|
||||
// Test upsert success (update)
|
||||
dbRequest2.RequestStatus = RequestStatusPENDING
|
||||
dbRequest2.RepliedAt = dbRequest2.RepliedAt + 100
|
||||
shouldSync, err = s.db.UpsertVerificationRequest(dbRequest2)
|
||||
s.NoError(err)
|
||||
s.True(shouldSync)
|
||||
|
||||
// Test upsert success (insert)
|
||||
verifReq := &Request{
|
||||
From: "0x0A",
|
||||
To: "0x0B",
|
||||
Challenge: "123",
|
||||
Response: "456",
|
||||
RequestedAt: uint64(time.Now().Unix()),
|
||||
RepliedAt: uint64(time.Now().Unix()),
|
||||
RequestStatus: RequestStatusPENDING,
|
||||
}
|
||||
|
||||
shouldSync, err = s.db.UpsertVerificationRequest(verifReq)
|
||||
s.NoError(err)
|
||||
s.True(shouldSync)
|
||||
|
||||
dbRequest, err = s.db.GetVerificationRequestFrom("0x0A")
|
||||
s.NoError(err)
|
||||
s.Equal(verifReq.To, dbRequest.To)
|
||||
}
|
||||
|
||||
func (s *PersistenceSuite) TestTrustStatus() {
|
||||
|
||||
err := s.db.SetTrustStatus("0x01", TrustStatusTRUSTED, 1000)
|
||||
s.NoError(err)
|
||||
|
||||
err = s.db.SetTrustStatus("0x02", TrustStatusUNKNOWN, 1001)
|
||||
s.NoError(err)
|
||||
|
||||
trustStatus, err := s.db.GetTrustStatus("0x01")
|
||||
s.NoError(err)
|
||||
s.Equal(TrustStatusTRUSTED, trustStatus)
|
||||
|
||||
err = s.db.SetTrustStatus("0x01", TrustStatusUNTRUSTWORTHY, 1000)
|
||||
s.NoError(err)
|
||||
|
||||
trustStatus, err = s.db.GetTrustStatus("0x01")
|
||||
s.NoError(err)
|
||||
s.Equal(TrustStatusUNTRUSTWORTHY, trustStatus)
|
||||
|
||||
trustStatus, err = s.db.GetTrustStatus("0x03")
|
||||
s.NoError(err)
|
||||
s.Equal(TrustStatusUNKNOWN, trustStatus)
|
||||
|
||||
statuses, err := s.db.GetAllTrustStatus()
|
||||
s.NoError(err)
|
||||
|
||||
s.Len(statuses, 2)
|
||||
s.Equal(TrustStatusUNTRUSTWORTHY, statuses["0x01"])
|
||||
s.Equal(TrustStatusUNKNOWN, statuses["0x02"])
|
||||
|
||||
// Upsert
|
||||
success, err := s.db.UpsertTrustStatus("0x03", TrustStatusTRUSTED, 1000)
|
||||
s.NoError(err)
|
||||
s.True(success)
|
||||
|
||||
trustStatus, err = s.db.GetTrustStatus("0x03")
|
||||
s.NoError(err)
|
||||
s.Equal(TrustStatusTRUSTED, trustStatus)
|
||||
|
||||
success, err = s.db.UpsertTrustStatus("0x03", TrustStatusUNKNOWN, 500) // should not be successful without error, because of being older than latest value in the DB
|
||||
s.NoError(err)
|
||||
s.False(success)
|
||||
|
||||
trustStatus, err = s.db.GetTrustStatus("0x03")
|
||||
s.NoError(err)
|
||||
s.Equal(TrustStatusTRUSTED, trustStatus)
|
||||
|
||||
success, err = s.db.UpsertTrustStatus("0x03", TrustStatusUNKNOWN, 1500)
|
||||
s.NoError(err)
|
||||
s.False(success)
|
||||
|
||||
trustStatus, err = s.db.GetTrustStatus("0x03")
|
||||
s.NoError(err)
|
||||
s.Equal(TrustStatusUNKNOWN, trustStatus)
|
||||
}
|
|
@ -27,6 +27,7 @@ import (
|
|||
"github.com/status-im/status-go/protocol/requests"
|
||||
"github.com/status-im/status-go/protocol/transport"
|
||||
"github.com/status-im/status-go/protocol/urls"
|
||||
"github.com/status-im/status-go/protocol/verification"
|
||||
"github.com/status-im/status-go/services/ext/mailservers"
|
||||
)
|
||||
|
||||
|
@ -734,6 +735,58 @@ func (api *PublicAPI) SetDisplayName(ctx context.Context, displayName string) er
|
|||
return api.service.messenger.SetDisplayName(displayName)
|
||||
}
|
||||
|
||||
func (api *PublicAPI) MarkAsTrusted(ctx context.Context, contactID string) error {
|
||||
return api.service.messenger.MarkAsTrusted(ctx, contactID)
|
||||
}
|
||||
|
||||
func (api *PublicAPI) MarkAsUntrustworthy(ctx context.Context, contactID string) error {
|
||||
return api.service.messenger.MarkAsUntrustworthy(ctx, contactID)
|
||||
}
|
||||
|
||||
func (api *PublicAPI) RemoveTrustStatus(ctx context.Context, contactID string) error {
|
||||
return api.service.messenger.RemoveTrustStatus(ctx, contactID)
|
||||
}
|
||||
|
||||
func (api *PublicAPI) GetTrustStatus(ctx context.Context, contactID string) (verification.TrustStatus, error) {
|
||||
return api.service.messenger.GetTrustStatus(contactID)
|
||||
}
|
||||
|
||||
func (api *PublicAPI) SendContactVerificationRequest(ctx context.Context, contactID string, challenge string) error {
|
||||
return api.service.messenger.SendContactVerificationRequest(ctx, contactID, challenge)
|
||||
}
|
||||
|
||||
func (api *PublicAPI) GetVerificationRequestFrom(ctx context.Context, contactID string) (*verification.Request, error) {
|
||||
return api.service.messenger.GetVerificationRequestFrom(ctx, contactID)
|
||||
}
|
||||
|
||||
func (api *PublicAPI) GetReceivedVerificationRequests(ctx context.Context) ([]*verification.Request, error) {
|
||||
return api.service.messenger.GetReceivedVerificationRequests(ctx)
|
||||
}
|
||||
|
||||
func (api *PublicAPI) GetVerificationRequestSentTo(ctx context.Context, contactID string) (*verification.Request, error) {
|
||||
return api.service.messenger.GetVerificationRequestSentTo(ctx, contactID)
|
||||
}
|
||||
|
||||
func (api *PublicAPI) CancelVerificationRequest(ctx context.Context, contactID string) error {
|
||||
return api.service.messenger.CancelVerificationRequest(ctx, contactID)
|
||||
}
|
||||
|
||||
func (api *PublicAPI) AcceptContactVerificationRequest(ctx context.Context, contactID string, response string) error {
|
||||
return api.service.messenger.AcceptContactVerificationRequest(ctx, contactID, response)
|
||||
}
|
||||
|
||||
func (api *PublicAPI) DeclineContactVerificationRequest(ctx context.Context, contactID string) error {
|
||||
return api.service.messenger.DeclineContactVerificationRequest(ctx, contactID)
|
||||
}
|
||||
|
||||
func (api *PublicAPI) VerifiedTrusted(ctx context.Context, contactID string) error {
|
||||
return api.service.messenger.VerifiedTrusted(ctx, contactID)
|
||||
}
|
||||
|
||||
func (api *PublicAPI) VerifiedUntrustworthy(ctx context.Context, contactID string) error {
|
||||
return api.service.messenger.VerifiedUntrustworthy(ctx, contactID)
|
||||
}
|
||||
|
||||
func (api *PublicAPI) SendPairInstallation(ctx context.Context) (*protocol.MessengerResponse, error) {
|
||||
return api.service.messenger.SendPairInstallation(ctx)
|
||||
}
|
||||
|
|
|
@ -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(1647884149, 0)}
|
||||
info := bindataFileInfo{name: "emojis.txt", size: 28134, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "../config/README.md", size: 3031, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1631628269, 0)}
|
||||
info := bindataFileInfo{name: "../config/cli/anon-metric-node-client.json", size: 857, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1631628269, 0)}
|
||||
info := bindataFileInfo{name: "../config/cli/anon-metric-node-server.json", size: 696, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1641901099, 0)}
|
||||
info := bindataFileInfo{name: "../config/cli/fleet-eth.prod.json", size: 4470, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1640110246, 0)}
|
||||
info := bindataFileInfo{name: "../config/cli/fleet-eth.staging.json", size: 2145, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1640110247, 0)}
|
||||
info := bindataFileInfo{name: "../config/cli/fleet-eth.test.json", size: 2174, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1647884149, 0)}
|
||||
info := bindataFileInfo{name: "../config/cli/fleet-status.prod.json", size: 1920, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1647339453, 0)}
|
||||
info := bindataFileInfo{name: "../config/cli/fleet-status.test.json", size: 937, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1640110247, 0)}
|
||||
info := bindataFileInfo{name: "../config/cli/fleet-wakuv2.prod.json", size: 747, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1640110247, 0)}
|
||||
info := bindataFileInfo{name: "../config/cli/fleet-wakuv2.test.json", size: 748, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1586880790, 0)}
|
||||
info := bindataFileInfo{name: "../config/cli/les-enabled.json", size: 58, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1586880790, 0)}
|
||||
info := bindataFileInfo{name: "../config/cli/mailserver-enabled.json", size: 176, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1586880790, 0)}
|
||||
info := bindataFileInfo{name: "../config/status-chain-genesis.json", size: 612, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1586880790, 0)}
|
||||
info := bindataFileInfo{name: "keys/bootnode.key", size: 65, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1541622131, 0)}
|
||||
info := bindataFileInfo{name: "keys/firebaseauthkey", size: 153, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1586880790, 0)}
|
||||
info := bindataFileInfo{name: "keys/test-account1-status-chain.pk", size: 489, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1586880790, 0)}
|
||||
info := bindataFileInfo{name: "keys/test-account1.pk", size: 491, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1586880790, 0)}
|
||||
info := bindataFileInfo{name: "keys/test-account2-status-chain.pk", size: 489, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1586880790, 0)}
|
||||
info := bindataFileInfo{name: "keys/test-account2.pk", size: 491, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1586880790, 0)}
|
||||
info := bindataFileInfo{name: "keys/test-account3-before-eip55.pk", size: 489, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1586880790, 0)}
|
||||
info := bindataFileInfo{name: "config/public-chain-accounts.json", size: 307, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1586880790, 0)}
|
||||
info := bindataFileInfo{name: "config/status-chain-accounts.json", size: 543, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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(1586880790, 0)}
|
||||
info := bindataFileInfo{name: "config/test-data.json", size: 84, mode: os.FileMode(0664), modTime: time.Unix(1656957386, 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