Initial support for mutual contact requests
This commit is contained in:
parent
63e58ba035
commit
1bfde4c4cc
|
@ -103,7 +103,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(1653038120, 0)}
|
||||
info := bindataFileInfo{name: "1640111208_dummy.up.sql", size: 258, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3e, 0xf0, 0xae, 0x20, 0x6e, 0x75, 0xd1, 0x36, 0x14, 0xf2, 0x40, 0xe5, 0xd6, 0x7a, 0xc4, 0xa5, 0x72, 0xaa, 0xb5, 0x4d, 0x71, 0x97, 0xb8, 0xe8, 0x95, 0x22, 0x95, 0xa2, 0xac, 0xaf, 0x48, 0x58}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -123,7 +123,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(1653038120, 0)}
|
||||
info := bindataFileInfo{name: "1642666031_add_removed_clock_to_bookmarks.up.sql", size: 117, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x84, 0x4e, 0x38, 0x99, 0x7a, 0xc, 0x90, 0x13, 0xec, 0xfe, 0x2f, 0x55, 0xff, 0xb7, 0xb6, 0xaa, 0x96, 0xc6, 0x92, 0x79, 0xcc, 0xee, 0x4e, 0x99, 0x53, 0xfe, 0x1c, 0xbb, 0x32, 0x2, 0xa4, 0x27}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -143,7 +143,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(1653038120, 0)}
|
||||
info := bindataFileInfo{name: "1643644541_gif_api_key_setting.up.sql", size: 108, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x1b, 0x94, 0x28, 0xfb, 0x66, 0xd1, 0x7c, 0xb8, 0x89, 0xe2, 0xb4, 0x71, 0x65, 0x24, 0x57, 0x22, 0x95, 0x38, 0x97, 0x3, 0x9b, 0xc6, 0xa4, 0x41, 0x7b, 0xba, 0xf7, 0xdb, 0x70, 0xf7, 0x20, 0x3a}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -163,7 +163,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(1653038120, 0)}
|
||||
info := bindataFileInfo{name: "1644188994_recent_stickers.up.sql", size: 79, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x1e, 0xad, 0xaa, 0x30, 0xbf, 0x4, 0x7, 0xf8, 0xc3, 0x3, 0xb8, 0x97, 0x23, 0x2b, 0xbd, 0x1c, 0x60, 0x69, 0xb0, 0x42, 0x5e, 0x6b, 0xd, 0xa7, 0xa3, 0x6b, 0x2e, 0xdc, 0x70, 0x13, 0x72, 0x7}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -183,7 +183,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(1653038120, 0)}
|
||||
info := bindataFileInfo{name: "1646659233_add_address_to_dapp_permisssion.up.sql", size: 700, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xed, 0xb0, 0x35, 0xcc, 0x2e, 0x16, 0xe6, 0x15, 0x86, 0x2c, 0x37, 0x80, 0xae, 0xa3, 0xc5, 0x31, 0x78, 0x5, 0x9d, 0xcd, 0x7b, 0xeb, 0x5f, 0xf2, 0xb3, 0x74, 0x72, 0xdf, 0xcf, 0x88, 0xb, 0x40}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -203,7 +203,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(1653038120, 0)}
|
||||
info := bindataFileInfo{name: "1646841105_add_emoji_account.up.sql", size: 96, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe6, 0x77, 0x29, 0x95, 0x18, 0x64, 0x82, 0x63, 0xe7, 0xaf, 0x6c, 0xa9, 0x15, 0x7d, 0x46, 0xa6, 0xbc, 0xdf, 0xa7, 0xd, 0x2b, 0xd2, 0x2d, 0x97, 0x4d, 0xa, 0x6b, 0xd, 0x6e, 0x90, 0x42, 0x5c}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -223,7 +223,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(1653038120, 0)}
|
||||
info := bindataFileInfo{name: "1647278782_display_name.up.sql", size: 110, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf4, 0xa1, 0x1f, 0x3e, 0x61, 0x65, 0x8d, 0xff, 0xee, 0xde, 0xc5, 0x91, 0xd9, 0x5c, 0xb5, 0xe2, 0xf0, 0xb7, 0xe7, 0x5c, 0x5c, 0x16, 0x25, 0x89, 0xee, 0x78, 0x12, 0xea, 0x3e, 0x48, 0x41, 0xa6}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -243,7 +243,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(1653038120, 0)}
|
||||
info := bindataFileInfo{name: "1647862838_reset_last_backup.up.sql", size: 37, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x21, 0xe3, 0xd5, 0xf6, 0x5f, 0xfe, 0x65, 0xfa, 0x1d, 0x88, 0xf8, 0x5f, 0x24, 0x71, 0x34, 0x68, 0x96, 0x2a, 0x60, 0x87, 0x15, 0x82, 0x4d, 0x8a, 0x59, 0x3d, 0x1f, 0xd8, 0x56, 0xd4, 0xfb, 0xda}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -263,7 +263,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(1653038120, 0)}
|
||||
info := bindataFileInfo{name: "1647871652_add_settings_sync_clock_table.up.sql", size: 1044, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd8, 0x58, 0xec, 0x85, 0x90, 0xfa, 0x30, 0x98, 0x98, 0x9a, 0xa6, 0xa8, 0x96, 0x2b, 0x38, 0x93, 0xf3, 0xae, 0x46, 0x74, 0xa4, 0x41, 0x62, 0x9b, 0x2, 0x86, 0xbf, 0xe5, 0x2a, 0xce, 0xe2, 0xc0}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -283,7 +283,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(1653038120, 0)}
|
||||
info := bindataFileInfo{name: "1647880168_add_torrent_config.up.sql", size: 211, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x1, 0x92, 0x22, 0x37, 0x96, 0xf3, 0xb5, 0x5b, 0x27, 0xd0, 0x7d, 0x43, 0x5, 0x4e, 0x9d, 0xe2, 0x49, 0xbe, 0x86, 0x31, 0xa1, 0x89, 0xff, 0xd6, 0x51, 0xe0, 0x9c, 0xb, 0xda, 0xfc, 0xf2, 0x93}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -303,7 +303,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(1653038120, 0)}
|
||||
info := bindataFileInfo{name: "1647882837_add_communities_settings_table.up.sql", size: 206, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xbd, 0x87, 0x78, 0x99, 0xd9, 0x5d, 0xbd, 0xf7, 0x57, 0x9c, 0xca, 0x97, 0xbd, 0xb3, 0xe9, 0xb5, 0x89, 0x31, 0x3f, 0xf6, 0x5c, 0x13, 0xb, 0xc3, 0x54, 0x93, 0x18, 0x40, 0x7, 0x82, 0xfe, 0x7e}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -323,7 +323,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(1653038120, 0)}
|
||||
info := bindataFileInfo{name: "1647956635_add_waku_messages_table.up.sql", size: 266, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 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
|
||||
}
|
||||
|
@ -343,7 +343,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(1653038120, 0)}
|
||||
info := bindataFileInfo{name: "1648554928_network_test.up.sql", size: 132, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 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
|
||||
}
|
||||
|
@ -363,7 +363,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(1653038120, 0)}
|
||||
info := bindataFileInfo{name: "1649174829_add_visitble_token.up.sql", size: 84, mode: os.FileMode(0644), modTime: time.Unix(1651569001, 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
|
||||
}
|
||||
|
@ -383,7 +383,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(1653038120, 0)}
|
||||
info := bindataFileInfo{name: "1649882262_add_derived_from_accounts.up.sql", size: 110, mode: os.FileMode(0644), modTime: time.Unix(1651569001, 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
|
||||
}
|
||||
|
@ -403,7 +403,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(1653040431, 0)}
|
||||
info := bindataFileInfo{name: "1650612625_add_community_message_archive_hashes_table.up.sql", size: 130, mode: os.FileMode(0644), modTime: time.Unix(1652180449, 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
|
||||
}
|
||||
|
@ -423,7 +423,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(1653040431, 0)}
|
||||
info := bindataFileInfo{name: "1650616788_add_communities_archives_info_table.up.sql", size: 208, mode: os.FileMode(0644), modTime: time.Unix(1652180449, 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
|
||||
}
|
||||
|
@ -443,7 +443,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(1653040431, 0)}
|
||||
info := bindataFileInfo{name: "1652715604_add_clock_accounts.up.sql", size: 62, mode: os.FileMode(0644), modTime: time.Unix(1653314960, 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
|
||||
}
|
||||
|
@ -463,7 +463,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(1653058540, 0)}
|
||||
info := bindataFileInfo{name: "1653037334_add_notifications_settings_table.up.sql", size: 1276, mode: os.FileMode(0644), modTime: time.Unix(1653980143, 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
|
||||
}
|
||||
|
@ -483,7 +483,7 @@ func docGo() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "doc.go", size: 74, mode: os.FileMode(0644), modTime: time.Unix(1653038120, 0)}
|
||||
info := bindataFileInfo{name: "doc.go", size: 74, mode: os.FileMode(0644), modTime: time.Unix(1648117578, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xde, 0x7c, 0x28, 0xcd, 0x47, 0xf2, 0xfa, 0x7c, 0x51, 0x2d, 0xd8, 0x38, 0xb, 0xb0, 0x34, 0x9d, 0x4c, 0x62, 0xa, 0x9e, 0x28, 0xc3, 0x31, 0x23, 0xd9, 0xbb, 0x89, 0x9f, 0xa0, 0x89, 0x1f, 0xe8}}
|
||||
return a, nil
|
||||
}
|
||||
|
|
|
@ -137,7 +137,7 @@ func _0001_appDownSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "0001_app.down.sql", size: 356, mode: os.FileMode(0644), modTime: time.Unix(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0001_app.down.sql", size: 356, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb5, 0x25, 0xa0, 0xf8, 0x7d, 0x2d, 0xd, 0xcf, 0x18, 0xe4, 0x73, 0xc3, 0x95, 0xf5, 0x24, 0x20, 0xa9, 0xe6, 0x9e, 0x1d, 0x93, 0xe5, 0xc5, 0xad, 0x93, 0x8f, 0x5e, 0x40, 0xb5, 0x30, 0xaa, 0x25}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -157,7 +157,7 @@ func _0001_appUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "0001_app.up.sql", size: 2967, mode: os.FileMode(0644), modTime: time.Unix(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0001_app.up.sql", size: 2967, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf7, 0x3a, 0xa7, 0xf2, 0x8f, 0xfa, 0x82, 0x7c, 0xc5, 0x49, 0xac, 0xac, 0xf, 0xc, 0x77, 0xe2, 0xba, 0xe8, 0x4d, 0xe, 0x6f, 0x5d, 0x2c, 0x2c, 0x18, 0x80, 0xc2, 0x1d, 0xe, 0x25, 0xe, 0x18}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -177,7 +177,7 @@ func _0002_tokensDownSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "0002_tokens.down.sql", size: 19, mode: os.FileMode(0644), modTime: time.Unix(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0002_tokens.down.sql", size: 19, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd1, 0x31, 0x2, 0xcc, 0x2f, 0x38, 0x90, 0xf7, 0x58, 0x37, 0x47, 0xf4, 0x18, 0xf7, 0x72, 0x74, 0x67, 0x14, 0x7e, 0xf3, 0xb1, 0xd6, 0x5f, 0xb0, 0xd5, 0xe7, 0x91, 0xf4, 0x26, 0x77, 0x8e, 0x68}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -197,7 +197,7 @@ func _0002_tokensUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "0002_tokens.up.sql", size: 248, mode: os.FileMode(0644), modTime: time.Unix(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0002_tokens.up.sql", size: 248, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xcc, 0xd6, 0xde, 0xd3, 0x7b, 0xee, 0x92, 0x11, 0x38, 0xa4, 0xeb, 0x84, 0xca, 0xcb, 0x37, 0x75, 0x5, 0x77, 0x7f, 0x14, 0x39, 0xee, 0xa1, 0x8b, 0xd4, 0x5c, 0x6e, 0x55, 0x6, 0x50, 0x16, 0xd4}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -217,7 +217,7 @@ func _0003_settingsDownSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "0003_settings.down.sql", size: 118, mode: os.FileMode(0644), modTime: time.Unix(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0003_settings.down.sql", size: 118, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe5, 0xa6, 0xf5, 0xc0, 0x60, 0x64, 0x77, 0xe2, 0xe7, 0x3c, 0x9b, 0xb1, 0x52, 0xa9, 0x95, 0x16, 0xf8, 0x60, 0x2f, 0xa5, 0xeb, 0x46, 0xb9, 0xb9, 0x8f, 0x4c, 0xf4, 0xfd, 0xbb, 0xe7, 0xe5, 0xe5}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -237,7 +237,7 @@ func _0003_settingsUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "0003_settings.up.sql", size: 1311, mode: os.FileMode(0644), modTime: time.Unix(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0003_settings.up.sql", size: 1311, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xea, 0x35, 0x0, 0xeb, 0xe2, 0x33, 0x68, 0xb9, 0xf4, 0xf6, 0x8e, 0x9e, 0x10, 0xe9, 0x58, 0x68, 0x28, 0xb, 0xcd, 0xec, 0x74, 0x71, 0xa7, 0x9a, 0x5a, 0x77, 0x59, 0xb1, 0x13, 0x1c, 0xa1, 0x5b}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -257,7 +257,7 @@ func _0004_pending_stickersDownSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "0004_pending_stickers.down.sql", size: 0, mode: os.FileMode(0644), modTime: time.Unix(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0004_pending_stickers.down.sql", size: 0, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe3, 0xb0, 0xc4, 0x42, 0x98, 0xfc, 0x1c, 0x14, 0x9a, 0xfb, 0xf4, 0xc8, 0x99, 0x6f, 0xb9, 0x24, 0x27, 0xae, 0x41, 0xe4, 0x64, 0x9b, 0x93, 0x4c, 0xa4, 0x95, 0x99, 0x1b, 0x78, 0x52, 0xb8, 0x55}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -277,7 +277,7 @@ func _0004_pending_stickersUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "0004_pending_stickers.up.sql", size: 61, mode: os.FileMode(0644), modTime: time.Unix(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0004_pending_stickers.up.sql", size: 61, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3c, 0xed, 0x25, 0xdf, 0x75, 0x2, 0x6c, 0xf0, 0xa2, 0xa8, 0x37, 0x62, 0x65, 0xad, 0xfd, 0x98, 0xa0, 0x9d, 0x63, 0x94, 0xdf, 0x6b, 0x46, 0xe0, 0x68, 0xec, 0x9c, 0x7f, 0x77, 0xdd, 0xb3, 0x6}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -297,7 +297,7 @@ func _0005_waku_modeDownSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "0005_waku_mode.down.sql", size: 0, mode: os.FileMode(0644), modTime: time.Unix(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0005_waku_mode.down.sql", size: 0, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe3, 0xb0, 0xc4, 0x42, 0x98, 0xfc, 0x1c, 0x14, 0x9a, 0xfb, 0xf4, 0xc8, 0x99, 0x6f, 0xb9, 0x24, 0x27, 0xae, 0x41, 0xe4, 0x64, 0x9b, 0x93, 0x4c, 0xa4, 0x95, 0x99, 0x1b, 0x78, 0x52, 0xb8, 0x55}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -317,7 +317,7 @@ func _0005_waku_modeUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "0005_waku_mode.up.sql", size: 146, mode: os.FileMode(0644), modTime: time.Unix(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0005_waku_mode.up.sql", size: 146, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa6, 0x91, 0xc, 0xd7, 0x89, 0x61, 0x2e, 0x4c, 0x5a, 0xb6, 0x67, 0xd1, 0xc1, 0x42, 0x24, 0x38, 0xd6, 0x1b, 0x75, 0x41, 0x9c, 0x23, 0xb0, 0xca, 0x5c, 0xf1, 0x5c, 0xd0, 0x13, 0x92, 0x3e, 0xe1}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -337,7 +337,7 @@ func _0006_appearanceUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "0006_appearance.up.sql", size: 67, mode: os.FileMode(0644), modTime: time.Unix(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0006_appearance.up.sql", size: 67, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xae, 0x6, 0x25, 0x6c, 0xe4, 0x9d, 0xa7, 0x72, 0xe8, 0xbc, 0xe4, 0x1f, 0x1e, 0x2d, 0x7c, 0xb7, 0xf6, 0xa3, 0xec, 0x3b, 0x4e, 0x93, 0x2e, 0xa4, 0xec, 0x6f, 0xe5, 0x95, 0x94, 0xe8, 0x4, 0xfb}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -357,7 +357,7 @@ func _0007_enable_waku_defaultUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "0007_enable_waku_default.up.sql", size: 38, mode: os.FileMode(0644), modTime: time.Unix(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0007_enable_waku_default.up.sql", size: 38, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd4, 0x42, 0xb6, 0xe5, 0x48, 0x41, 0xeb, 0xc0, 0x7e, 0x3b, 0xe6, 0x8e, 0x96, 0x33, 0x20, 0x92, 0x24, 0x5a, 0x60, 0xfa, 0xa0, 0x3, 0x5e, 0x76, 0x4b, 0x89, 0xaa, 0x37, 0x66, 0xbc, 0x26, 0x11}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -377,7 +377,7 @@ func _0008_add_push_notificationsUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "0008_add_push_notifications.up.sql", size: 349, mode: os.FileMode(0644), modTime: time.Unix(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0008_add_push_notifications.up.sql", size: 349, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x5a, 0x0, 0xbf, 0xd0, 0xdd, 0xcd, 0x73, 0xe0, 0x7c, 0x56, 0xef, 0xdc, 0x57, 0x61, 0x94, 0x64, 0x70, 0xb9, 0xfa, 0xa1, 0x2a, 0x36, 0xc, 0x2f, 0xf8, 0x95, 0xa, 0x57, 0x3e, 0x7a, 0xd7, 0x12}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -397,7 +397,7 @@ func _0009_enable_sending_push_notificationsDownSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "0009_enable_sending_push_notifications.down.sql", size: 49, mode: os.FileMode(0644), modTime: time.Unix(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0009_enable_sending_push_notifications.down.sql", size: 49, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe9, 0xae, 0x1b, 0x41, 0xcb, 0x9c, 0x2c, 0x93, 0xc6, 0x2a, 0x77, 0x3, 0xb9, 0x51, 0xe0, 0x68, 0x68, 0x0, 0xf7, 0x5b, 0xb3, 0x1e, 0x94, 0x44, 0xba, 0x9c, 0xd0, 0x3b, 0x80, 0x21, 0x6f, 0xb5}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -417,7 +417,7 @@ func _0009_enable_sending_push_notificationsUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "0009_enable_sending_push_notifications.up.sql", size: 49, mode: os.FileMode(0644), modTime: time.Unix(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0009_enable_sending_push_notifications.up.sql", size: 49, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x1b, 0x80, 0xe4, 0x9c, 0xc8, 0xb8, 0xd5, 0xef, 0xce, 0x74, 0x9b, 0x7b, 0xdd, 0xa, 0x99, 0x1e, 0xef, 0x7f, 0xb8, 0x99, 0x84, 0x4, 0x0, 0x6b, 0x1d, 0x2c, 0xa, 0xf8, 0x2c, 0x4f, 0xb5, 0x44}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -437,7 +437,7 @@ func _0010_add_block_mentionsDownSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "0010_add_block_mentions.down.sql", size: 83, mode: os.FileMode(0644), modTime: time.Unix(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0010_add_block_mentions.down.sql", size: 83, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6d, 0x9e, 0x27, 0x1e, 0xba, 0x9f, 0xca, 0xae, 0x98, 0x2e, 0x6e, 0xe3, 0xdd, 0xac, 0x73, 0x34, 0x4e, 0x69, 0x92, 0xb5, 0xf6, 0x9, 0xab, 0x50, 0x35, 0xd, 0xee, 0xeb, 0x3e, 0xcc, 0x7e, 0xce}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -457,7 +457,7 @@ func _0010_add_block_mentionsUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "0010_add_block_mentions.up.sql", size: 89, mode: os.FileMode(0644), modTime: time.Unix(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0010_add_block_mentions.up.sql", size: 89, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd7, 0x23, 0x85, 0xa2, 0xb5, 0xb6, 0xb4, 0x3f, 0xdc, 0x4e, 0xff, 0xe2, 0x6b, 0x66, 0x68, 0x5e, 0xb2, 0xb4, 0x14, 0xb2, 0x1b, 0x4d, 0xb1, 0xce, 0xf7, 0x6, 0x58, 0xa7, 0xaf, 0x93, 0x3f, 0x25}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -477,7 +477,7 @@ func _0011_allow_webview_permission_requestsDownSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "0011_allow_webview_permission_requests.down.sql", size: 0, mode: os.FileMode(0644), modTime: time.Unix(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0011_allow_webview_permission_requests.down.sql", size: 0, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe3, 0xb0, 0xc4, 0x42, 0x98, 0xfc, 0x1c, 0x14, 0x9a, 0xfb, 0xf4, 0xc8, 0x99, 0x6f, 0xb9, 0x24, 0x27, 0xae, 0x41, 0xe4, 0x64, 0x9b, 0x93, 0x4c, 0xa4, 0x95, 0x99, 0x1b, 0x78, 0x52, 0xb8, 0x55}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -497,7 +497,7 @@ func _0011_allow_webview_permission_requestsUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "0011_allow_webview_permission_requests.up.sql", size: 88, mode: os.FileMode(0644), modTime: time.Unix(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0011_allow_webview_permission_requests.up.sql", size: 88, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x43, 0x5f, 0x22, 0x4c, 0x98, 0x1d, 0xc6, 0xf4, 0x89, 0xaf, 0xf4, 0x44, 0xba, 0xf8, 0x28, 0xa7, 0xb5, 0xb9, 0xf0, 0xf2, 0xcb, 0x5, 0x59, 0x7a, 0xc, 0xdf, 0xd3, 0x38, 0xa4, 0xb8, 0x98, 0xc2}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -517,7 +517,7 @@ func _0012_pending_transactionsDownSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "0012_pending_transactions.down.sql", size: 33, mode: os.FileMode(0644), modTime: time.Unix(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0012_pending_transactions.down.sql", size: 33, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7e, 0x41, 0xfe, 0x5c, 0xd8, 0xc3, 0x29, 0xfd, 0x31, 0x78, 0x99, 0x7a, 0xeb, 0x17, 0x62, 0x88, 0x41, 0xb3, 0xe7, 0xb5, 0x5, 0x0, 0x90, 0xa1, 0x7, 0x1a, 0x23, 0x88, 0x81, 0xba, 0x56, 0x9d}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -537,7 +537,7 @@ func _0012_pending_transactionsUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "0012_pending_transactions.up.sql", size: 321, mode: os.FileMode(0644), modTime: time.Unix(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0012_pending_transactions.up.sql", size: 321, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd, 0x17, 0xff, 0xd7, 0xa7, 0x49, 0x1e, 0x7b, 0x34, 0x63, 0x7c, 0x53, 0xaa, 0x6b, 0x2d, 0xc8, 0xe0, 0x82, 0x21, 0x90, 0x3a, 0x94, 0xf1, 0xa6, 0xe4, 0x70, 0xe5, 0x85, 0x1a, 0x48, 0x25, 0xb}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -557,7 +557,7 @@ func _0013_favouritesDownSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "0013_favourites.down.sql", size: 23, mode: os.FileMode(0644), modTime: time.Unix(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0013_favourites.down.sql", size: 23, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x32, 0xf8, 0x55, 0x13, 0x4f, 0x4a, 0x19, 0x83, 0x9c, 0xda, 0x34, 0xb8, 0x3, 0x54, 0x82, 0x1e, 0x99, 0x36, 0x6b, 0x42, 0x3, 0xf6, 0x43, 0xde, 0xe6, 0x32, 0xb6, 0xdf, 0xe2, 0x59, 0x8c, 0x84}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -577,7 +577,7 @@ func _0013_favouritesUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "0013_favourites.up.sql", size: 132, mode: os.FileMode(0644), modTime: time.Unix(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0013_favourites.up.sql", size: 132, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xbe, 0x1, 0x27, 0x38, 0x76, 0xf5, 0xcb, 0x61, 0xda, 0x5b, 0xce, 0xd9, 0x8b, 0x18, 0x77, 0x61, 0x84, 0xe7, 0x22, 0xe2, 0x13, 0x99, 0xab, 0x32, 0xbc, 0xbe, 0xed, 0x1f, 0x2f, 0xb0, 0xe4, 0x8d}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -597,7 +597,7 @@ func _0014_add_use_mailserversDownSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "0014_add_use_mailservers.down.sql", size: 0, mode: os.FileMode(0644), modTime: time.Unix(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0014_add_use_mailservers.down.sql", size: 0, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe3, 0xb0, 0xc4, 0x42, 0x98, 0xfc, 0x1c, 0x14, 0x9a, 0xfb, 0xf4, 0xc8, 0x99, 0x6f, 0xb9, 0x24, 0x27, 0xae, 0x41, 0xe4, 0x64, 0x9b, 0x93, 0x4c, 0xa4, 0x95, 0x99, 0x1b, 0x78, 0x52, 0xb8, 0x55}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -617,7 +617,7 @@ func _0014_add_use_mailserversUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "0014_add_use_mailservers.up.sql", size: 111, mode: os.FileMode(0644), modTime: time.Unix(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0014_add_use_mailservers.up.sql", size: 111, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc9, 0xba, 0x65, 0xbf, 0x1b, 0xc9, 0x6d, 0x45, 0xf2, 0xf5, 0x30, 0x7c, 0xc1, 0xde, 0xb8, 0xe3, 0x3f, 0xa9, 0x2f, 0x9f, 0xea, 0x1, 0x29, 0x29, 0x65, 0xe7, 0x38, 0xab, 0xa4, 0x62, 0xf, 0xd0}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -637,7 +637,7 @@ func _0015_link_previewsDownSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "0015_link_previews.down.sql", size: 0, mode: os.FileMode(0644), modTime: time.Unix(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0015_link_previews.down.sql", size: 0, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe3, 0xb0, 0xc4, 0x42, 0x98, 0xfc, 0x1c, 0x14, 0x9a, 0xfb, 0xf4, 0xc8, 0x99, 0x6f, 0xb9, 0x24, 0x27, 0xae, 0x41, 0xe4, 0x64, 0x9b, 0x93, 0x4c, 0xa4, 0x95, 0x99, 0x1b, 0x78, 0x52, 0xb8, 0x55}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -657,7 +657,7 @@ func _0015_link_previewsUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "0015_link_previews.up.sql", size: 203, mode: os.FileMode(0644), modTime: time.Unix(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0015_link_previews.up.sql", size: 203, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb1, 0xf7, 0x38, 0x25, 0xa6, 0xfc, 0x6b, 0x9, 0xe4, 0xd9, 0xbf, 0x58, 0x7b, 0x80, 0xd8, 0x48, 0x63, 0xde, 0xa5, 0x5e, 0x30, 0xa3, 0xeb, 0x68, 0x8e, 0x6a, 0x9f, 0xfd, 0xf4, 0x46, 0x41, 0x34}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -677,7 +677,7 @@ func _0016_local_notifications_preferencesDownSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "0016_local_notifications_preferences.down.sql", size: 43, mode: os.FileMode(0644), modTime: time.Unix(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0016_local_notifications_preferences.down.sql", size: 43, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe0, 0x50, 0xc7, 0xdd, 0x53, 0x9c, 0x5d, 0x1e, 0xb5, 0x71, 0x25, 0x50, 0x58, 0xcf, 0x6d, 0xbe, 0x5a, 0x8, 0x12, 0xc9, 0x13, 0xd, 0x9a, 0x3d, 0x4b, 0x7a, 0x2f, 0x1b, 0xe5, 0x23, 0x52, 0x78}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -697,7 +697,7 @@ func _0016_local_notifications_preferencesUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "0016_local_notifications_preferences.up.sql", size: 204, mode: os.FileMode(0644), modTime: time.Unix(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0016_local_notifications_preferences.up.sql", size: 204, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3f, 0x3a, 0x16, 0x25, 0xdf, 0xba, 0x62, 0xd3, 0x81, 0x73, 0xc, 0x10, 0x85, 0xbc, 0x8d, 0xe, 0x1d, 0x62, 0xcb, 0xb, 0x6d, 0x8c, 0x4f, 0x63, 0x5f, 0xe2, 0xd, 0xc5, 0x46, 0xa8, 0x35, 0x5b}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -717,7 +717,7 @@ func _0017_bookmarksDownSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "0017_bookmarks.down.sql", size: 22, mode: os.FileMode(0644), modTime: time.Unix(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0017_bookmarks.down.sql", size: 22, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x9a, 0x13, 0x2a, 0x44, 0xb0, 0x3, 0x18, 0x63, 0xb8, 0x33, 0xda, 0x3a, 0xeb, 0xb8, 0xcb, 0xd1, 0x98, 0x29, 0xa7, 0xf0, 0x6, 0x9d, 0xc9, 0x62, 0xe7, 0x89, 0x7f, 0x77, 0xaf, 0xec, 0x6b, 0x8f}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -737,7 +737,7 @@ func _0017_bookmarksUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "0017_bookmarks.up.sql", size: 147, mode: os.FileMode(0644), modTime: time.Unix(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0017_bookmarks.up.sql", size: 147, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xbc, 0x47, 0xe1, 0xe3, 0xd8, 0xc6, 0x4, 0x6d, 0x5f, 0x2f, 0xa, 0x51, 0xa6, 0x8c, 0x6a, 0xe0, 0x3d, 0x8c, 0x91, 0x47, 0xbc, 0x1, 0x75, 0x46, 0x92, 0x2, 0x18, 0x6e, 0xe3, 0x4f, 0x18, 0x57}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -757,7 +757,7 @@ func _0018_profile_pictures_visibilityUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "0018_profile_pictures_visibility.up.sql", size: 84, mode: os.FileMode(0644), modTime: time.Unix(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0018_profile_pictures_visibility.up.sql", size: 84, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc9, 0xe3, 0xc5, 0xec, 0x83, 0x55, 0x45, 0x57, 0x7a, 0xaa, 0xd2, 0xa7, 0x59, 0xa7, 0x87, 0xef, 0x63, 0x19, 0x9c, 0x46, 0x9c, 0xc5, 0x32, 0x89, 0xa4, 0x68, 0x70, 0xd8, 0x83, 0x43, 0xa4, 0x72}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -777,7 +777,7 @@ func _0019_blocks_ranges_extra_dataUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "0019_blocks_ranges_extra_data.up.sql", size: 89, mode: os.FileMode(0644), modTime: time.Unix(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0019_blocks_ranges_extra_data.up.sql", size: 89, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa3, 0x96, 0x32, 0x58, 0xf0, 0xb9, 0xe1, 0x70, 0x81, 0xca, 0x8d, 0x45, 0x57, 0x8a, 0x7, 0x5d, 0x9e, 0x2a, 0x30, 0xb, 0xad, 0x5f, 0xf8, 0xd4, 0x30, 0x94, 0x73, 0x37, 0x8d, 0xc1, 0x9a, 0xed}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -797,7 +797,7 @@ func _0020_metricsUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "0020_metrics.up.sql", size: 235, mode: os.FileMode(0644), modTime: time.Unix(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0020_metrics.up.sql", size: 235, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe8, 0x32, 0xbc, 0xb6, 0x9b, 0x5a, 0x8f, 0x9f, 0x4c, 0x90, 0x81, 0x3e, 0x2e, 0xd1, 0x23, 0xcd, 0xf1, 0x83, 0x35, 0xca, 0x66, 0x87, 0x52, 0x4e, 0x30, 0x3e, 0x4f, 0xa8, 0xfd, 0x30, 0x16, 0xbd}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -817,7 +817,7 @@ func _0021_add_session_id_to_metricsUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "0021_add_session_id_to_metrics.up.sql", size: 55, mode: os.FileMode(0644), modTime: time.Unix(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0021_add_session_id_to_metrics.up.sql", size: 55, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb7, 0x81, 0xfc, 0x97, 0xd1, 0x8b, 0xea, 0x8e, 0xd7, 0xc2, 0x53, 0x62, 0xe9, 0xbc, 0xf, 0x8c, 0x46, 0x41, 0x41, 0xb7, 0x6, 0x35, 0xf5, 0xba, 0xbb, 0x28, 0x50, 0x48, 0xbf, 0x36, 0x90, 0x5c}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -837,7 +837,7 @@ func _0022_pending_transfersUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "0022_pending_transfers.up.sql", size: 706, mode: os.FileMode(0644), modTime: time.Unix(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "0022_pending_transfers.up.sql", size: 706, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6a, 0x9, 0xe6, 0x6, 0xae, 0x60, 0xdd, 0xbb, 0x76, 0xac, 0xe0, 0x57, 0x30, 0x67, 0x37, 0x93, 0x40, 0x13, 0xec, 0xf2, 0x6e, 0x61, 0xa, 0x14, 0xb2, 0xb1, 0xbd, 0x91, 0xf8, 0x89, 0xb3, 0xe3}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -857,7 +857,7 @@ func _1618237885_settings_anon_metrics_should_sendUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1618237885_settings_anon_metrics_should_send.up.sql", size: 80, mode: os.FileMode(0644), modTime: time.Unix(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "1618237885_settings_anon_metrics_should_send.up.sql", size: 80, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xea, 0x6c, 0x1d, 0x1f, 0x54, 0x62, 0x18, 0x22, 0x5c, 0xa7, 0x8c, 0x59, 0x24, 0xd3, 0x4d, 0x55, 0xc4, 0x2a, 0x9e, 0x4c, 0x37, 0x6b, 0xfd, 0xac, 0xec, 0xb7, 0x68, 0x21, 0x26, 0x26, 0xf3, 0x92}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -877,7 +877,7 @@ func _1618395756_contacts_onlyUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1618395756_contacts_only.up.sql", size: 136, mode: os.FileMode(0644), modTime: time.Unix(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "1618395756_contacts_only.up.sql", size: 136, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x1, 0xe3, 0xd0, 0xe7, 0xf2, 0x6e, 0xbf, 0x27, 0xf6, 0xe2, 0x2e, 0x16, 0x4b, 0x52, 0x3b, 0xcf, 0x63, 0x52, 0xfc, 0x1d, 0x43, 0xba, 0x42, 0xf9, 0x1e, 0x1e, 0x39, 0x40, 0xed, 0x0, 0x20, 0xa8}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -897,7 +897,7 @@ func _1622184614_add_default_sync_periodUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1622184614_add_default_sync_period.up.sql", size: 125, mode: os.FileMode(0644), modTime: time.Unix(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "1622184614_add_default_sync_period.up.sql", size: 125, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x60, 0x39, 0xeb, 0x8f, 0xdc, 0x1, 0x56, 0xc1, 0x9b, 0xaa, 0xda, 0x44, 0xe0, 0xdb, 0xda, 0x2c, 0xe7, 0x71, 0x8d, 0xbc, 0xc1, 0x9a, 0x4f, 0x48, 0xe0, 0x5e, 0x81, 0x1e, 0x8e, 0x6a, 0x4d, 0x3}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -917,7 +917,7 @@ func _1625872445_user_statusUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1625872445_user_status.up.sql", size: 351, mode: os.FileMode(0644), modTime: time.Unix(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "1625872445_user_status.up.sql", size: 351, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf5, 0xa, 0xfe, 0x7a, 0xcc, 0x9e, 0x35, 0x26, 0xb, 0xc8, 0xf2, 0x7d, 0xfa, 0x4b, 0xcf, 0x53, 0x20, 0x76, 0xc7, 0xd, 0xbc, 0x78, 0x4f, 0x74, 0x2d, 0x2e, 0x2e, 0x7e, 0x62, 0xae, 0x78, 0x1f}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -937,7 +937,7 @@ func _1627983977_add_gif_to_settingsUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1627983977_add_gif_to_settings.up.sql", size: 102, mode: os.FileMode(0644), modTime: time.Unix(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "1627983977_add_gif_to_settings.up.sql", size: 102, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x63, 0xe6, 0xe1, 0x97, 0x64, 0x4c, 0xe2, 0x14, 0xb1, 0x96, 0x3a, 0xb0, 0xb9, 0xb7, 0xb5, 0x78, 0x4a, 0x39, 0x69, 0x89, 0xb7, 0x89, 0x19, 0xb8, 0x89, 0x1, 0xc5, 0xc2, 0x85, 0x53, 0xe2, 0x83}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -957,7 +957,7 @@ func _1628580203_add_hidden_accountUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1628580203_add_hidden_account.up.sql", size: 67, mode: os.FileMode(0644), modTime: time.Unix(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "1628580203_add_hidden_account.up.sql", size: 67, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xcb, 0x30, 0xf1, 0xd4, 0x60, 0xe2, 0x28, 0x14, 0xcb, 0x16, 0xb, 0x9, 0xea, 0x17, 0xa, 0x9e, 0x89, 0xa8, 0x32, 0x32, 0xf8, 0x4d, 0xa0, 0xe1, 0xe5, 0x79, 0xbd, 0x7d, 0x79, 0xe9, 0x4c, 0x9e}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -977,7 +977,7 @@ func _1629123384_add_id_to_app_metricsUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1629123384_add_id_to_app_metrics.up.sql", size: 589, mode: os.FileMode(0644), modTime: time.Unix(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "1629123384_add_id_to_app_metrics.up.sql", size: 589, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xdf, 0x66, 0xc0, 0x69, 0xb, 0xad, 0x49, 0x7c, 0x8c, 0x67, 0xb8, 0xd6, 0x8d, 0x5d, 0x86, 0x1f, 0xa4, 0x53, 0xf5, 0x8, 0x1, 0xfd, 0x38, 0x49, 0xee, 0x84, 0xc0, 0xd8, 0x17, 0x72, 0x3, 0xb3}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -997,7 +997,7 @@ func _1630401853_add_opensea_enabled_to_settingsUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1630401853_add_opensea_enabled_to_settings.up.sql", size: 70, mode: os.FileMode(0644), modTime: time.Unix(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "1630401853_add_opensea_enabled_to_settings.up.sql", size: 70, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6, 0x91, 0x86, 0x15, 0xc8, 0x99, 0xe3, 0xae, 0xa, 0x6e, 0x94, 0x48, 0x51, 0x5b, 0x18, 0xe0, 0xbc, 0xaf, 0x34, 0x75, 0x55, 0x61, 0xd4, 0xc1, 0x85, 0xc7, 0x3d, 0x99, 0x9e, 0x1f, 0x37, 0x56}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -1017,7 +1017,7 @@ func _1630464455_createSaved_addressesTableDownSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1630464455_create-saved_addresses-table.down.sql", size: 28, mode: os.FileMode(0644), modTime: time.Unix(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "1630464455_create-saved_addresses-table.down.sql", size: 28, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x23, 0x52, 0x39, 0xb5, 0x42, 0xac, 0xcb, 0xa1, 0x44, 0xb7, 0x94, 0x26, 0x24, 0xb2, 0x12, 0xc, 0xc5, 0xbf, 0x63, 0x13, 0x6f, 0x3c, 0x4, 0x7b, 0xf0, 0xd, 0xfa, 0x55, 0x9e, 0x51, 0xf9, 0x7a}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -1037,7 +1037,7 @@ func _1630464455_createSaved_addressesTableUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1630464455_create-saved_addresses-table.up.sql", size: 187, mode: os.FileMode(0644), modTime: time.Unix(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "1630464455_create-saved_addresses-table.up.sql", size: 187, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x32, 0xf, 0x56, 0x18, 0xeb, 0x4e, 0xac, 0xd8, 0xd6, 0x91, 0xae, 0x83, 0xcf, 0x91, 0x9e, 0x4, 0x4b, 0x2, 0x1f, 0x6d, 0xba, 0xf6, 0x3, 0xf2, 0x98, 0x72, 0xf6, 0x91, 0x29, 0x96, 0x0, 0x35}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -1057,7 +1057,7 @@ func _1630485153_networksDownSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1630485153_networks.down.sql", size: 21, mode: os.FileMode(0644), modTime: time.Unix(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "1630485153_networks.down.sql", size: 21, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xbb, 0x3e, 0x57, 0xb7, 0xf7, 0x8, 0xbd, 0xb5, 0xc2, 0xea, 0xc, 0x45, 0xb7, 0x7, 0x9, 0xca, 0xe7, 0x48, 0x7e, 0x56, 0x4e, 0x44, 0x78, 0x8e, 0xe3, 0x87, 0x63, 0xaf, 0x16, 0x3f, 0xf9, 0x71}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -1077,7 +1077,7 @@ func _1630485153_networksUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1630485153_networks.up.sql", size: 394, mode: os.FileMode(0644), modTime: time.Unix(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "1630485153_networks.up.sql", size: 394, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xed, 0x9, 0x1d, 0x3, 0x86, 0xbd, 0xc5, 0xde, 0x3c, 0x1b, 0x40, 0x41, 0x7c, 0x61, 0x8, 0x80, 0x53, 0x87, 0x1b, 0x5a, 0x56, 0xd, 0x88, 0x1d, 0x60, 0x24, 0xce, 0x7b, 0x8f, 0xff, 0xaf, 0x36}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -1097,7 +1097,7 @@ func _1632262444_profile_pictures_show_toUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1632262444_profile_pictures_show_to.up.sql", size: 81, mode: os.FileMode(0644), modTime: time.Unix(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "1632262444_profile_pictures_show_to.up.sql", size: 81, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc3, 0xa2, 0x5a, 0x94, 0xde, 0x86, 0x2a, 0x29, 0xf5, 0xb3, 0x36, 0xe7, 0x53, 0x81, 0x55, 0xc9, 0xb5, 0xc3, 0xf4, 0x8c, 0x65, 0x2c, 0x4c, 0x48, 0xfd, 0x3c, 0xb7, 0x14, 0xb4, 0xea, 0x7a, 0x13}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -1117,7 +1117,7 @@ func _1635942153_add_telemetry_server_url_to_settingsUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1635942153_add_telemetry_server_url_to_settings.up.sql", size: 128, mode: os.FileMode(0644), modTime: time.Unix(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "1635942153_add_telemetry_server_url_to_settings.up.sql", size: 128, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6e, 0x9b, 0x1d, 0x39, 0x9c, 0x8d, 0x50, 0x86, 0xdf, 0xe5, 0x81, 0x55, 0xdc, 0x31, 0xcd, 0xb7, 0xc7, 0x5a, 0x67, 0x3b, 0x21, 0x99, 0xa5, 0x74, 0xb8, 0xd3, 0x58, 0xae, 0x29, 0x68, 0x2a, 0x8d}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -1137,7 +1137,7 @@ func _1635942154_add_backup_settingUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1635942154_add_backup_setting.up.sql", size: 287, mode: os.FileMode(0644), modTime: time.Unix(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "1635942154_add_backup_setting.up.sql", size: 287, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb7, 0xe7, 0xfb, 0x70, 0x80, 0x5, 0xb4, 0x7b, 0x67, 0x8, 0x6e, 0x5f, 0x45, 0x17, 0xd9, 0x5f, 0x18, 0x66, 0x2f, 0x8a, 0x4f, 0xd4, 0x15, 0xe5, 0x2b, 0xbb, 0x25, 0x7a, 0x30, 0xad, 0x4c, 0x1a}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -1157,7 +1157,7 @@ func _1637745568_add_auto_message_settingUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1637745568_add_auto_message_setting.up.sql", size: 122, mode: os.FileMode(0644), modTime: time.Unix(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "1637745568_add_auto_message_setting.up.sql", size: 122, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x1d, 0xd8, 0xd2, 0xc2, 0x3a, 0xd7, 0xf1, 0x96, 0x6a, 0x35, 0xe5, 0x5c, 0xb9, 0xed, 0x4b, 0xf2, 0x5f, 0x80, 0x43, 0xca, 0x40, 0x57, 0x7e, 0xd7, 0x41, 0x9f, 0x70, 0x9f, 0xaf, 0x2a, 0xfc, 0x8f}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -1177,7 +1177,7 @@ func _1640111208_nodeconfigUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1640111208_nodeconfig.up.sql", size: 7659, mode: os.FileMode(0644), modTime: time.Unix(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "1640111208_nodeconfig.up.sql", size: 7659, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x8e, 0x5a, 0xc6, 0xed, 0x6, 0xcb, 0x51, 0x8b, 0x78, 0xe9, 0x10, 0x37, 0xd1, 0xad, 0x9b, 0x76, 0x9a, 0xb9, 0x72, 0x85, 0xe7, 0x8a, 0x7f, 0xf0, 0x81, 0xf8, 0x33, 0x59, 0x67, 0x8e, 0xeb, 0xb1}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -1197,7 +1197,7 @@ func docGo() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "doc.go", size: 85, mode: os.FileMode(0644), modTime: time.Unix(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "doc.go", size: 85, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe5, 0xd2, 0xea, 0xc5, 0xd, 0xc4, 0x7f, 0x95, 0x8e, 0xd5, 0xf5, 0x96, 0xf2, 0x1b, 0xcb, 0xc7, 0xc2, 0x46, 0x1, 0x78, 0x1d, 0x5d, 0x59, 0x19, 0x99, 0xdd, 0x5b, 0xf5, 0x63, 0xa5, 0x25, 0xb8}}
|
||||
return a, nil
|
||||
}
|
||||
|
|
|
@ -86,7 +86,7 @@ func _1557732988_initialize_dbDownSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1557732988_initialize_db.down.sql", size: 72, mode: os.FileMode(0644), modTime: time.Unix(1586880790, 0)}
|
||||
info := bindataFileInfo{name: "1557732988_initialize_db.down.sql", size: 72, mode: os.FileMode(0644), modTime: time.Unix(1648117579, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x77, 0x40, 0x78, 0xb7, 0x71, 0x3c, 0x20, 0x3b, 0xc9, 0xb, 0x2f, 0x49, 0xe4, 0xff, 0x1c, 0x84, 0x54, 0xa1, 0x30, 0xe3, 0x90, 0xf8, 0x73, 0xda, 0xb0, 0x2a, 0xea, 0x8e, 0xf1, 0x82, 0xe7, 0xd2}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -106,7 +106,7 @@ func _1557732988_initialize_dbUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1557732988_initialize_db.up.sql", size: 278, mode: os.FileMode(0644), modTime: time.Unix(1637329330, 0)}
|
||||
info := bindataFileInfo{name: "1557732988_initialize_db.up.sql", size: 278, mode: os.FileMode(0644), modTime: time.Unix(1648117579, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf5, 0x85, 0x41, 0x7a, 0xba, 0x4f, 0xa3, 0x43, 0xc0, 0x63, 0xfa, 0x2c, 0xd1, 0xc5, 0xbb, 0x20, 0xa0, 0x64, 0xa8, 0x3b, 0x65, 0x82, 0xa2, 0x14, 0x28, 0x18, 0x7c, 0x8b, 0x3a, 0x7a, 0xfd, 0xe0}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -126,7 +126,7 @@ func staticGo() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "static.go", size: 178, mode: os.FileMode(0644), modTime: time.Unix(1586880790, 0)}
|
||||
info := bindataFileInfo{name: "static.go", size: 178, mode: os.FileMode(0644), modTime: time.Unix(1648117579, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xab, 0x8a, 0xf4, 0x27, 0x24, 0x9d, 0x2a, 0x1, 0x7b, 0x54, 0xea, 0xae, 0x4a, 0x35, 0x40, 0x92, 0xb5, 0xf9, 0xb3, 0x54, 0x3e, 0x3a, 0x1a, 0x2b, 0xae, 0xfb, 0x9e, 0x82, 0xeb, 0x4c, 0xf, 0x6}}
|
||||
return a, nil
|
||||
}
|
||||
|
|
|
@ -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(0644), modTime: time.Unix(1648117579, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd2, 0x61, 0x4c, 0x18, 0xfc, 0xc, 0xdf, 0x5c, 0x1f, 0x5e, 0xd3, 0xbd, 0xfa, 0x12, 0x5e, 0x8d, 0x8d, 0x8b, 0xb9, 0x5f, 0x99, 0x46, 0x63, 0xa5, 0xe3, 0xa6, 0x8a, 0x4, 0xf1, 0x73, 0x8a, 0xe9}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -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(0644), modTime: time.Unix(1648117579, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf2, 0xfa, 0x99, 0x8e, 0x96, 0xb3, 0x13, 0x6c, 0x1f, 0x6, 0x27, 0xc5, 0xd2, 0xd4, 0xe0, 0xa5, 0x26, 0x82, 0xa7, 0x26, 0xf2, 0x68, 0x9d, 0xed, 0x9c, 0x3d, 0xbb, 0xdc, 0x37, 0x28, 0xbc, 0x1}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -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(0644), modTime: time.Unix(1648117579, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x2f, 0xcf, 0xa7, 0xae, 0xd5, 0x4f, 0xcd, 0x14, 0x63, 0x9, 0xbe, 0x39, 0x49, 0x18, 0x96, 0xb2, 0xa3, 0x8, 0x7d, 0x41, 0xdb, 0x50, 0x5d, 0xf5, 0x4d, 0xa2, 0xd, 0x8f, 0x57, 0x79, 0x77, 0x67}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -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(0644), modTime: time.Unix(1648117579, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x50, 0xb6, 0xc1, 0x5c, 0x76, 0x72, 0x6b, 0x22, 0x34, 0xdc, 0x96, 0xdc, 0x2b, 0xfd, 0x2d, 0xbe, 0xcc, 0x1e, 0xd4, 0x5, 0x93, 0xd, 0xc2, 0x51, 0xf3, 0x1a, 0xef, 0x2b, 0x26, 0xa4, 0xeb, 0x65}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -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(0644), modTime: time.Unix(1648117579, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x90, 0x24, 0x17, 0x7, 0x80, 0x93, 0x6f, 0x8d, 0x5d, 0xaa, 0x8c, 0x79, 0x15, 0x5d, 0xb3, 0x19, 0xd7, 0xd8, 0x39, 0xf9, 0x3a, 0x63, 0x8f, 0x81, 0x15, 0xb6, 0xd6, 0x9a, 0x37, 0xa8, 0x8e, 0x9b}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -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(0644), modTime: time.Unix(1648117579, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xff, 0x4c, 0x97, 0xee, 0xef, 0x82, 0xb8, 0x6c, 0x71, 0xbb, 0x50, 0x7b, 0xe6, 0xd9, 0x22, 0x31, 0x7c, 0x1a, 0xfe, 0x91, 0x28, 0xf6, 0x6, 0x36, 0xe, 0xb1, 0xf1, 0xc8, 0x25, 0xac, 0x7e, 0xd6}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -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(1650623699, 0)}
|
||||
info := bindataFileInfo{name: "1648646095_image_clock.down.sql", size: 939, mode: os.FileMode(0644), modTime: time.Unix(1651569001, 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(1650623699, 0)}
|
||||
info := bindataFileInfo{name: "1648646095_image_clock.up.sql", size: 69, mode: os.FileMode(0644), modTime: time.Unix(1651569001, 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(1650623699, 0)}
|
||||
info := bindataFileInfo{name: "1649317600_add_color_hash.up.sql", size: 201, mode: os.FileMode(0644), modTime: time.Unix(1651569001, 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(0644), modTime: time.Unix(1648117579, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xde, 0x7c, 0x28, 0xcd, 0x47, 0xf2, 0xfa, 0x7c, 0x51, 0x2d, 0xd8, 0x38, 0xb, 0xb0, 0x34, 0x9d, 0x4c, 0x62, 0xa, 0x9e, 0x28, 0xc3, 0x31, 0x23, 0xd9, 0xbb, 0x89, 0x9f, 0xa0, 0x89, 0x1f, 0xe8}}
|
||||
return a, nil
|
||||
}
|
||||
|
|
|
@ -20,6 +20,7 @@ const (
|
|||
ActivityCenterNotificationTypeNewPrivateGroupChat
|
||||
ActivityCenterNotificationTypeMention
|
||||
ActivityCenterNotificationTypeReply
|
||||
ActivityCenterNotificationTypeContactRequest
|
||||
)
|
||||
|
||||
var ErrInvalidActivityCenterNotification = errors.New("invalid activity center notification")
|
||||
|
|
|
@ -116,6 +116,75 @@ func (db sqlitePersistence) SaveActivityCenterNotification(notification *Activit
|
|||
return err
|
||||
}
|
||||
|
||||
func (db sqlitePersistence) unmarshalActivityCenterNotificationRow(row *sql.Row) (*ActivityCenterNotification, error) {
|
||||
var chatID sql.NullString
|
||||
var lastMessageBytes []byte
|
||||
var messageBytes []byte
|
||||
var replyMessageBytes []byte
|
||||
var name sql.NullString
|
||||
var author sql.NullString
|
||||
notification := &ActivityCenterNotification{}
|
||||
err := row.Scan(
|
||||
¬ification.ID,
|
||||
¬ification.Timestamp,
|
||||
¬ification.Type,
|
||||
&chatID,
|
||||
¬ification.Read,
|
||||
¬ification.Accepted,
|
||||
¬ification.Dismissed,
|
||||
&messageBytes,
|
||||
&lastMessageBytes,
|
||||
&replyMessageBytes,
|
||||
&name,
|
||||
&author)
|
||||
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if chatID.Valid {
|
||||
notification.ChatID = chatID.String
|
||||
|
||||
}
|
||||
|
||||
if name.Valid {
|
||||
notification.Name = name.String
|
||||
}
|
||||
|
||||
if author.Valid {
|
||||
notification.Author = author.String
|
||||
}
|
||||
|
||||
// Restore last message
|
||||
if lastMessageBytes != nil {
|
||||
lastMessage := &common.Message{}
|
||||
if err = json.Unmarshal(lastMessageBytes, lastMessage); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
notification.LastMessage = lastMessage
|
||||
}
|
||||
|
||||
// Restore message
|
||||
if messageBytes != nil {
|
||||
message := &common.Message{}
|
||||
if err = json.Unmarshal(messageBytes, message); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
notification.Message = message
|
||||
}
|
||||
|
||||
// Restore reply message
|
||||
if replyMessageBytes != nil {
|
||||
replyMessage := &common.Message{}
|
||||
if err = json.Unmarshal(replyMessageBytes, replyMessage); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
notification.ReplyMessage = replyMessage
|
||||
}
|
||||
|
||||
return notification, nil
|
||||
|
||||
}
|
||||
|
||||
func (db sqlitePersistence) unmarshalActivityCenterNotificationRows(rows *sql.Rows) (string, []*ActivityCenterNotification, error) {
|
||||
var notifications []*ActivityCenterNotification
|
||||
latestCursor := ""
|
||||
|
@ -345,6 +414,30 @@ func (db sqlitePersistence) GetActivityCenterNotificationsByID(ids []types.HexBy
|
|||
return notifications, nil
|
||||
}
|
||||
|
||||
func (db sqlitePersistence) GetActivityCenterNotificationByID(id types.HexBytes) (*ActivityCenterNotification, error) {
|
||||
row := db.db.QueryRow(`
|
||||
SELECT
|
||||
a.id,
|
||||
a.timestamp,
|
||||
a.notification_type,
|
||||
a.chat_id,
|
||||
a.read,
|
||||
a.accepted,
|
||||
a.dismissed,
|
||||
a.message,
|
||||
c.last_message,
|
||||
a.reply_message,
|
||||
c.name,
|
||||
a.author
|
||||
FROM activity_center_notifications a
|
||||
LEFT JOIN chats c
|
||||
ON
|
||||
c.id = a.chat_id
|
||||
WHERE a.id = ?`, id)
|
||||
|
||||
return db.unmarshalActivityCenterNotificationRow(row)
|
||||
}
|
||||
|
||||
func (db sqlitePersistence) ActivityCenterNotifications(currCursor string, limit uint64) (string, []*ActivityCenterNotification, error) {
|
||||
var tx *sql.Tx
|
||||
var err error
|
||||
|
@ -426,7 +519,15 @@ func (db sqlitePersistence) DismissAllActivityCenterNotificationsFromCommunity(c
|
|||
}
|
||||
|
||||
func (db sqlitePersistence) DismissAllActivityCenterNotificationsFromChatID(chatID string) error {
|
||||
_, err := db.db.Exec(`UPDATE activity_center_notifications SET read = 1, dismissed = 1 WHERE NOT dismissed AND NOT accepted AND chat_id = ?`, chatID)
|
||||
// We exclude notifications related to contacts, since those we don't want to be cleared
|
||||
_, err := db.db.Exec(`
|
||||
UPDATE activity_center_notifications SET read = 1, dismissed = 1
|
||||
WHERE
|
||||
NOT dismissed
|
||||
AND NOT accepted
|
||||
AND chat_id = ?
|
||||
AND notification_type != ?
|
||||
`, chatID, ActivityCenterNotificationTypeContactRequest)
|
||||
return err
|
||||
}
|
||||
|
||||
|
@ -491,6 +592,17 @@ func (db sqlitePersistence) AcceptActivityCenterNotifications(ids []types.HexByt
|
|||
return notifications, err
|
||||
}
|
||||
|
||||
func (db sqlitePersistence) UpdateActivityCenterNotificationMessage(id types.HexBytes, message *common.Message) error {
|
||||
encodedMessage, err := json.Marshal(message)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
_, err = db.db.Exec(`UPDATE activity_center_notifications SET message = ? WHERE id = ?`, encodedMessage, id)
|
||||
return err
|
||||
|
||||
}
|
||||
|
||||
func (db sqlitePersistence) AcceptActivityCenterNotificationsForInvitesFromUser(userPublicKey string) ([]*ActivityCenterNotification, error) {
|
||||
var tx *sql.Tx
|
||||
var err error
|
||||
|
|
|
@ -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(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x75, 0xea, 0x1, 0x74, 0xe6, 0xa3, 0x11, 0xd0, 0x86, 0x87, 0x7e, 0x31, 0xb4, 0x1a, 0x27, 0x5d, 0xda, 0x77, 0xa3, 0xf5, 0x1d, 0x88, 0x79, 0xcf, 0xd5, 0x95, 0x75, 0xd, 0x47, 0xa1, 0x90, 0x5}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -106,7 +106,7 @@ func _1619446565_postgres_make_anon_metrics_tableUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1619446565_postgres_make_anon_metrics_table.up.sql", size: 443, mode: os.FileMode(0644), modTime: time.Unix(1631628269, 0)}
|
||||
info := bindataFileInfo{name: "1619446565_postgres_make_anon_metrics_table.up.sql", size: 443, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd5, 0xdc, 0x72, 0x28, 0x3c, 0xf6, 0x94, 0xb0, 0x47, 0x3d, 0xca, 0x55, 0x3d, 0xf7, 0x83, 0xb8, 0x7d, 0x2f, 0x1e, 0x98, 0xb7, 0xde, 0xa, 0xff, 0xa0, 0x52, 0x60, 0x83, 0x56, 0xc5, 0xd1, 0xa2}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -126,7 +126,7 @@ func docGo() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "doc.go", size: 380, mode: os.FileMode(0644), modTime: time.Unix(1631628269, 0)}
|
||||
info := bindataFileInfo{name: "doc.go", size: 380, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x49, 0x1, 0xd4, 0xd6, 0xc7, 0x44, 0xd4, 0xfd, 0x7b, 0x69, 0x1f, 0xe3, 0xe, 0x48, 0x14, 0x99, 0xf0, 0x8e, 0x43, 0xae, 0x54, 0x64, 0xa2, 0x8b, 0x82, 0x1c, 0x2b, 0xb, 0xec, 0xf5, 0xb3, 0xfc}}
|
||||
return a, nil
|
||||
}
|
||||
|
|
|
@ -51,6 +51,14 @@ const (
|
|||
CommandStateTransactionSent
|
||||
)
|
||||
|
||||
type ContactRequestState int
|
||||
|
||||
const (
|
||||
ContactRequestStatePending ContactRequestState = iota + 1
|
||||
ContactRequestStateAccepted
|
||||
ContactRequestStateDismissed
|
||||
)
|
||||
|
||||
type CommandParameters struct {
|
||||
// ID is the ID of the initial message
|
||||
ID string `json:"id"`
|
||||
|
@ -164,6 +172,9 @@ type Message struct {
|
|||
|
||||
// Deleted indicates if a message was deleted
|
||||
Deleted bool `json:"deleted"`
|
||||
|
||||
// ContactRequestState is the state of the contact request message
|
||||
ContactRequestState ContactRequestState `json:"contactRequestState,omitempty"`
|
||||
}
|
||||
|
||||
func (m *Message) PrepareServerURLs(port int) {
|
||||
|
@ -190,75 +201,77 @@ func (m *Message) MarshalJSON() ([]byte, error) {
|
|||
URL string `json:"url"`
|
||||
}
|
||||
item := struct {
|
||||
ID string `json:"id"`
|
||||
WhisperTimestamp uint64 `json:"whisperTimestamp"`
|
||||
From string `json:"from"`
|
||||
Alias string `json:"alias"`
|
||||
Identicon string `json:"identicon"`
|
||||
Seen bool `json:"seen"`
|
||||
OutgoingStatus string `json:"outgoingStatus,omitempty"`
|
||||
QuotedMessage *QuotedMessage `json:"quotedMessage"`
|
||||
RTL bool `json:"rtl"`
|
||||
ParsedText json.RawMessage `json:"parsedText,omitempty"`
|
||||
LineCount int `json:"lineCount"`
|
||||
Text string `json:"text"`
|
||||
ChatID string `json:"chatId"`
|
||||
LocalChatID string `json:"localChatId"`
|
||||
Clock uint64 `json:"clock"`
|
||||
Replace string `json:"replace"`
|
||||
ResponseTo string `json:"responseTo"`
|
||||
New bool `json:"new,omitempty"`
|
||||
EnsName string `json:"ensName"`
|
||||
DisplayName string `json:"displayName"`
|
||||
Image string `json:"image,omitempty"`
|
||||
Audio string `json:"audio,omitempty"`
|
||||
AudioDurationMs uint64 `json:"audioDurationMs,omitempty"`
|
||||
CommunityID string `json:"communityId,omitempty"`
|
||||
Sticker *StickerAlias `json:"sticker,omitempty"`
|
||||
CommandParameters *CommandParameters `json:"commandParameters,omitempty"`
|
||||
GapParameters *GapParameters `json:"gapParameters,omitempty"`
|
||||
Timestamp uint64 `json:"timestamp"`
|
||||
ContentType protobuf.ChatMessage_ContentType `json:"contentType"`
|
||||
MessageType protobuf.MessageType `json:"messageType"`
|
||||
Mentions []string `json:"mentions,omitempty"`
|
||||
Mentioned bool `json:"mentioned,omitempty"`
|
||||
Links []string `json:"links,omitempty"`
|
||||
EditedAt uint64 `json:"editedAt,omitempty"`
|
||||
Deleted bool `json:"deleted,omitempty"`
|
||||
ID string `json:"id"`
|
||||
WhisperTimestamp uint64 `json:"whisperTimestamp"`
|
||||
From string `json:"from"`
|
||||
Alias string `json:"alias"`
|
||||
Identicon string `json:"identicon"`
|
||||
Seen bool `json:"seen"`
|
||||
OutgoingStatus string `json:"outgoingStatus,omitempty"`
|
||||
QuotedMessage *QuotedMessage `json:"quotedMessage"`
|
||||
RTL bool `json:"rtl"`
|
||||
ParsedText json.RawMessage `json:"parsedText,omitempty"`
|
||||
LineCount int `json:"lineCount"`
|
||||
Text string `json:"text"`
|
||||
ChatID string `json:"chatId"`
|
||||
LocalChatID string `json:"localChatId"`
|
||||
Clock uint64 `json:"clock"`
|
||||
Replace string `json:"replace"`
|
||||
ResponseTo string `json:"responseTo"`
|
||||
New bool `json:"new,omitempty"`
|
||||
EnsName string `json:"ensName"`
|
||||
DisplayName string `json:"displayName"`
|
||||
Image string `json:"image,omitempty"`
|
||||
Audio string `json:"audio,omitempty"`
|
||||
AudioDurationMs uint64 `json:"audioDurationMs,omitempty"`
|
||||
CommunityID string `json:"communityId,omitempty"`
|
||||
Sticker *StickerAlias `json:"sticker,omitempty"`
|
||||
CommandParameters *CommandParameters `json:"commandParameters,omitempty"`
|
||||
GapParameters *GapParameters `json:"gapParameters,omitempty"`
|
||||
Timestamp uint64 `json:"timestamp"`
|
||||
ContentType protobuf.ChatMessage_ContentType `json:"contentType"`
|
||||
MessageType protobuf.MessageType `json:"messageType"`
|
||||
Mentions []string `json:"mentions,omitempty"`
|
||||
Mentioned bool `json:"mentioned,omitempty"`
|
||||
Links []string `json:"links,omitempty"`
|
||||
EditedAt uint64 `json:"editedAt,omitempty"`
|
||||
Deleted bool `json:"deleted,omitempty"`
|
||||
ContactRequestState ContactRequestState `json:"contactRequestState,omitempty"`
|
||||
}{
|
||||
ID: m.ID,
|
||||
WhisperTimestamp: m.WhisperTimestamp,
|
||||
From: m.From,
|
||||
Alias: m.Alias,
|
||||
Identicon: m.Identicon,
|
||||
Seen: m.Seen,
|
||||
OutgoingStatus: m.OutgoingStatus,
|
||||
QuotedMessage: m.QuotedMessage,
|
||||
RTL: m.RTL,
|
||||
ParsedText: m.ParsedText,
|
||||
LineCount: m.LineCount,
|
||||
Text: m.Text,
|
||||
Replace: m.Replace,
|
||||
ChatID: m.ChatId,
|
||||
LocalChatID: m.LocalChatID,
|
||||
Clock: m.Clock,
|
||||
ResponseTo: m.ResponseTo,
|
||||
New: m.New,
|
||||
EnsName: m.EnsName,
|
||||
DisplayName: m.DisplayName,
|
||||
Image: m.ImageLocalURL,
|
||||
Audio: m.AudioLocalURL,
|
||||
CommunityID: m.CommunityID,
|
||||
Timestamp: m.Timestamp,
|
||||
ContentType: m.ContentType,
|
||||
Mentions: m.Mentions,
|
||||
Mentioned: m.Mentioned,
|
||||
Links: m.Links,
|
||||
MessageType: m.MessageType,
|
||||
CommandParameters: m.CommandParameters,
|
||||
GapParameters: m.GapParameters,
|
||||
EditedAt: m.EditedAt,
|
||||
Deleted: m.Deleted,
|
||||
ID: m.ID,
|
||||
WhisperTimestamp: m.WhisperTimestamp,
|
||||
From: m.From,
|
||||
Alias: m.Alias,
|
||||
Identicon: m.Identicon,
|
||||
Seen: m.Seen,
|
||||
OutgoingStatus: m.OutgoingStatus,
|
||||
QuotedMessage: m.QuotedMessage,
|
||||
RTL: m.RTL,
|
||||
ParsedText: m.ParsedText,
|
||||
LineCount: m.LineCount,
|
||||
Text: m.Text,
|
||||
Replace: m.Replace,
|
||||
ChatID: m.ChatId,
|
||||
LocalChatID: m.LocalChatID,
|
||||
Clock: m.Clock,
|
||||
ResponseTo: m.ResponseTo,
|
||||
New: m.New,
|
||||
EnsName: m.EnsName,
|
||||
DisplayName: m.DisplayName,
|
||||
Image: m.ImageLocalURL,
|
||||
Audio: m.AudioLocalURL,
|
||||
CommunityID: m.CommunityID,
|
||||
Timestamp: m.Timestamp,
|
||||
ContentType: m.ContentType,
|
||||
Mentions: m.Mentions,
|
||||
Mentioned: m.Mentioned,
|
||||
Links: m.Links,
|
||||
MessageType: m.MessageType,
|
||||
CommandParameters: m.CommandParameters,
|
||||
GapParameters: m.GapParameters,
|
||||
EditedAt: m.EditedAt,
|
||||
Deleted: m.Deleted,
|
||||
ContactRequestState: m.ContactRequestState,
|
||||
}
|
||||
if sticker := m.GetSticker(); sticker != nil {
|
||||
item.Sticker = &StickerAlias{
|
||||
|
|
|
@ -7,10 +7,21 @@ import (
|
|||
"github.com/status-im/status-go/eth-node/types"
|
||||
"github.com/status-im/status-go/images"
|
||||
"github.com/status-im/status-go/multiaccounts/settings"
|
||||
"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"
|
||||
)
|
||||
|
||||
type ContactRequestState int
|
||||
|
||||
const (
|
||||
ContactRequestStateNone ContactRequestState = iota
|
||||
ContactRequestStateMutual
|
||||
ContactRequestStateSent
|
||||
ContactRequestStateReceived
|
||||
ContactRequestStateDismissed
|
||||
)
|
||||
|
||||
// ContactDeviceInfo is a struct containing information about a particular device owned by a contact
|
||||
type ContactDeviceInfo struct {
|
||||
// The installation id of the device
|
||||
|
@ -87,6 +98,9 @@ type Contact struct {
|
|||
Blocked bool `json:"blocked"`
|
||||
HasAddedUs bool `json:"hasAddedUs"`
|
||||
|
||||
ContactRequestState ContactRequestState `json:"contactRequestState"`
|
||||
ContactRequestClock uint64 `json:"contactRequestClock"`
|
||||
|
||||
IsSyncing bool
|
||||
Removed bool
|
||||
}
|
||||
|
@ -122,6 +136,50 @@ func (c *Contact) Add() {
|
|||
c.Removed = false
|
||||
}
|
||||
|
||||
func (c *Contact) ContactRequestSent() {
|
||||
switch c.ContactRequestState {
|
||||
case ContactRequestStateNone, ContactRequestStateDismissed:
|
||||
c.ContactRequestState = ContactRequestStateSent
|
||||
case ContactRequestStateReceived:
|
||||
c.ContactRequestState = ContactRequestStateMutual
|
||||
}
|
||||
}
|
||||
|
||||
func (c *Contact) ContactRequestReceived() {
|
||||
switch c.ContactRequestState {
|
||||
case ContactRequestStateNone:
|
||||
c.ContactRequestState = ContactRequestStateReceived
|
||||
case ContactRequestStateSent:
|
||||
c.ContactRequestState = ContactRequestStateMutual
|
||||
}
|
||||
}
|
||||
|
||||
func (c *Contact) ContactRequestAccepted() {
|
||||
switch c.ContactRequestState {
|
||||
case ContactRequestStateSent:
|
||||
c.ContactRequestState = ContactRequestStateMutual
|
||||
}
|
||||
}
|
||||
|
||||
func (c *Contact) AcceptContactRequest() {
|
||||
switch c.ContactRequestState {
|
||||
case ContactRequestStateReceived, ContactRequestStateDismissed:
|
||||
c.ContactRequestState = ContactRequestStateMutual
|
||||
}
|
||||
}
|
||||
|
||||
func (c *Contact) RetractContactRequest() {
|
||||
c.ContactRequestState = ContactRequestStateNone
|
||||
}
|
||||
|
||||
func (c *Contact) ContactRequestRetracted() {
|
||||
c.ContactRequestState = ContactRequestStateNone
|
||||
}
|
||||
|
||||
func (c *Contact) DismissContactRequest() {
|
||||
c.ContactRequestState = ContactRequestStateDismissed
|
||||
}
|
||||
|
||||
func buildContactFromPkString(pkString string) (*Contact, error) {
|
||||
publicKeyBytes, err := types.DecodeHex(pkString)
|
||||
if err != nil {
|
||||
|
@ -137,7 +195,7 @@ func buildContactFromPkString(pkString string) (*Contact, error) {
|
|||
}
|
||||
|
||||
func BuildContactFromPublicKey(publicKey *ecdsa.PublicKey) (*Contact, error) {
|
||||
id := types.EncodeHex(crypto.FromECDSAPub(publicKey))
|
||||
id := common.PubkeyToHex(publicKey)
|
||||
return buildContact(id, publicKey)
|
||||
}
|
||||
|
||||
|
|
|
@ -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(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x44, 0xcf, 0x76, 0x71, 0x1f, 0x5e, 0x9a, 0x43, 0xd8, 0xcd, 0xb8, 0xc3, 0x70, 0xc3, 0x7f, 0xfc, 0x90, 0xb4, 0x25, 0x1e, 0xf4, 0x66, 0x20, 0xb8, 0x33, 0x7e, 0xb0, 0x76, 0x1f, 0xc, 0xc0, 0x75}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -123,7 +123,7 @@ func _1536754952_initial_schemaUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1536754952_initial_schema.up.sql", size: 962, mode: os.FileMode(0644), modTime: time.Unix(1586880790, 0)}
|
||||
info := bindataFileInfo{name: "1536754952_initial_schema.up.sql", size: 962, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xea, 0x90, 0x5a, 0x59, 0x3e, 0x3, 0xe2, 0x3c, 0x81, 0x42, 0xcd, 0x4c, 0x9a, 0xe8, 0xda, 0x93, 0x2b, 0x70, 0xa4, 0xd5, 0x29, 0x3e, 0xd5, 0xc9, 0x27, 0xb6, 0xb7, 0x65, 0xff, 0x0, 0xcb, 0xde}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -143,7 +143,7 @@ func _1539249977_update_ratchet_infoDownSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1539249977_update_ratchet_info.down.sql", size: 311, mode: os.FileMode(0644), modTime: time.Unix(1586880790, 0)}
|
||||
info := bindataFileInfo{name: "1539249977_update_ratchet_info.down.sql", size: 311, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x1, 0xa4, 0xeb, 0xa0, 0xe6, 0xa0, 0xd4, 0x48, 0xbb, 0xad, 0x6f, 0x7d, 0x67, 0x8c, 0xbd, 0x25, 0xde, 0x1f, 0x73, 0x9a, 0xbb, 0xa8, 0xc9, 0x30, 0xb7, 0xa9, 0x7c, 0xaf, 0xb5, 0x1, 0x61, 0xdd}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -163,7 +163,7 @@ func _1539249977_update_ratchet_infoUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1539249977_update_ratchet_info.up.sql", size: 368, mode: os.FileMode(0644), modTime: time.Unix(1586880790, 0)}
|
||||
info := bindataFileInfo{name: "1539249977_update_ratchet_info.up.sql", size: 368, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc, 0x8e, 0xbf, 0x6f, 0xa, 0xc0, 0xe1, 0x3c, 0x42, 0x28, 0x88, 0x1d, 0xdb, 0xba, 0x1c, 0x83, 0xec, 0xba, 0xd3, 0x5f, 0x5c, 0x77, 0x5e, 0xa7, 0x46, 0x36, 0xec, 0x69, 0xa, 0x4b, 0x17, 0x79}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -183,7 +183,7 @@ func _1540715431_add_versionDownSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1540715431_add_version.down.sql", size: 127, mode: os.FileMode(0644), modTime: time.Unix(1586880790, 0)}
|
||||
info := bindataFileInfo{name: "1540715431_add_version.down.sql", size: 127, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf5, 0x9, 0x4, 0xe3, 0x76, 0x2e, 0xb8, 0x9, 0x23, 0xf0, 0x70, 0x93, 0xc4, 0x50, 0xe, 0x9d, 0x84, 0x22, 0x8c, 0x94, 0xd3, 0x24, 0x9, 0x9a, 0xc1, 0xa1, 0x48, 0x45, 0xfd, 0x40, 0x6e, 0xe6}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -203,7 +203,7 @@ func _1540715431_add_versionUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1540715431_add_version.up.sql", size: 265, mode: os.FileMode(0644), modTime: time.Unix(1586880790, 0)}
|
||||
info := bindataFileInfo{name: "1540715431_add_version.up.sql", size: 265, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc7, 0x4c, 0x36, 0x96, 0xdf, 0x16, 0x10, 0xa6, 0x27, 0x1a, 0x79, 0x8b, 0x42, 0x83, 0x23, 0xc, 0x7e, 0xb6, 0x3d, 0x2, 0xda, 0xa4, 0xb4, 0xd, 0x27, 0x55, 0xba, 0xdc, 0xb2, 0x88, 0x8f, 0xa6}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -223,7 +223,7 @@ func _1541164797_add_installationsDownSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1541164797_add_installations.down.sql", size: 26, mode: os.FileMode(0644), modTime: time.Unix(1586880790, 0)}
|
||||
info := bindataFileInfo{name: "1541164797_add_installations.down.sql", size: 26, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf5, 0xfd, 0xe6, 0xd8, 0xca, 0x3b, 0x38, 0x18, 0xee, 0x0, 0x5f, 0x36, 0x9e, 0x1e, 0xd, 0x19, 0x3e, 0xb4, 0x73, 0x53, 0xe9, 0xa5, 0xac, 0xdd, 0xa1, 0x2f, 0xc7, 0x6c, 0xa8, 0xd9, 0xa, 0x88}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -243,7 +243,7 @@ func _1541164797_add_installationsUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1541164797_add_installations.up.sql", size: 216, mode: os.FileMode(0644), modTime: time.Unix(1586880790, 0)}
|
||||
info := bindataFileInfo{name: "1541164797_add_installations.up.sql", size: 216, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x2d, 0x18, 0x26, 0xb8, 0x88, 0x47, 0xdb, 0x83, 0xcc, 0xb6, 0x9d, 0x1c, 0x1, 0xae, 0x2f, 0xde, 0x97, 0x82, 0x3, 0x30, 0xa8, 0x63, 0xa1, 0x78, 0x4b, 0xa5, 0x9, 0x8, 0x75, 0xa2, 0x57, 0x81}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -263,7 +263,7 @@ func _1558084410_add_secretDownSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1558084410_add_secret.down.sql", size: 56, mode: os.FileMode(0644), modTime: time.Unix(1586880790, 0)}
|
||||
info := bindataFileInfo{name: "1558084410_add_secret.down.sql", size: 56, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x49, 0xb, 0x65, 0xdf, 0x59, 0xbf, 0xe9, 0x5, 0x5b, 0x6f, 0xd5, 0x3a, 0xb7, 0x57, 0xe8, 0x78, 0x38, 0x73, 0x53, 0x57, 0xf7, 0x24, 0x4, 0xe4, 0xa2, 0x49, 0x22, 0xa2, 0xc6, 0xfd, 0x80, 0xa4}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -283,7 +283,7 @@ func _1558084410_add_secretUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1558084410_add_secret.up.sql", size: 301, mode: os.FileMode(0644), modTime: time.Unix(1586880790, 0)}
|
||||
info := bindataFileInfo{name: "1558084410_add_secret.up.sql", size: 301, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf5, 0x32, 0x36, 0x8e, 0x47, 0xb0, 0x8f, 0xc1, 0xc6, 0xf7, 0xc6, 0x9f, 0x2d, 0x44, 0x75, 0x2b, 0x26, 0xec, 0x6, 0xa0, 0x7b, 0xa5, 0xbd, 0xc8, 0x76, 0x8a, 0x82, 0x68, 0x2, 0x42, 0xb5, 0xf4}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -303,7 +303,7 @@ func _1558588866_add_versionDownSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1558588866_add_version.down.sql", size: 47, mode: os.FileMode(0644), modTime: time.Unix(1586880790, 0)}
|
||||
info := bindataFileInfo{name: "1558588866_add_version.down.sql", size: 47, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xde, 0x52, 0x34, 0x3c, 0x46, 0x4a, 0xf0, 0x72, 0x47, 0x6f, 0x49, 0x5c, 0xc7, 0xf9, 0x32, 0xce, 0xc4, 0x3d, 0xfd, 0x61, 0xa1, 0x8b, 0x8f, 0xf2, 0x31, 0x34, 0xde, 0x15, 0x49, 0xa6, 0xde, 0xb9}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -323,7 +323,7 @@ func _1558588866_add_versionUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1558588866_add_version.up.sql", size: 57, mode: os.FileMode(0644), modTime: time.Unix(1586880790, 0)}
|
||||
info := bindataFileInfo{name: "1558588866_add_version.up.sql", size: 57, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x2a, 0xea, 0x64, 0x39, 0x61, 0x20, 0x83, 0x83, 0xb, 0x2e, 0x79, 0x64, 0xb, 0x53, 0xfa, 0xfe, 0xc6, 0xf7, 0x67, 0x42, 0xd3, 0x4f, 0xdc, 0x7e, 0x30, 0x32, 0xe8, 0x14, 0x41, 0xe9, 0xe7, 0x3b}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -343,7 +343,7 @@ func _1559627659_add_contact_codeDownSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1559627659_add_contact_code.down.sql", size: 32, mode: os.FileMode(0644), modTime: time.Unix(1586880790, 0)}
|
||||
info := bindataFileInfo{name: "1559627659_add_contact_code.down.sql", size: 32, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x5d, 0x64, 0x6d, 0xce, 0x24, 0x42, 0x20, 0x8d, 0x4f, 0x37, 0xaa, 0x9d, 0xc, 0x57, 0x98, 0xc1, 0xd1, 0x1a, 0x34, 0xcd, 0x9f, 0x8f, 0x34, 0x86, 0xb3, 0xd3, 0xdc, 0xf1, 0x7d, 0xe5, 0x1b, 0x6e}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -363,7 +363,7 @@ func _1559627659_add_contact_codeUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1559627659_add_contact_code.up.sql", size: 198, mode: os.FileMode(0644), modTime: time.Unix(1586880790, 0)}
|
||||
info := bindataFileInfo{name: "1559627659_add_contact_code.up.sql", size: 198, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x16, 0xf6, 0xc2, 0x62, 0x9c, 0xd2, 0xc9, 0x1e, 0xd8, 0xea, 0xaa, 0xea, 0x95, 0x8f, 0x89, 0x6a, 0x85, 0x5d, 0x9d, 0x99, 0x78, 0x3c, 0x90, 0x66, 0x99, 0x3e, 0x4b, 0x19, 0x62, 0xfb, 0x31, 0x4d}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -383,7 +383,7 @@ func _1561368210_add_installation_metadataDownSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1561368210_add_installation_metadata.down.sql", size: 35, mode: os.FileMode(0644), modTime: time.Unix(1586880790, 0)}
|
||||
info := bindataFileInfo{name: "1561368210_add_installation_metadata.down.sql", size: 35, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa8, 0xde, 0x3f, 0xd2, 0x4a, 0x50, 0x98, 0x56, 0xe3, 0xc0, 0xcd, 0x9d, 0xb0, 0x34, 0x3b, 0xe5, 0x62, 0x18, 0xb5, 0x20, 0xc9, 0x3e, 0xdc, 0x6a, 0x40, 0x36, 0x66, 0xea, 0x51, 0x8c, 0x71, 0xf5}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -403,7 +403,7 @@ func _1561368210_add_installation_metadataUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1561368210_add_installation_metadata.up.sql", size: 267, mode: os.FileMode(0644), modTime: time.Unix(1586880790, 0)}
|
||||
info := bindataFileInfo{name: "1561368210_add_installation_metadata.up.sql", size: 267, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb4, 0x71, 0x8f, 0x29, 0xb1, 0xaa, 0xd6, 0xd1, 0x8c, 0x17, 0xef, 0x6c, 0xd5, 0x80, 0xb8, 0x2c, 0xc3, 0xfe, 0xec, 0x24, 0x4d, 0xc8, 0x25, 0xd3, 0xb4, 0xcd, 0xa9, 0xac, 0x63, 0x61, 0xb2, 0x9c}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -423,7 +423,7 @@ func _1632236298_add_communitiesDownSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1632236298_add_communities.down.sql", size: 151, mode: os.FileMode(0644), modTime: time.Unix(1638351408, 0)}
|
||||
info := bindataFileInfo{name: "1632236298_add_communities.down.sql", size: 151, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x26, 0xe5, 0x47, 0xd1, 0xe5, 0xec, 0x5b, 0x3e, 0xdc, 0x22, 0xf4, 0x27, 0xee, 0x70, 0xf3, 0x9, 0x4f, 0xd2, 0x9f, 0x92, 0xf, 0x5a, 0x18, 0x11, 0xb7, 0x40, 0xab, 0xf1, 0x98, 0x72, 0xd6, 0x60}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -443,7 +443,7 @@ func _1632236298_add_communitiesUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1632236298_add_communities.up.sql", size: 584, mode: os.FileMode(0644), modTime: time.Unix(1638351408, 0)}
|
||||
info := bindataFileInfo{name: "1632236298_add_communities.up.sql", size: 584, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x8f, 0xe0, 0x1, 0x6e, 0x84, 0xc, 0x35, 0xe4, 0x5a, 0xf, 0xbe, 0xcb, 0xf7, 0xd2, 0xa8, 0x25, 0xf5, 0xdb, 0x7, 0xcb, 0xa3, 0xe6, 0xf4, 0xc4, 0x1b, 0xa5, 0xec, 0x32, 0x1e, 0x1e, 0x48, 0x60}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -463,7 +463,7 @@ func _1636536507_add_index_bundlesUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1636536507_add_index_bundles.up.sql", size: 347, mode: os.FileMode(0644), modTime: time.Unix(1637329330, 0)}
|
||||
info := bindataFileInfo{name: "1636536507_add_index_bundles.up.sql", size: 347, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf1, 0xb9, 0x3c, 0x16, 0xfc, 0xfb, 0xb2, 0xb4, 0x3b, 0xfe, 0xdc, 0xf5, 0x9c, 0x42, 0xa0, 0xa0, 0xd4, 0xd, 0x5b, 0x97, 0x10, 0x80, 0x95, 0xe, 0x13, 0xc1, 0x18, 0x8, 0xee, 0xf, 0x99, 0xee}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -483,7 +483,7 @@ func docGo() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "doc.go", size: 377, mode: os.FileMode(0644), modTime: time.Unix(1586880790, 0)}
|
||||
info := bindataFileInfo{name: "doc.go", size: 377, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xef, 0xaf, 0xdf, 0xcf, 0x65, 0xae, 0x19, 0xfc, 0x9d, 0x29, 0xc1, 0x91, 0xaf, 0xb5, 0xd5, 0xb1, 0x56, 0xf3, 0xee, 0xa8, 0xba, 0x13, 0x65, 0xdb, 0xab, 0xcf, 0x4e, 0xac, 0x92, 0xe9, 0x60, 0xf1}}
|
||||
return a, nil
|
||||
}
|
||||
|
|
|
@ -54,6 +54,7 @@ func (db sqlitePersistence) tableUserMessagesAllFields() string {
|
|||
response_to,
|
||||
gap_from,
|
||||
gap_to,
|
||||
contact_request_state,
|
||||
mentioned`
|
||||
}
|
||||
|
||||
|
@ -96,6 +97,7 @@ func (db sqlitePersistence) tableUserMessagesAllFieldsJoin() string {
|
|||
m1.response_to,
|
||||
m1.gap_from,
|
||||
m1.gap_to,
|
||||
m1.contact_request_state,
|
||||
m1.mentioned,
|
||||
m2.source,
|
||||
m2.text,
|
||||
|
@ -133,6 +135,7 @@ func (db sqlitePersistence) tableUserMessagesScanAllFields(row scanner, message
|
|||
var gapTo sql.NullInt64
|
||||
var editedAt sql.NullInt64
|
||||
var deleted sql.NullBool
|
||||
var contactRequestState sql.NullInt64
|
||||
|
||||
sticker := &protobuf.StickerMessage{}
|
||||
command := &common.CommandParameters{}
|
||||
|
@ -178,6 +181,7 @@ func (db sqlitePersistence) tableUserMessagesScanAllFields(row scanner, message
|
|||
&message.ResponseTo,
|
||||
&gapFrom,
|
||||
&gapTo,
|
||||
&contactRequestState,
|
||||
&message.Mentioned,
|
||||
"edFrom,
|
||||
"edText,
|
||||
|
@ -202,6 +206,10 @@ func (db sqlitePersistence) tableUserMessagesScanAllFields(row scanner, message
|
|||
message.Deleted = deleted.Bool
|
||||
}
|
||||
|
||||
if contactRequestState.Valid {
|
||||
message.ContactRequestState = common.ContactRequestState(contactRequestState.Int64)
|
||||
}
|
||||
|
||||
if quotedText.Valid {
|
||||
message.QuotedMessage = &common.QuotedMessage{
|
||||
ID: quotedID.String,
|
||||
|
@ -348,6 +356,7 @@ func (db sqlitePersistence) tableUserMessagesAllValues(message *common.Message)
|
|||
message.ResponseTo,
|
||||
gapFrom,
|
||||
gapTo,
|
||||
message.ContactRequestState,
|
||||
message.Mentioned,
|
||||
}, nil
|
||||
}
|
||||
|
@ -595,6 +604,72 @@ func (db sqlitePersistence) MessageByChatID(chatID string, currCursor string, li
|
|||
return result, newCursor, nil
|
||||
}
|
||||
|
||||
func (db sqlitePersistence) PendingContactRequests(currCursor string, limit int) ([]*common.Message, string, error) {
|
||||
cursorWhere := ""
|
||||
if currCursor != "" {
|
||||
cursorWhere = "AND cursor <= ?" //nolint: goconst
|
||||
}
|
||||
allFields := db.tableUserMessagesAllFieldsJoin()
|
||||
args := []interface{}{protobuf.ChatMessage_CONTACT_REQUEST}
|
||||
if currCursor != "" {
|
||||
args = append(args, currCursor)
|
||||
}
|
||||
// Build a new column `cursor` at the query time by having a fixed-sized clock value at the beginning
|
||||
// concatenated with message ID. Results are sorted using this new column.
|
||||
// This new column values can also be returned as a cursor for subsequent requests.
|
||||
rows, err := db.db.Query(
|
||||
fmt.Sprintf(`
|
||||
SELECT
|
||||
%s,
|
||||
substr('0000000000000000000000000000000000000000000000000000000000000000' || m1.clock_value, -64, 64) || m1.id as cursor
|
||||
FROM
|
||||
user_messages m1
|
||||
LEFT JOIN
|
||||
user_messages m2
|
||||
ON
|
||||
m1.response_to = m2.id
|
||||
|
||||
LEFT JOIN
|
||||
contacts c
|
||||
ON
|
||||
|
||||
m1.source = c.id
|
||||
WHERE
|
||||
NOT(m1.hide) AND NOT(m1.seen) AND m1.content_type = ? %s
|
||||
ORDER BY cursor DESC
|
||||
LIMIT ?
|
||||
`, allFields, cursorWhere),
|
||||
append(args, limit+1)..., // take one more to figure our whether a cursor should be returned
|
||||
)
|
||||
if err != nil {
|
||||
return nil, "", err
|
||||
}
|
||||
defer rows.Close()
|
||||
|
||||
var (
|
||||
result []*common.Message
|
||||
cursors []string
|
||||
)
|
||||
for rows.Next() {
|
||||
var (
|
||||
message common.Message
|
||||
cursor string
|
||||
)
|
||||
if err := db.tableUserMessagesScanAllFields(rows, &message, &cursor); err != nil {
|
||||
return nil, "", err
|
||||
}
|
||||
result = append(result, &message)
|
||||
cursors = append(cursors, cursor)
|
||||
}
|
||||
|
||||
var newCursor string
|
||||
if len(result) > limit {
|
||||
newCursor = cursors[limit]
|
||||
result = result[:limit]
|
||||
}
|
||||
return result, newCursor, nil
|
||||
}
|
||||
|
||||
// AllMessageByChatIDWhichMatchPattern returns all messages which match the search
|
||||
// term, for a given chatID in descending order.
|
||||
// Ordering is accomplished using two concatenated values: ClockValue and ID.
|
||||
|
@ -1947,3 +2022,8 @@ func (db sqlitePersistence) clearHistoryFromSyncMessage(chat *Chat, clearedAt ui
|
|||
err = db.saveChat(tx, *chat)
|
||||
return err
|
||||
}
|
||||
|
||||
func (db sqlitePersistence) SetContactRequestState(id string, state common.ContactRequestState) error {
|
||||
_, err := db.db.Exec(`UPDATE user_messages SET contact_request_state = ? WHERE id = ?`, state, id)
|
||||
return err
|
||||
}
|
||||
|
|
|
@ -2516,6 +2516,7 @@ func (m *Messenger) sendChatMessage(ctx context.Context, message *common.Message
|
|||
response.SetMessages(msg)
|
||||
|
||||
response.AddChat(chat)
|
||||
|
||||
m.logger.Debug("sent message", zap.String("id", message.ID))
|
||||
m.prepareMessages(response.messages)
|
||||
|
||||
|
@ -3239,13 +3240,8 @@ func (r *ReceivedMessageState) addNewActivityCenterNotification(publicKey ecdsa.
|
|||
return nil
|
||||
}
|
||||
|
||||
func (m *Messenger) handleRetrievedMessages(chatWithMessages map[transport.Filter][]*types.Message, storeWakuMessages bool) (*MessengerResponse, error) {
|
||||
|
||||
m.handleMessagesMutex.Lock()
|
||||
defer m.handleMessagesMutex.Unlock()
|
||||
|
||||
response := &MessengerResponse{}
|
||||
messageState := &ReceivedMessageState{
|
||||
func (m *Messenger) buildMessageState() *ReceivedMessageState {
|
||||
return &ReceivedMessageState{
|
||||
AllChats: m.allChats,
|
||||
AllContacts: m.allContacts,
|
||||
ModifiedContacts: new(stringBoolMap),
|
||||
|
@ -3254,10 +3250,19 @@ func (m *Messenger) handleRetrievedMessages(chatWithMessages map[transport.Filte
|
|||
ExistingMessagesMap: make(map[string]bool),
|
||||
EmojiReactions: make(map[string]*EmojiReaction),
|
||||
GroupChatInvitations: make(map[string]*GroupChatInvitation),
|
||||
Response: response,
|
||||
Response: &MessengerResponse{},
|
||||
Timesource: m.getTimesource(),
|
||||
AllBookmarks: make(map[string]*browsers.Bookmark),
|
||||
}
|
||||
}
|
||||
|
||||
func (m *Messenger) handleRetrievedMessages(chatWithMessages map[transport.Filter][]*types.Message, storeWakuMessages bool) (*MessengerResponse, error) {
|
||||
|
||||
m.handleMessagesMutex.Lock()
|
||||
defer m.handleMessagesMutex.Unlock()
|
||||
|
||||
messageState := m.buildMessageState()
|
||||
response := messageState.Response
|
||||
|
||||
logger := m.logger.With(zap.String("site", "RetrieveAll"))
|
||||
|
||||
|
@ -3716,6 +3721,26 @@ func (m *Messenger) handleRetrievedMessages(chatWithMessages map[transport.Filte
|
|||
allMessagesProcessed = false
|
||||
continue
|
||||
}
|
||||
case protobuf.AcceptContactRequest:
|
||||
logger.Debug("Handling AcceptContactRequest")
|
||||
message := msg.ParsedMessage.Interface().(protobuf.AcceptContactRequest)
|
||||
err = m.HandleAcceptContactRequest(messageState, message)
|
||||
if err != nil {
|
||||
logger.Warn("failed to handle AcceptContactRequest", zap.Error(err))
|
||||
allMessagesProcessed = false
|
||||
continue
|
||||
}
|
||||
case protobuf.RetractContactRequest:
|
||||
|
||||
logger.Debug("Handling RetractContactRequest")
|
||||
message := msg.ParsedMessage.Interface().(protobuf.RetractContactRequest)
|
||||
err = m.HandleRetractContactRequest(messageState, message)
|
||||
if err != nil {
|
||||
logger.Warn("failed to handle RetractContactRequest", zap.Error(err))
|
||||
allMessagesProcessed = false
|
||||
continue
|
||||
}
|
||||
|
||||
case protobuf.PushNotificationQuery:
|
||||
logger.Debug("Received PushNotificationQuery")
|
||||
if m.pushNotificationServer == nil {
|
||||
|
|
|
@ -0,0 +1,675 @@
|
|||
package protocol
|
||||
|
||||
import (
|
||||
"context"
|
||||
"crypto/ecdsa"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/suite"
|
||||
"go.uber.org/zap"
|
||||
|
||||
gethbridge "github.com/status-im/status-go/eth-node/bridge/geth"
|
||||
"github.com/status-im/status-go/eth-node/crypto"
|
||||
"github.com/status-im/status-go/eth-node/types"
|
||||
"github.com/status-im/status-go/protocol/common"
|
||||
"github.com/status-im/status-go/protocol/protobuf"
|
||||
"github.com/status-im/status-go/protocol/requests"
|
||||
"github.com/status-im/status-go/protocol/tt"
|
||||
"github.com/status-im/status-go/waku"
|
||||
)
|
||||
|
||||
func TestMessengerContactRequestSuite(t *testing.T) {
|
||||
suite.Run(t, new(MessengerContactRequestSuite))
|
||||
}
|
||||
|
||||
type MessengerContactRequestSuite 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 *MessengerContactRequestSuite) 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
|
||||
_, err := s.m.Start()
|
||||
s.Require().NoError(err)
|
||||
}
|
||||
|
||||
func (s *MessengerContactRequestSuite) TearDownTest() {
|
||||
s.Require().NoError(s.m.Shutdown())
|
||||
}
|
||||
|
||||
func (s *MessengerContactRequestSuite) 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
|
||||
}
|
||||
|
||||
func (s *MessengerContactRequestSuite) TestReceiveAndAcceptContactRequest() {
|
||||
|
||||
messageText := "hello!"
|
||||
|
||||
theirMessenger := s.newMessenger(s.shh)
|
||||
_, err := theirMessenger.Start()
|
||||
s.Require().NoError(err)
|
||||
|
||||
contactID := types.EncodeHex(crypto.FromECDSAPub(&theirMessenger.identity.PublicKey))
|
||||
request := &requests.SendContactRequest{
|
||||
ID: types.Hex2Bytes(contactID),
|
||||
Message: messageText,
|
||||
}
|
||||
|
||||
// Send contact request
|
||||
resp, err := s.m.SendContactRequest(context.Background(), request)
|
||||
s.Require().NoError(err)
|
||||
|
||||
s.Require().NotNil(resp)
|
||||
s.Require().Len(resp.Messages(), 1)
|
||||
s.Require().Equal(common.ContactRequestStatePending, resp.Messages()[0].ContactRequestState)
|
||||
|
||||
// Make sure it's not returned as coming from us
|
||||
contactRequests, _, err := s.m.PendingContactRequests("", 10)
|
||||
s.Require().NoError(err)
|
||||
s.Require().Len(contactRequests, 0)
|
||||
|
||||
// Make sure contact is added on the sender side
|
||||
contacts := s.m.AddedContacts()
|
||||
s.Require().Len(contacts, 1)
|
||||
s.Require().Equal(ContactRequestStateSent, contacts[0].ContactRequestState)
|
||||
|
||||
// Wait for the message to reach its destination
|
||||
resp, err = WaitOnMessengerResponse(
|
||||
theirMessenger,
|
||||
func(r *MessengerResponse) bool {
|
||||
return len(r.Contacts) > 0 && len(r.Messages()) > 0 && len(r.ActivityCenterNotifications()) > 0
|
||||
},
|
||||
"no messages",
|
||||
)
|
||||
|
||||
// Check contact request has been received
|
||||
s.Require().NoError(err)
|
||||
|
||||
// Check activity center notification is of the right type
|
||||
s.Require().Len(resp.ActivityCenterNotifications(), 1)
|
||||
s.Require().Equal(ActivityCenterNotificationTypeContactRequest, resp.ActivityCenterNotifications()[0].Type)
|
||||
s.Require().NotNil(resp.ActivityCenterNotifications()[0].Message)
|
||||
s.Require().Equal(common.ContactRequestStatePending, resp.ActivityCenterNotifications()[0].Message.ContactRequestState)
|
||||
|
||||
// Check the contact state is correctly set
|
||||
s.Require().Len(resp.Contacts, 1)
|
||||
s.Require().Equal(ContactRequestStateReceived, resp.Contacts[0].ContactRequestState)
|
||||
|
||||
// Make sure it's the pending contact requests
|
||||
contactRequests, _, err = theirMessenger.PendingContactRequests("", 10)
|
||||
s.Require().NoError(err)
|
||||
s.Require().Len(contactRequests, 1)
|
||||
s.Require().Equal(contactRequests[0].ContactRequestState, common.ContactRequestStatePending)
|
||||
|
||||
// Accept contact request, receiver side
|
||||
resp, err = theirMessenger.AcceptContactRequest(context.Background(), &requests.AcceptContactRequest{ID: types.Hex2Bytes(contactRequests[0].ID)})
|
||||
s.Require().NoError(err)
|
||||
|
||||
// Make sure the message is updated
|
||||
s.Require().NotNil(resp)
|
||||
s.Require().Len(resp.Messages(), 1)
|
||||
s.Require().Equal(resp.Messages()[0].ID, contactRequests[0].ID)
|
||||
s.Require().Equal(common.ContactRequestStateAccepted, resp.Messages()[0].ContactRequestState)
|
||||
|
||||
s.Require().Len(resp.ActivityCenterNotifications(), 1)
|
||||
s.Require().Equal(resp.ActivityCenterNotifications()[0].ID.String(), contactRequests[0].ID)
|
||||
s.Require().NotNil(resp.ActivityCenterNotifications()[0].Message)
|
||||
s.Require().Equal(common.ContactRequestStateAccepted, resp.ActivityCenterNotifications()[0].Message.ContactRequestState)
|
||||
|
||||
// Check the contact state is correctly set
|
||||
s.Require().Len(resp.Contacts, 1)
|
||||
s.Require().Equal(ContactRequestStateMutual, resp.Contacts[0].ContactRequestState)
|
||||
|
||||
// Make sure the sender is added to our contacts
|
||||
contacts = theirMessenger.AddedContacts()
|
||||
s.Require().Len(contacts, 1)
|
||||
|
||||
// Make sure we consider them a mutual contact, receiver side
|
||||
mutualContacts := theirMessenger.MutualContacts()
|
||||
s.Require().Len(mutualContacts, 1)
|
||||
|
||||
// Wait for the message to reach its destination
|
||||
resp, err = WaitOnMessengerResponse(
|
||||
s.m,
|
||||
func(r *MessengerResponse) bool {
|
||||
return len(r.Contacts) > 0 && len(r.Messages()) > 0 && len(r.ActivityCenterNotifications()) > 0
|
||||
},
|
||||
"no messages",
|
||||
)
|
||||
s.Require().NoError(err)
|
||||
|
||||
// Check activity center notification is of the right type
|
||||
s.Require().Equal(ActivityCenterNotificationTypeContactRequest, resp.ActivityCenterNotifications()[0].Type)
|
||||
s.Require().NotNil(resp.ActivityCenterNotifications()[0].Message)
|
||||
s.Require().Equal(common.ContactRequestStateAccepted, resp.ActivityCenterNotifications()[0].Message.ContactRequestState)
|
||||
|
||||
// Make sure the message is updated, sender s2de
|
||||
s.Require().NotNil(resp)
|
||||
s.Require().Len(resp.Messages(), 1)
|
||||
s.Require().Equal(resp.Messages()[0].ID, contactRequests[0].ID)
|
||||
s.Require().Equal(common.ContactRequestStateAccepted, resp.Messages()[0].ContactRequestState)
|
||||
|
||||
// Make sure we consider them a mutual contact, sender side
|
||||
mutualContacts = s.m.MutualContacts()
|
||||
s.Require().Len(mutualContacts, 1)
|
||||
|
||||
// Check the contact state is correctly set
|
||||
s.Require().Len(resp.Contacts, 1)
|
||||
s.Require().Equal(ContactRequestStateMutual, resp.Contacts[0].ContactRequestState)
|
||||
}
|
||||
|
||||
func (s *MessengerContactRequestSuite) TestReceiveAndDismissContactRequest() {
|
||||
|
||||
messageText := "hello!"
|
||||
|
||||
theirMessenger := s.newMessenger(s.shh)
|
||||
_, err := theirMessenger.Start()
|
||||
s.Require().NoError(err)
|
||||
|
||||
contactID := types.EncodeHex(crypto.FromECDSAPub(&theirMessenger.identity.PublicKey))
|
||||
request := &requests.SendContactRequest{
|
||||
ID: types.Hex2Bytes(contactID),
|
||||
Message: messageText,
|
||||
}
|
||||
|
||||
// Send contact request
|
||||
resp, err := s.m.SendContactRequest(context.Background(), request)
|
||||
s.Require().NoError(err)
|
||||
|
||||
s.Require().NotNil(resp)
|
||||
s.Require().Len(resp.Messages(), 1)
|
||||
s.Require().Equal(common.ContactRequestStatePending, resp.Messages()[0].ContactRequestState)
|
||||
|
||||
// Check the contact state is correctly set
|
||||
s.Require().Len(resp.Contacts, 1)
|
||||
s.Require().Equal(ContactRequestStateSent, resp.Contacts[0].ContactRequestState)
|
||||
|
||||
// Make sure it's not returned as coming from us
|
||||
contactRequests, _, err := s.m.PendingContactRequests("", 10)
|
||||
s.Require().NoError(err)
|
||||
s.Require().Len(contactRequests, 0)
|
||||
|
||||
// Make sure contact is added on the sender side
|
||||
contacts := s.m.AddedContacts()
|
||||
s.Require().Len(contacts, 1)
|
||||
|
||||
// Wait for the message to reach its destination
|
||||
resp, err = WaitOnMessengerResponse(
|
||||
theirMessenger,
|
||||
func(r *MessengerResponse) bool {
|
||||
return len(r.Contacts) > 0 && len(r.ActivityCenterNotifications()) > 0
|
||||
},
|
||||
"no messages",
|
||||
)
|
||||
s.Require().NoError(err)
|
||||
|
||||
// Check activity center notification is of the right type
|
||||
s.Require().Equal(ActivityCenterNotificationTypeContactRequest, resp.ActivityCenterNotifications()[0].Type)
|
||||
s.Require().NotNil(resp.ActivityCenterNotifications()[0].Message)
|
||||
s.Require().Equal(common.ContactRequestStatePending, resp.ActivityCenterNotifications()[0].Message.ContactRequestState)
|
||||
|
||||
// Check the contact state is correctly set
|
||||
s.Require().Len(resp.Contacts, 1)
|
||||
s.Require().Equal(ContactRequestStateReceived, resp.Contacts[0].ContactRequestState)
|
||||
|
||||
// Check contact request has been received
|
||||
s.Require().NoError(err)
|
||||
|
||||
// Make sure it's the pending contact requests
|
||||
contactRequests, _, err = theirMessenger.PendingContactRequests("", 10)
|
||||
s.Require().NoError(err)
|
||||
s.Require().Len(contactRequests, 1)
|
||||
s.Require().Equal(contactRequests[0].ContactRequestState, common.ContactRequestStatePending)
|
||||
|
||||
// Dismiss contact request, receiver side
|
||||
resp, err = theirMessenger.DismissContactRequest(context.Background(), &requests.DismissContactRequest{ID: types.Hex2Bytes(contactRequests[0].ID)})
|
||||
s.Require().NoError(err)
|
||||
|
||||
// Check the contact state is correctly set
|
||||
s.Require().Len(resp.Contacts, 1)
|
||||
s.Require().Equal(ContactRequestStateDismissed, resp.Contacts[0].ContactRequestState)
|
||||
|
||||
// Make sure the message is updated
|
||||
s.Require().NotNil(resp)
|
||||
s.Require().Len(resp.Messages(), 1)
|
||||
s.Require().Equal(resp.Messages()[0].ID, contactRequests[0].ID)
|
||||
s.Require().Equal(common.ContactRequestStateDismissed, resp.Messages()[0].ContactRequestState)
|
||||
|
||||
s.Require().Len(resp.ActivityCenterNotifications(), 1)
|
||||
s.Require().Equal(resp.ActivityCenterNotifications()[0].ID.String(), contactRequests[0].ID)
|
||||
s.Require().NotNil(resp.ActivityCenterNotifications()[0].Message)
|
||||
s.Require().Equal(common.ContactRequestStateDismissed, resp.ActivityCenterNotifications()[0].Message.ContactRequestState)
|
||||
|
||||
// Make sure the sender is not added to our contacts
|
||||
contacts = theirMessenger.AddedContacts()
|
||||
s.Require().Len(contacts, 0)
|
||||
}
|
||||
|
||||
func (s *MessengerContactRequestSuite) TestReceiveAcceptAndRetractContactRequest() {
|
||||
|
||||
messageText := "hello!"
|
||||
|
||||
theirMessenger := s.newMessenger(s.shh)
|
||||
_, err := theirMessenger.Start()
|
||||
s.Require().NoError(err)
|
||||
|
||||
contactID := types.EncodeHex(crypto.FromECDSAPub(&theirMessenger.identity.PublicKey))
|
||||
request := &requests.SendContactRequest{
|
||||
ID: types.Hex2Bytes(contactID),
|
||||
Message: messageText,
|
||||
}
|
||||
|
||||
// Send contact request
|
||||
resp, err := s.m.SendContactRequest(context.Background(), request)
|
||||
s.Require().NoError(err)
|
||||
|
||||
// Check the contact state is correctly set
|
||||
s.Require().Len(resp.Contacts, 1)
|
||||
s.Require().Equal(ContactRequestStateSent, resp.Contacts[0].ContactRequestState)
|
||||
|
||||
s.Require().NotNil(resp)
|
||||
s.Require().Len(resp.Messages(), 1)
|
||||
s.Require().Equal(common.ContactRequestStatePending, resp.Messages()[0].ContactRequestState)
|
||||
|
||||
// Make sure it's not returned as coming from us
|
||||
contactRequests, _, err := s.m.PendingContactRequests("", 10)
|
||||
s.Require().NoError(err)
|
||||
s.Require().Len(contactRequests, 0)
|
||||
|
||||
// Make sure contact is added on the sender side
|
||||
contacts := s.m.AddedContacts()
|
||||
s.Require().Len(contacts, 1)
|
||||
|
||||
// Wait for the message to reach its destination
|
||||
resp, err = WaitOnMessengerResponse(
|
||||
theirMessenger,
|
||||
func(r *MessengerResponse) bool {
|
||||
return len(r.Messages()) > 0 && len(r.ActivityCenterNotifications()) > 0
|
||||
},
|
||||
"no messages",
|
||||
)
|
||||
|
||||
// Check contact request has been received
|
||||
s.Require().NoError(err)
|
||||
|
||||
// Check the contact state is correctly set
|
||||
s.Require().Len(resp.Contacts, 1)
|
||||
s.Require().Equal(ContactRequestStateReceived, resp.Contacts[0].ContactRequestState)
|
||||
|
||||
// Check activity center notification is of the right type
|
||||
s.Require().Len(resp.ActivityCenterNotifications(), 1)
|
||||
s.Require().Equal(ActivityCenterNotificationTypeContactRequest, resp.ActivityCenterNotifications()[0].Type)
|
||||
s.Require().NotNil(resp.ActivityCenterNotifications()[0].Message)
|
||||
s.Require().Equal(common.ContactRequestStatePending, resp.ActivityCenterNotifications()[0].Message.ContactRequestState)
|
||||
|
||||
// Make sure it's the pending contact requests
|
||||
contactRequests, _, err = theirMessenger.PendingContactRequests("", 10)
|
||||
s.Require().NoError(err)
|
||||
s.Require().Len(contactRequests, 1)
|
||||
s.Require().Equal(contactRequests[0].ContactRequestState, common.ContactRequestStatePending)
|
||||
|
||||
// Accept contact request, receiver side
|
||||
resp, err = theirMessenger.AcceptContactRequest(context.Background(), &requests.AcceptContactRequest{ID: types.Hex2Bytes(contactRequests[0].ID)})
|
||||
s.Require().NoError(err)
|
||||
|
||||
// Make sure the message is updated
|
||||
s.Require().NotNil(resp)
|
||||
s.Require().Len(resp.Messages(), 1)
|
||||
s.Require().Equal(resp.Messages()[0].ID, contactRequests[0].ID)
|
||||
s.Require().Equal(common.ContactRequestStateAccepted, resp.Messages()[0].ContactRequestState)
|
||||
|
||||
// Check the contact state is correctly set
|
||||
s.Require().Len(resp.Contacts, 1)
|
||||
s.Require().Equal(ContactRequestStateMutual, resp.Contacts[0].ContactRequestState)
|
||||
|
||||
s.Require().Len(resp.ActivityCenterNotifications(), 1)
|
||||
s.Require().Equal(resp.ActivityCenterNotifications()[0].ID.String(), contactRequests[0].ID)
|
||||
s.Require().NotNil(resp.ActivityCenterNotifications()[0].Message)
|
||||
s.Require().Equal(common.ContactRequestStateAccepted, resp.ActivityCenterNotifications()[0].Message.ContactRequestState)
|
||||
|
||||
// Make sure the sender is added to our contacts
|
||||
contacts = theirMessenger.AddedContacts()
|
||||
s.Require().Len(contacts, 1)
|
||||
|
||||
// Make sure we consider them a mutual contact, receiver side
|
||||
mutualContacts := theirMessenger.MutualContacts()
|
||||
s.Require().Len(mutualContacts, 1)
|
||||
|
||||
// Wait for the message to reach its destination
|
||||
resp, err = WaitOnMessengerResponse(
|
||||
s.m,
|
||||
func(r *MessengerResponse) bool {
|
||||
return len(r.Messages()) > 0 && len(r.ActivityCenterNotifications()) > 0 && len(r.Contacts) > 0
|
||||
},
|
||||
"no messages",
|
||||
)
|
||||
s.Require().NoError(err)
|
||||
|
||||
// Check activity center notification is of the right type
|
||||
s.Require().Equal(ActivityCenterNotificationTypeContactRequest, resp.ActivityCenterNotifications()[0].Type)
|
||||
s.Require().NotNil(resp.ActivityCenterNotifications()[0].Message)
|
||||
s.Require().Equal(common.ContactRequestStateAccepted, resp.ActivityCenterNotifications()[0].Message.ContactRequestState)
|
||||
|
||||
// Check the contact state is correctly set
|
||||
s.Require().Len(resp.Contacts, 1)
|
||||
s.Require().Equal(ContactRequestStateMutual, resp.Contacts[0].ContactRequestState)
|
||||
|
||||
// Make sure the message is updated, sender side
|
||||
s.Require().NotNil(resp)
|
||||
s.Require().Len(resp.Messages(), 1)
|
||||
s.Require().Equal(resp.Messages()[0].ID, contactRequests[0].ID)
|
||||
s.Require().Equal(common.ContactRequestStateAccepted, resp.Messages()[0].ContactRequestState)
|
||||
|
||||
// Make sure we consider them a mutual contact, sender side
|
||||
mutualContacts = s.m.MutualContacts()
|
||||
s.Require().Len(mutualContacts, 1)
|
||||
|
||||
resp, err = s.m.RetractContactRequest(&requests.RetractContactRequest{ContactID: types.Hex2Bytes(contactID)})
|
||||
s.Require().NoError(err)
|
||||
s.Require().NotNil(resp)
|
||||
s.Require().Len(resp.Contacts, 1)
|
||||
s.Require().False(resp.Contacts[0].HasAddedUs)
|
||||
s.Require().False(resp.Contacts[0].Added)
|
||||
|
||||
// Check the contact state is correctly set
|
||||
s.Require().Len(resp.Contacts, 1)
|
||||
s.Require().Equal(ContactRequestStateNone, resp.Contacts[0].ContactRequestState)
|
||||
|
||||
// Wait for the message to reach its destination
|
||||
resp, err = WaitOnMessengerResponse(
|
||||
theirMessenger,
|
||||
func(r *MessengerResponse) bool {
|
||||
return len(r.Contacts) > 0
|
||||
},
|
||||
"no messages",
|
||||
)
|
||||
s.Require().NoError(err)
|
||||
s.Require().NotNil(resp)
|
||||
s.Require().Len(resp.Contacts, 1)
|
||||
|
||||
myID := types.EncodeHex(crypto.FromECDSAPub(&s.m.identity.PublicKey))
|
||||
s.Require().Equal(myID, resp.Contacts[0].ID)
|
||||
|
||||
s.Require().False(resp.Contacts[0].Added)
|
||||
s.Require().False(resp.Contacts[0].HasAddedUs)
|
||||
|
||||
// Check the contact state is correctly set
|
||||
s.Require().Len(resp.Contacts, 1)
|
||||
s.Require().Equal(ContactRequestStateNone, resp.Contacts[0].ContactRequestState)
|
||||
}
|
||||
|
||||
func (s *MessengerContactRequestSuite) TestReceiveAcceptAndRetractContactRequestOutOfOrder() {
|
||||
message := protobuf.ChatMessage{
|
||||
Clock: 4,
|
||||
Timestamp: 1,
|
||||
Text: "some text",
|
||||
ChatId: common.PubkeyToHex(&s.m.identity.PublicKey),
|
||||
MessageType: protobuf.MessageType_ONE_TO_ONE,
|
||||
ContentType: protobuf.ChatMessage_CONTACT_REQUEST,
|
||||
}
|
||||
|
||||
contactKey, err := crypto.GenerateKey()
|
||||
s.Require().NoError(err)
|
||||
|
||||
contact, err := BuildContactFromPublicKey(&contactKey.PublicKey)
|
||||
s.Require().NoError(err)
|
||||
|
||||
state := s.m.buildMessageState()
|
||||
|
||||
state.CurrentMessageState = &CurrentMessageState{
|
||||
PublicKey: &contactKey.PublicKey,
|
||||
MessageID: "0xa",
|
||||
Message: message,
|
||||
Contact: contact,
|
||||
WhisperTimestamp: 1,
|
||||
}
|
||||
|
||||
response := state.Response
|
||||
err = s.m.HandleChatMessage(state)
|
||||
s.Require().NoError(err)
|
||||
s.Require().Len(response.ActivityCenterNotifications(), 1)
|
||||
contacts := s.m.Contacts()
|
||||
s.Require().Len(contacts, 1)
|
||||
s.Require().Equal(ContactRequestStateReceived, contacts[0].ContactRequestState)
|
||||
|
||||
retract := protobuf.RetractContactRequest{
|
||||
Clock: 2,
|
||||
}
|
||||
err = s.m.HandleRetractContactRequest(state, retract)
|
||||
s.Require().NoError(err)
|
||||
|
||||
// Nothing should have changed
|
||||
contacts = s.m.Contacts()
|
||||
s.Require().Len(contacts, 1)
|
||||
s.Require().Equal(ContactRequestStateReceived, contacts[0].ContactRequestState)
|
||||
}
|
||||
|
||||
func (s *MessengerContactRequestSuite) TestReceiveAndAcceptContactRequestTwice() {
|
||||
|
||||
messageText := "hello!"
|
||||
|
||||
theirMessenger := s.newMessenger(s.shh)
|
||||
_, err := theirMessenger.Start()
|
||||
s.Require().NoError(err)
|
||||
|
||||
contactID := types.EncodeHex(crypto.FromECDSAPub(&theirMessenger.identity.PublicKey))
|
||||
request := &requests.SendContactRequest{
|
||||
ID: types.Hex2Bytes(contactID),
|
||||
Message: messageText,
|
||||
}
|
||||
|
||||
// Send contact request
|
||||
resp, err := s.m.SendContactRequest(context.Background(), request)
|
||||
s.Require().NoError(err)
|
||||
|
||||
s.Require().NotNil(resp)
|
||||
s.Require().Len(resp.Messages(), 1)
|
||||
s.Require().Equal(common.ContactRequestStatePending, resp.Messages()[0].ContactRequestState)
|
||||
|
||||
// Make sure it's not returned as coming from us
|
||||
contactRequests, _, err := s.m.PendingContactRequests("", 10)
|
||||
s.Require().NoError(err)
|
||||
s.Require().Len(contactRequests, 0)
|
||||
|
||||
// Make sure contact is added on the sender side
|
||||
contacts := s.m.AddedContacts()
|
||||
s.Require().Len(contacts, 1)
|
||||
s.Require().Equal(ContactRequestStateSent, contacts[0].ContactRequestState)
|
||||
|
||||
// Wait for the message to reach its destination
|
||||
resp, err = WaitOnMessengerResponse(
|
||||
theirMessenger,
|
||||
func(r *MessengerResponse) bool {
|
||||
return len(r.Contacts) > 0 && len(r.Messages()) > 0 && len(r.ActivityCenterNotifications()) > 0
|
||||
},
|
||||
"no messages",
|
||||
)
|
||||
|
||||
// Check contact request has been received
|
||||
s.Require().NoError(err)
|
||||
|
||||
// Check activity center notification is of the right type
|
||||
s.Require().Len(resp.ActivityCenterNotifications(), 1)
|
||||
s.Require().Equal(ActivityCenterNotificationTypeContactRequest, resp.ActivityCenterNotifications()[0].Type)
|
||||
s.Require().NotNil(resp.ActivityCenterNotifications()[0].Message)
|
||||
s.Require().Equal(common.ContactRequestStatePending, resp.ActivityCenterNotifications()[0].Message.ContactRequestState)
|
||||
|
||||
// Check the contact state is correctly set
|
||||
s.Require().Len(resp.Contacts, 1)
|
||||
s.Require().Equal(ContactRequestStateReceived, resp.Contacts[0].ContactRequestState)
|
||||
|
||||
// Make sure it's the pending contact requests
|
||||
contactRequests, _, err = theirMessenger.PendingContactRequests("", 10)
|
||||
s.Require().NoError(err)
|
||||
s.Require().Len(contactRequests, 1)
|
||||
s.Require().Equal(contactRequests[0].ContactRequestState, common.ContactRequestStatePending)
|
||||
|
||||
// Accept contact request, receiver side
|
||||
resp, err = theirMessenger.AcceptContactRequest(context.Background(), &requests.AcceptContactRequest{ID: types.Hex2Bytes(contactRequests[0].ID)})
|
||||
s.Require().NoError(err)
|
||||
|
||||
// Make sure the message is updated
|
||||
s.Require().NotNil(resp)
|
||||
s.Require().Len(resp.Messages(), 1)
|
||||
s.Require().Equal(resp.Messages()[0].ID, contactRequests[0].ID)
|
||||
s.Require().Equal(common.ContactRequestStateAccepted, resp.Messages()[0].ContactRequestState)
|
||||
|
||||
s.Require().Len(resp.ActivityCenterNotifications(), 1)
|
||||
s.Require().Equal(resp.ActivityCenterNotifications()[0].ID.String(), contactRequests[0].ID)
|
||||
s.Require().NotNil(resp.ActivityCenterNotifications()[0].Message)
|
||||
s.Require().Equal(common.ContactRequestStateAccepted, resp.ActivityCenterNotifications()[0].Message.ContactRequestState)
|
||||
|
||||
// Check the contact state is correctly set
|
||||
s.Require().Len(resp.Contacts, 1)
|
||||
s.Require().Equal(ContactRequestStateMutual, resp.Contacts[0].ContactRequestState)
|
||||
|
||||
// Make sure the sender is added to our contacts
|
||||
contacts = theirMessenger.AddedContacts()
|
||||
s.Require().Len(contacts, 1)
|
||||
|
||||
// Make sure we consider them a mutual contact, receiver side
|
||||
mutualContacts := theirMessenger.MutualContacts()
|
||||
s.Require().Len(mutualContacts, 1)
|
||||
|
||||
// Wait for the message to reach its destination
|
||||
resp, err = WaitOnMessengerResponse(
|
||||
s.m,
|
||||
func(r *MessengerResponse) bool {
|
||||
return len(r.Contacts) > 0 && len(r.Messages()) > 0 && len(r.ActivityCenterNotifications()) > 0
|
||||
},
|
||||
"no messages",
|
||||
)
|
||||
s.Require().NoError(err)
|
||||
|
||||
// Check activity center notification is of the right type
|
||||
s.Require().Equal(ActivityCenterNotificationTypeContactRequest, resp.ActivityCenterNotifications()[0].Type)
|
||||
s.Require().NotNil(resp.ActivityCenterNotifications()[0].Message)
|
||||
s.Require().Equal(common.ContactRequestStateAccepted, resp.ActivityCenterNotifications()[0].Message.ContactRequestState)
|
||||
|
||||
// Make sure the message is updated, sender s2de
|
||||
s.Require().NotNil(resp)
|
||||
s.Require().Len(resp.Messages(), 1)
|
||||
s.Require().Equal(resp.Messages()[0].ID, contactRequests[0].ID)
|
||||
s.Require().Equal(common.ContactRequestStateAccepted, resp.Messages()[0].ContactRequestState)
|
||||
|
||||
// Make sure we consider them a mutual contact, sender side
|
||||
mutualContacts = s.m.MutualContacts()
|
||||
s.Require().Len(mutualContacts, 1)
|
||||
|
||||
// Check the contact state is correctly set
|
||||
s.Require().Len(resp.Contacts, 1)
|
||||
s.Require().Equal(ContactRequestStateMutual, resp.Contacts[0].ContactRequestState)
|
||||
|
||||
// Resend contact request with higher clock value
|
||||
resp, err = s.m.SendContactRequest(context.Background(), request)
|
||||
s.Require().NoError(err)
|
||||
|
||||
// Wait for the message to reach its destination
|
||||
resp, err = WaitOnMessengerResponse(
|
||||
theirMessenger,
|
||||
func(r *MessengerResponse) bool {
|
||||
return len(r.Messages()) == 1 && r.Messages()[0].ID == resp.Messages()[0].ID
|
||||
},
|
||||
"no messages",
|
||||
)
|
||||
s.Require().NoError(err)
|
||||
|
||||
// Nothing should have changed, on both sides
|
||||
mutualContacts = s.m.MutualContacts()
|
||||
s.Require().Len(mutualContacts, 1)
|
||||
|
||||
mutualContacts = theirMessenger.MutualContacts()
|
||||
s.Require().Len(mutualContacts, 1)
|
||||
}
|
||||
|
||||
/* Disabling as currently there's an issue with duplicated contact requests
|
||||
func (s *MessengerContactRequestSuite) TestReceiveAndAcceptLegacyContactRequest() {
|
||||
|
||||
theirMessenger := s.newMessenger(s.shh)
|
||||
_, err := theirMessenger.Start()
|
||||
s.Require().NoError(err)
|
||||
|
||||
contactID := types.EncodeHex(crypto.FromECDSAPub(&theirMessenger.identity.PublicKey))
|
||||
request := &requests.AddContact{
|
||||
ID: types.Hex2Bytes(contactID),
|
||||
}
|
||||
|
||||
// Send contact request
|
||||
resp, err := s.m.AddContact(context.Background(), request)
|
||||
s.Require().NoError(err)
|
||||
|
||||
s.Require().NotNil(resp)
|
||||
|
||||
// Make sure contact is added on the sender side
|
||||
contacts := s.m.AddedContacts()
|
||||
s.Require().Len(contacts, 1)
|
||||
s.Require().Equal(ContactRequestStateSent, contacts[0].ContactRequestState)
|
||||
|
||||
// Wait for the message to reach its destination
|
||||
resp, err = WaitOnMessengerResponse(
|
||||
theirMessenger,
|
||||
func(r *MessengerResponse) bool {
|
||||
return len(r.Contacts) > 0 && len(r.ActivityCenterNotifications()) == 1
|
||||
},
|
||||
"no messages",
|
||||
)
|
||||
|
||||
s.Require().NoError(err)
|
||||
|
||||
notification := resp.ActivityCenterNotifications()[0]
|
||||
|
||||
// Check contact request has been received
|
||||
s.Require().NoError(err)
|
||||
|
||||
// Check activity center notification is of the right type
|
||||
s.Require().Equal(ActivityCenterNotificationTypeContactRequest, notification.Type)
|
||||
s.Require().NotNil(notification.Type)
|
||||
s.Require().Equal(common.ContactRequestStatePending, notification.Message.ContactRequestState)
|
||||
|
||||
// Check the contact state is correctly set
|
||||
s.Require().Len(resp.Contacts, 1)
|
||||
s.Require().Equal(ContactRequestStateReceived, resp.Contacts[0].ContactRequestState)
|
||||
|
||||
// Accept contact request, receiver side
|
||||
resp, err = theirMessenger.AcceptContactRequest(context.Background(), &requests.AcceptContactRequest{ID: types.Hex2Bytes(notification.Message.ID)})
|
||||
s.Require().NoError(err)
|
||||
|
||||
// Make sure the message is updated
|
||||
s.Require().NotNil(resp)
|
||||
|
||||
s.Require().Len(resp.ActivityCenterNotifications(), 1)
|
||||
s.Require().Equal(resp.ActivityCenterNotifications()[0].ID.String(), notification.Message.ID)
|
||||
s.Require().NotNil(resp.ActivityCenterNotifications()[0].Message)
|
||||
s.Require().Equal(common.ContactRequestStateAccepted, resp.ActivityCenterNotifications()[0].Message.ContactRequestState)
|
||||
|
||||
// Check the contact state is correctly set
|
||||
s.Require().Len(resp.Contacts, 1)
|
||||
s.Require().Equal(ContactRequestStateMutual, resp.Contacts[0].ContactRequestState)
|
||||
|
||||
// Make sure the sender is added to our contacts
|
||||
contacts = theirMessenger.AddedContacts()
|
||||
s.Require().Len(contacts, 1)
|
||||
|
||||
// Make sure we consider them a mutual contact, receiver side
|
||||
mutualContacts := theirMessenger.MutualContacts()
|
||||
s.Require().Len(mutualContacts, 1)
|
||||
} */
|
|
@ -3,15 +3,84 @@ package protocol
|
|||
import (
|
||||
"context"
|
||||
"crypto/ecdsa"
|
||||
"errors"
|
||||
|
||||
"github.com/golang/protobuf/proto"
|
||||
|
||||
"github.com/status-im/status-go/eth-node/types"
|
||||
"github.com/status-im/status-go/protocol/common"
|
||||
"github.com/status-im/status-go/protocol/protobuf"
|
||||
"github.com/status-im/status-go/protocol/requests"
|
||||
"github.com/status-im/status-go/protocol/transport"
|
||||
)
|
||||
|
||||
func (m *Messenger) AcceptContactRequest(ctx context.Context, request *requests.AcceptContactRequest) (*MessengerResponse, error) {
|
||||
err := request.Validate()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
contactRequest, err := m.persistence.MessageByID(request.ID.String())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return m.addContact(contactRequest.From, "", "", "", contactRequest.ID)
|
||||
}
|
||||
|
||||
func (m *Messenger) SendContactRequest(ctx context.Context, request *requests.SendContactRequest) (*MessengerResponse, error) {
|
||||
err := request.Validate()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
chatID := request.ID.String()
|
||||
|
||||
response, err := m.addContact(chatID, "", "", "", "")
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
publicKey, err := common.HexToPubkey(chatID)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// A valid added chat is required.
|
||||
chat, ok := m.allChats.Load(chatID)
|
||||
if !ok {
|
||||
// Create a one to one chat and set active to false
|
||||
chat = CreateOneToOneChat(chatID, publicKey, m.getTimesource())
|
||||
chat.Active = false
|
||||
err = m.initChatSyncFields(chat)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
err = m.saveChat(chat)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
chatMessage := &common.Message{}
|
||||
chatMessage.ChatId = chatID
|
||||
chatMessage.Text = request.Message
|
||||
chatMessage.ContentType = protobuf.ChatMessage_CONTACT_REQUEST
|
||||
chatMessage.ContactRequestState = common.ContactRequestStatePending
|
||||
|
||||
messageResponse, err := m.sendChatMessage(ctx, chatMessage)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
err = response.Merge(messageResponse)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return response, nil
|
||||
}
|
||||
|
||||
// NOTE: This sets HasAddedUs to false, so next time we receive a contact request it will be reset to true
|
||||
func (m *Messenger) RejectContactRequest(ctx context.Context, request *requests.RejectContactRequest) (*MessengerResponse, error) {
|
||||
err := request.Validate()
|
||||
|
@ -44,16 +113,63 @@ func (m *Messenger) RejectContactRequest(ctx context.Context, request *requests.
|
|||
return response, nil
|
||||
}
|
||||
|
||||
func (m *Messenger) AddContact(ctx context.Context, request *requests.AddContact) (*MessengerResponse, error) {
|
||||
func (m *Messenger) DismissContactRequest(ctx context.Context, request *requests.DismissContactRequest) (*MessengerResponse, error) {
|
||||
err := request.Validate()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
pubKey := request.ID.String()
|
||||
contactRequest, err := m.persistence.MessageByID(request.ID.String())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
ensName := request.ENSName
|
||||
contact, ok := m.allContacts.Load(contactRequest.From)
|
||||
if !ok {
|
||||
var err error
|
||||
contact, err = buildContactFromPkString(contactRequest.From)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
contact.DismissContactRequest()
|
||||
err = m.persistence.SaveContact(contact, nil)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
response := &MessengerResponse{}
|
||||
response.AddContact(contact)
|
||||
|
||||
contactRequest.ContactRequestState = common.ContactRequestStateDismissed
|
||||
|
||||
err = m.persistence.SetContactRequestState(contactRequest.ID, contactRequest.ContactRequestState)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
notification, err := m.persistence.GetActivityCenterNotificationByID(types.FromHex(contactRequest.ID))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if notification != nil {
|
||||
err := m.persistence.UpdateActivityCenterNotificationMessage(notification.ID, contactRequest)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
notification.Message = contactRequest
|
||||
|
||||
response.AddActivityCenterNotification(notification)
|
||||
}
|
||||
|
||||
response.AddMessage(contactRequest)
|
||||
|
||||
return response, nil
|
||||
}
|
||||
|
||||
func (m *Messenger) addContact(pubKey, ensName, nickname, displayName, contactRequestID string) (*MessengerResponse, error) {
|
||||
contact, ok := m.allContacts.Load(pubKey)
|
||||
if !ok {
|
||||
var err error
|
||||
|
@ -75,12 +191,12 @@ func (m *Messenger) AddContact(ctx context.Context, request *requests.AddContact
|
|||
return nil, err
|
||||
}
|
||||
|
||||
if len(request.Nickname) != 0 {
|
||||
contact.LocalNickname = request.Nickname
|
||||
if len(nickname) != 0 {
|
||||
contact.LocalNickname = nickname
|
||||
}
|
||||
|
||||
if len(request.DisplayName) != 0 {
|
||||
contact.DisplayName = request.DisplayName
|
||||
if len(displayName) != 0 {
|
||||
contact.DisplayName = displayName
|
||||
}
|
||||
|
||||
if !contact.Added {
|
||||
|
@ -88,8 +204,10 @@ func (m *Messenger) AddContact(ctx context.Context, request *requests.AddContact
|
|||
}
|
||||
contact.LastUpdatedLocally = m.getTimesource().GetCurrentTime()
|
||||
|
||||
contact.ContactRequestSent()
|
||||
|
||||
// We sync the contact with the other devices
|
||||
err = m.syncContact(context.Background(), contact)
|
||||
err := m.syncContact(context.Background(), contact)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
@ -144,7 +262,7 @@ func (m *Messenger) AddContact(ctx context.Context, request *requests.AddContact
|
|||
return nil, err
|
||||
}
|
||||
|
||||
displayName, err := m.settings.DisplayName()
|
||||
displayName, err = m.settings.DisplayName()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
@ -155,6 +273,67 @@ func (m *Messenger) AddContact(ctx context.Context, request *requests.AddContact
|
|||
return nil, err
|
||||
}
|
||||
|
||||
if len(contactRequestID) != 0 {
|
||||
contactRequest, err := m.persistence.MessageByID(contactRequestID)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
contactRequest.ContactRequestState = common.ContactRequestStateAccepted
|
||||
|
||||
err = m.persistence.SetContactRequestState(contactRequest.ID, contactRequest.ContactRequestState)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
contact.AcceptContactRequest()
|
||||
|
||||
chat, ok := m.allChats.Load(contact.ID)
|
||||
if !ok {
|
||||
chat = OneToOneFromPublicKey(publicKey, m.getTimesource())
|
||||
chat.Active = false
|
||||
if err := m.saveChat(chat); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
clock, _ := chat.NextClockAndTimestamp(m.getTimesource())
|
||||
acceptContactRequest := &protobuf.AcceptContactRequest{
|
||||
Id: contactRequest.ID,
|
||||
Clock: clock,
|
||||
}
|
||||
encodedMessage, err := proto.Marshal(acceptContactRequest)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
_, err = m.dispatchMessage(context.Background(), common.RawMessage{
|
||||
LocalChatID: pubKey,
|
||||
Payload: encodedMessage,
|
||||
MessageType: protobuf.ApplicationMetadataMessage_ACCEPT_CONTACT_REQUEST,
|
||||
ResendAutomatically: true,
|
||||
})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
notification, err := m.persistence.GetActivityCenterNotificationByID(types.FromHex(contactRequest.ID))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if notification != nil {
|
||||
err := m.persistence.UpdateActivityCenterNotificationMessage(notification.ID, contactRequest)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
notification.Message = contactRequest
|
||||
|
||||
response.AddActivityCenterNotification(notification)
|
||||
}
|
||||
|
||||
response.AddMessage(contactRequest)
|
||||
}
|
||||
|
||||
// Send profile picture with contact request
|
||||
chat, ok := m.allChats.Load(contact.ID)
|
||||
if !ok {
|
||||
|
@ -183,8 +362,18 @@ func (m *Messenger) AddContact(ctx context.Context, request *requests.AddContact
|
|||
return nil, err
|
||||
}
|
||||
|
||||
response.AddContact(contact)
|
||||
|
||||
return response, nil
|
||||
}
|
||||
func (m *Messenger) AddContact(ctx context.Context, request *requests.AddContact) (*MessengerResponse, error) {
|
||||
err := request.Validate()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return m.addContact(request.ID.String(), request.ENSName, request.Nickname, request.DisplayName, "")
|
||||
}
|
||||
|
||||
func (m *Messenger) resetLastPublishedTimeForChatIdentity() error {
|
||||
// Reset last published time for ChatIdentity so new contact can receive data
|
||||
|
@ -199,6 +388,7 @@ func (m *Messenger) removeContact(ctx context.Context, response *MessengerRespon
|
|||
return ErrContactNotFound
|
||||
}
|
||||
|
||||
contact.RetractContactRequest()
|
||||
contact.Remove()
|
||||
contact.LastUpdatedLocally = m.getTimesource().GetCurrentTime()
|
||||
|
||||
|
@ -239,6 +429,7 @@ func (m *Messenger) removeContact(ctx context.Context, response *MessengerRespon
|
|||
response.Contacts = []*Contact{contact}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *Messenger) RemoveContact(ctx context.Context, pubKey string) (*MessengerResponse, error) {
|
||||
response := new(MessengerResponse)
|
||||
|
||||
|
@ -270,6 +461,17 @@ func (m *Messenger) AddedContacts() []*Contact {
|
|||
return contacts
|
||||
}
|
||||
|
||||
func (m *Messenger) MutualContacts() []*Contact {
|
||||
var contacts []*Contact
|
||||
m.allContacts.Range(func(contactID string, contact *Contact) (shouldContinue bool) {
|
||||
if contact.Added && contact.HasAddedUs {
|
||||
contacts = append(contacts, contact)
|
||||
}
|
||||
return true
|
||||
})
|
||||
return contacts
|
||||
}
|
||||
|
||||
func (m *Messenger) BlockedContacts() []*Contact {
|
||||
var contacts []*Contact
|
||||
m.allContacts.Range(func(contactID string, contact *Contact) (shouldContinue bool) {
|
||||
|
@ -564,3 +766,59 @@ func (m *Messenger) addENSNameToContact(contact *Contact) error {
|
|||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *Messenger) RetractContactRequest(request *requests.RetractContactRequest) (*MessengerResponse, error) {
|
||||
err := request.Validate()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
contact, ok := m.allContacts.Load(request.ContactID.String())
|
||||
if !ok {
|
||||
return nil, errors.New("contact not found")
|
||||
}
|
||||
contact.HasAddedUs = false
|
||||
m.allContacts.Store(contact.ID, contact)
|
||||
response := &MessengerResponse{}
|
||||
err = m.removeContact(context.Background(), response, contact.ID)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
chat, ok := m.allChats.Load(contact.ID)
|
||||
if !ok {
|
||||
pubKey, err := contact.PublicKey()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
chat = OneToOneFromPublicKey(pubKey, m.getTimesource())
|
||||
chat.Active = false
|
||||
if err := m.saveChat(chat); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
clock, _ := chat.NextClockAndTimestamp(m.getTimesource())
|
||||
retractContactRequest := &protobuf.RetractContactRequest{
|
||||
Clock: clock,
|
||||
}
|
||||
encodedMessage, err := proto.Marshal(retractContactRequest)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
_, err = m.dispatchMessage(context.Background(), common.RawMessage{
|
||||
LocalChatID: contact.ID,
|
||||
Payload: encodedMessage,
|
||||
MessageType: protobuf.ApplicationMetadataMessage_RETRACT_CONTACT_REQUEST,
|
||||
ResendAutomatically: true,
|
||||
})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return response, err
|
||||
}
|
||||
|
||||
func (m *Messenger) PendingContactRequests(cursor string, limit int) ([]*common.Message, string, error) {
|
||||
return m.persistence.PendingContactRequests(cursor, limit)
|
||||
}
|
||||
|
|
|
@ -228,6 +228,51 @@ func (m *Messenger) createMessageNotification(chat *Chat, messageState *Received
|
|||
}
|
||||
}
|
||||
|
||||
func (m *Messenger) createContactRequestNotification(contact *Contact, messageState *ReceivedMessageState, contactRequest *common.Message) error {
|
||||
|
||||
// Legacy contact request
|
||||
if contactRequest == nil {
|
||||
|
||||
if messageState.CurrentMessageState == nil || messageState.CurrentMessageState.MessageID == "" {
|
||||
return errors.New("no available id")
|
||||
}
|
||||
contactRequest = &common.Message{}
|
||||
|
||||
contactRequest.WhisperTimestamp = messageState.CurrentMessageState.WhisperTimestamp
|
||||
contactRequest.Seen = true
|
||||
contactRequest.Text = "Please add me to your contacts"
|
||||
contactRequest.From = contact.ID
|
||||
contactRequest.ContentType = protobuf.ChatMessage_CONTACT_REQUEST
|
||||
contactRequest.Clock = messageState.CurrentMessageState.Message.Clock
|
||||
contactRequest.ID = messageState.CurrentMessageState.MessageID
|
||||
contactRequest.ContactRequestState = common.ContactRequestStatePending
|
||||
err := contactRequest.PrepareContent(common.PubkeyToHex(&m.identity.PublicKey))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
messageState.Response.AddMessage(contactRequest)
|
||||
|
||||
err = m.persistence.SaveMessages([]*common.Message{contactRequest})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
notification := &ActivityCenterNotification{
|
||||
ID: types.FromHex(contactRequest.ID),
|
||||
Name: contact.CanonicalName(),
|
||||
Message: contactRequest,
|
||||
Type: ActivityCenterNotificationTypeContactRequest,
|
||||
Author: messageState.CurrentMessageState.Contact.ID,
|
||||
Timestamp: messageState.CurrentMessageState.WhisperTimestamp,
|
||||
ChatID: contact.ID,
|
||||
}
|
||||
|
||||
return m.addActivityCenterNotification(messageState, notification)
|
||||
}
|
||||
|
||||
func (m *Messenger) handleCommandMessage(state *ReceivedMessageState, message *common.Message) error {
|
||||
message.ID = state.CurrentMessageState.MessageID
|
||||
message.From = state.CurrentMessageState.Contact.ID
|
||||
|
@ -582,6 +627,66 @@ func (m *Messenger) HandlePinMessage(state *ReceivedMessageState, message protob
|
|||
return nil
|
||||
}
|
||||
|
||||
func (m *Messenger) HandleAcceptContactRequest(state *ReceivedMessageState, message protobuf.AcceptContactRequest) error {
|
||||
contact := state.CurrentMessageState.Contact
|
||||
|
||||
if contact.ContactRequestClock > message.Clock {
|
||||
m.logger.Info("not handling accept since clock lower")
|
||||
return nil
|
||||
}
|
||||
|
||||
// TODO: Handle missing contact request message
|
||||
request, err := m.persistence.MessageByID(message.Id)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if request.LocalChatID != state.CurrentMessageState.Contact.ID {
|
||||
return errors.New("can't accept contact request not sent to user")
|
||||
}
|
||||
|
||||
contact.ContactRequestClock = message.Clock
|
||||
|
||||
state.ModifiedContacts.Store(contact.ID, true)
|
||||
state.AllContacts.Store(contact.ID, contact)
|
||||
|
||||
request.ContactRequestState = common.ContactRequestStateAccepted
|
||||
|
||||
err = m.persistence.SetContactRequestState(request.ID, request.ContactRequestState)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
err = m.createContactRequestNotification(state.CurrentMessageState.Contact, state, request)
|
||||
if err != nil {
|
||||
m.logger.Warn("could not create contact request notification", zap.Error(err))
|
||||
}
|
||||
|
||||
state.CurrentMessageState.Contact.ContactRequestAccepted()
|
||||
|
||||
state.Response.AddMessage(request)
|
||||
return nil
|
||||
|
||||
}
|
||||
|
||||
func (m *Messenger) HandleRetractContactRequest(state *ReceivedMessageState, message protobuf.RetractContactRequest) error {
|
||||
contact := state.CurrentMessageState.Contact
|
||||
if contact.ContactRequestClock > message.Clock {
|
||||
m.logger.Info("not handling retract since clock lower")
|
||||
return nil
|
||||
}
|
||||
|
||||
contact.Added = false
|
||||
contact.HasAddedUs = false
|
||||
contact.ContactRequestClock = message.Clock
|
||||
contact.ContactRequestRetracted()
|
||||
state.ModifiedContacts.Store(contact.ID, true)
|
||||
|
||||
state.AllContacts.Store(contact.ID, contact)
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *Messenger) HandleContactUpdate(state *ReceivedMessageState, message protobuf.ContactUpdate) error {
|
||||
logger := m.logger.With(zap.String("site", "HandleContactUpdate"))
|
||||
contact := state.CurrentMessageState.Contact
|
||||
|
@ -622,6 +727,15 @@ func (m *Messenger) HandleContactUpdate(state *ReceivedMessageState, message pro
|
|||
contact.LastUpdated = message.Clock
|
||||
state.ModifiedContacts.Store(contact.ID, true)
|
||||
state.AllContacts.Store(contact.ID, contact)
|
||||
/* Disabling for now in order to avoid duplicated contact requests in activity center
|
||||
if contact.ContactRequestState == ContactRequestStateNone {
|
||||
contact.ContactRequestState = ContactRequestStateReceived
|
||||
err = m.createContactRequestNotification(contact, state, nil)
|
||||
if err != nil {
|
||||
m.logger.Warn("could not create contact request notification", zap.Error(err))
|
||||
}
|
||||
|
||||
}*/
|
||||
}
|
||||
|
||||
if chat.LastClockValue < message.Clock {
|
||||
|
@ -1003,7 +1117,24 @@ func (m *Messenger) HandleChatMessage(state *ReceivedMessageState) error {
|
|||
receivedMessage.OutgoingStatus = common.OutgoingStatusSent
|
||||
}
|
||||
|
||||
if receivedMessage.ContentType == protobuf.ChatMessage_COMMUNITY {
|
||||
contact := state.CurrentMessageState.Contact
|
||||
|
||||
if receivedMessage.ContentType == protobuf.ChatMessage_CONTACT_REQUEST {
|
||||
if contact.ContactRequestClock > receivedMessage.Clock {
|
||||
m.logger.Info("not handling contact message since clock lower")
|
||||
return nil
|
||||
}
|
||||
receivedMessage.ContactRequestState = common.ContactRequestStatePending
|
||||
contact.ContactRequestClock = receivedMessage.Clock
|
||||
contact.ContactRequestReceived()
|
||||
state.ModifiedContacts.Store(contact.ID, true)
|
||||
state.AllContacts.Store(contact.ID, contact)
|
||||
err = m.createContactRequestNotification(state.CurrentMessageState.Contact, state, receivedMessage)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
} else if receivedMessage.ContentType == protobuf.ChatMessage_COMMUNITY {
|
||||
chat.Highlight = true
|
||||
}
|
||||
|
||||
|
@ -1036,7 +1167,7 @@ func (m *Messenger) HandleChatMessage(state *ReceivedMessageState) error {
|
|||
}
|
||||
|
||||
// If the chat is not active, create a notification in the center
|
||||
if !receivedMessage.Deleted && chat.OneToOne() && !chat.Active {
|
||||
if !receivedMessage.Deleted && chat.OneToOne() && !chat.Active && receivedMessage.ContentType != protobuf.ChatMessage_CONTACT_REQUEST {
|
||||
m.createMessageNotification(chat, state)
|
||||
}
|
||||
|
||||
|
@ -1045,7 +1176,6 @@ func (m *Messenger) HandleChatMessage(state *ReceivedMessageState) error {
|
|||
// TODO(samyoul) remove storing of an updated reference pointer?
|
||||
m.allChats.Store(chat.ID, chat)
|
||||
|
||||
contact := state.CurrentMessageState.Contact
|
||||
if receivedMessage.EnsName != "" {
|
||||
oldRecord, err := m.ensVerifier.Add(contact.ID, receivedMessage.EnsName, receivedMessage.Clock)
|
||||
if err != nil {
|
||||
|
|
|
@ -485,6 +485,7 @@ func (m *Messenger) handleMailserverCycleEvent(connectedPeers []ConnectedPeer) e
|
|||
}
|
||||
|
||||
if m.mailserverCycle.activeMailserver != nil && id == m.mailserverCycle.activeMailserver.ID {
|
||||
m.mailserverCycle.activeMailserver.FailedRequests = 0
|
||||
m.logger.Info("mailserver available", zap.String("address", connectedPeer.UniqueID))
|
||||
m.EmitMailserverAvailable()
|
||||
signal.SendMailserverAvailable(m.mailserverCycle.activeMailserver.Address, m.mailserverCycle.activeMailserver.ID)
|
||||
|
|
|
@ -418,6 +418,18 @@ func (r *MessengerResponse) AddMessage(message *common.Message) {
|
|||
r.messages[message.ID] = message
|
||||
}
|
||||
|
||||
func (r *MessengerResponse) AddContact(c *Contact) {
|
||||
|
||||
for idx, c1 := range r.Contacts {
|
||||
if c1.ID == c.ID {
|
||||
r.Contacts[idx] = c
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
r.Contacts = append(r.Contacts, c)
|
||||
}
|
||||
|
||||
func (r *MessengerResponse) SetMessages(messages []*common.Message) {
|
||||
r.messages = make(map[string]*common.Message)
|
||||
r.AddMessages(messages)
|
||||
|
|
|
@ -125,7 +125,7 @@ func newMessengerWithKey(shh types.Waku, privateKey *ecdsa.PrivateKey, logger *z
|
|||
|
||||
options := []Option{
|
||||
WithCustomLogger(logger),
|
||||
WithDatabaseConfig(":memory:", "some-key"),
|
||||
WithDatabaseConfig(":memory:", "somekey"),
|
||||
WithMultiAccounts(madb),
|
||||
WithAccount(iai.ToMultiAccount()),
|
||||
WithDatasync(),
|
||||
|
|
|
@ -50,6 +50,8 @@
|
|||
// 1635840039_add_clock_read_at_column_in_chats.up.sql (245B)
|
||||
// 1637852321_add_received_invitation_admin_column_in_chats.up.sql (72B)
|
||||
// 1645034601_display_name.up.sql (110B)
|
||||
// 1645034602_add_mutual_contact_request.up.sql (454B)
|
||||
// 1650373957_add_contact_request_state.up.sql (59B)
|
||||
// README.md (554B)
|
||||
// doc.go (850B)
|
||||
|
||||
|
@ -135,7 +137,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(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x5e, 0xbb, 0x3f, 0x1, 0x75, 0x19, 0x70, 0x86, 0xa7, 0x34, 0x40, 0x17, 0x34, 0x3e, 0x18, 0x51, 0x79, 0xd4, 0x22, 0xad, 0x8f, 0x80, 0xcc, 0xa6, 0xcc, 0x6, 0x2b, 0x62, 0x2, 0x47, 0xba, 0xf9}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -155,7 +157,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(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x60, 0xdc, 0xeb, 0xe, 0xc2, 0x4f, 0x75, 0xa, 0xf6, 0x3e, 0xc7, 0xc4, 0x4, 0xe2, 0xe1, 0xa4, 0x73, 0x2f, 0x4a, 0xad, 0x1a, 0x0, 0xc3, 0x93, 0x9d, 0x77, 0x3e, 0x31, 0x91, 0x77, 0x2e, 0xc8}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -175,7 +177,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(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x4d, 0x3, 0x8f, 0xd5, 0x85, 0x83, 0x47, 0xbe, 0xf9, 0x82, 0x7e, 0x81, 0xa4, 0xbd, 0xaa, 0xd5, 0x98, 0x18, 0x5, 0x2d, 0x82, 0x42, 0x3b, 0x3, 0x50, 0xc3, 0x1e, 0x84, 0x35, 0xf, 0xb6, 0x2b}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -195,7 +197,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(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd2, 0xb3, 0xa9, 0xc7, 0x7f, 0x9d, 0x8f, 0x43, 0x8c, 0x9e, 0x58, 0x8d, 0x44, 0xbc, 0xfa, 0x6b, 0x5f, 0x3f, 0x5a, 0xbe, 0xe8, 0xb1, 0x16, 0xf, 0x91, 0x2a, 0xa0, 0x71, 0xbb, 0x8d, 0x6b, 0xcb}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -215,7 +217,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(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd6, 0xc6, 0x35, 0xb4, 0x4c, 0x39, 0x96, 0x29, 0x30, 0xda, 0xf4, 0x8f, 0xcb, 0xf1, 0x9f, 0x84, 0xdc, 0x88, 0xd4, 0xd5, 0xbc, 0xb6, 0x5b, 0x46, 0x78, 0x67, 0x76, 0x1a, 0x5, 0x36, 0xdc, 0xe5}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -235,7 +237,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(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x4e, 0x3a, 0xe2, 0x2e, 0x7d, 0xaf, 0xbb, 0xcc, 0x21, 0xa1, 0x7a, 0x41, 0x9a, 0xd0, 0xbb, 0xa9, 0xc8, 0x35, 0xf9, 0x32, 0x34, 0x46, 0x44, 0x9a, 0x86, 0x40, 0x7c, 0xb9, 0x23, 0xc7, 0x3, 0x3f}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -255,7 +257,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(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x9c, 0xfe, 0xbe, 0xd5, 0xb8, 0x8f, 0xdd, 0xef, 0xbb, 0xa8, 0xad, 0x7f, 0xed, 0x5b, 0x5b, 0x2f, 0xe6, 0x82, 0x27, 0x78, 0x1f, 0xb9, 0x57, 0xdc, 0x8, 0xc2, 0xb2, 0xa9, 0x9a, 0x4, 0xe1, 0x7a}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -275,7 +277,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(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x73, 0x99, 0x61, 0xd1, 0xaa, 0xb4, 0xbf, 0xaf, 0xd7, 0x20, 0x17, 0x40, 0xf9, 0x2, 0xfb, 0xcc, 0x40, 0x2a, 0xd, 0x86, 0x36, 0x30, 0x88, 0x89, 0x25, 0x80, 0x42, 0xb0, 0x5b, 0xe9, 0x73, 0x78}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -295,7 +297,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(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xae, 0xd2, 0xee, 0x55, 0xfb, 0x36, 0xa4, 0x92, 0x66, 0xe, 0x81, 0x62, 0x1e, 0x7a, 0x69, 0xa, 0xd5, 0x4b, 0xa5, 0x6a, 0x8d, 0x1d, 0xce, 0xf3, 0x3e, 0xc0, 0x5f, 0x9c, 0x66, 0x1b, 0xb4, 0xed}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -315,7 +317,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(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3e, 0xc5, 0x43, 0x5c, 0x3d, 0x53, 0x43, 0x2c, 0x1a, 0xa5, 0xb6, 0xbf, 0x7, 0x4, 0x5a, 0x3e, 0x40, 0x8b, 0xa4, 0x57, 0x12, 0x58, 0xbc, 0x42, 0xe2, 0xc3, 0xde, 0x76, 0x98, 0x80, 0xe2, 0xbe}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -335,7 +337,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(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6d, 0xb1, 0x14, 0x6d, 0x54, 0x28, 0x67, 0xc3, 0x23, 0x6a, 0xfc, 0x80, 0xdf, 0x9e, 0x4c, 0x35, 0x36, 0xf, 0xf8, 0xf3, 0x5f, 0xae, 0xad, 0xb, 0xc1, 0x51, 0x8e, 0x17, 0x7, 0xe5, 0x7f, 0x91}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -355,7 +357,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(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa9, 0x7a, 0xa0, 0xf2, 0xdb, 0x13, 0x91, 0x91, 0xa8, 0x34, 0x1a, 0xa1, 0x49, 0x68, 0xd5, 0xae, 0x2c, 0xd8, 0xd5, 0xea, 0x8f, 0x8c, 0xc7, 0x2, 0x4e, 0x58, 0x2c, 0x3a, 0x14, 0xd4, 0x4f, 0x2c}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -375,7 +377,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(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf4, 0xa2, 0x64, 0x50, 0xc5, 0x4, 0xb9, 0x8b, 0xd1, 0x18, 0x9b, 0xc3, 0x91, 0x36, 0x2a, 0x1f, 0xc3, 0x6c, 0x2d, 0x92, 0xf8, 0x5e, 0xff, 0xb1, 0x59, 0x61, 0x2, 0x1c, 0xe1, 0x85, 0x90, 0xa4}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -395,7 +397,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(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x8d, 0x22, 0x17, 0x92, 0xd2, 0x11, 0x4e, 0x7, 0x93, 0x9a, 0x55, 0xfd, 0xb, 0x97, 0xc4, 0x63, 0x6a, 0x81, 0x97, 0xcd, 0xb2, 0xf8, 0x4b, 0x5f, 0x3c, 0xfa, 0x3a, 0x38, 0x53, 0x10, 0xed, 0x9d}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -415,7 +417,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(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf9, 0xd8, 0xdc, 0xa7, 0xb, 0x92, 0x7a, 0x61, 0x37, 0x24, 0x1c, 0x77, 0x5e, 0xe, 0x7e, 0xfc, 0x9f, 0x98, 0x7b, 0x65, 0xe7, 0xf9, 0x71, 0x57, 0x89, 0x2d, 0x90, 0x1b, 0xf6, 0x5e, 0x37, 0xe8}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -435,7 +437,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(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x24, 0x1c, 0xc4, 0x78, 0x91, 0xc7, 0xeb, 0xfe, 0xc8, 0xa0, 0xd8, 0x13, 0x27, 0x97, 0xc8, 0x96, 0x56, 0x97, 0x33, 0x2c, 0x1e, 0x16, 0x8a, 0xd3, 0x49, 0x99, 0x3, 0xe9, 0xbb, 0xc4, 0x5, 0x3c}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -455,7 +457,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(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xaa, 0xca, 0xe, 0x46, 0xa0, 0x9, 0x9d, 0x47, 0x57, 0xe9, 0xfb, 0x17, 0xeb, 0x9c, 0xf6, 0xb8, 0x1d, 0xe9, 0xd, 0x0, 0xd5, 0xe5, 0xd8, 0x9e, 0x60, 0xa, 0xbf, 0x32, 0x2c, 0x52, 0x7f, 0x6a}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -475,7 +477,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(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc9, 0x24, 0xd6, 0x1d, 0xa, 0x83, 0x1e, 0x4d, 0xf, 0xae, 0x4d, 0x8c, 0x51, 0x32, 0xa8, 0x37, 0xb0, 0x14, 0xfb, 0x32, 0x34, 0xc8, 0xc, 0x4e, 0x5b, 0xc5, 0x15, 0x65, 0x73, 0x0, 0x0, 0x1d}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -495,7 +497,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(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7f, 0x9, 0xf, 0xfb, 0xdb, 0x3c, 0x86, 0x70, 0x82, 0xda, 0x10, 0x25, 0xe2, 0x4e, 0x40, 0x45, 0xab, 0x8b, 0x1c, 0x91, 0x7c, 0xf1, 0x70, 0x2e, 0x81, 0xf3, 0x71, 0x45, 0xda, 0xe2, 0xa4, 0x57}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -515,7 +517,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(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x1f, 0x64, 0xea, 0xb4, 0xae, 0x9e, 0xdb, 0x9, 0x58, 0xb6, 0x5c, 0x7a, 0x50, 0xc5, 0xfe, 0x93, 0x5d, 0x36, 0x85, 0x5d, 0x6a, 0xba, 0xc9, 0x7e, 0x84, 0xd7, 0xbf, 0x2a, 0x53, 0xf3, 0x97, 0xf1}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -535,7 +537,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(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x34, 0xf1, 0xf0, 0x82, 0x79, 0x28, 0x19, 0xc2, 0x39, 0x6a, 0xa5, 0x96, 0x59, 0x23, 0xa0, 0xed, 0x60, 0x58, 0x86, 0x9, 0xb9, 0xad, 0xfb, 0xa, 0xe3, 0x47, 0x6e, 0xa1, 0x18, 0xe8, 0x39, 0x2c}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -555,7 +557,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(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x71, 0x2, 0x9a, 0xca, 0xd4, 0x38, 0x44, 0x30, 0x2b, 0xa8, 0x27, 0x32, 0x63, 0x53, 0x22, 0x60, 0x59, 0x84, 0x23, 0x96, 0x77, 0xf0, 0x56, 0xd7, 0x94, 0xe0, 0x95, 0x28, 0x6, 0x1d, 0x4e, 0xb1}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -575,7 +577,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(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x77, 0xac, 0x2f, 0xc4, 0xd, 0xa7, 0x1b, 0x37, 0x30, 0xc2, 0x68, 0xee, 0xde, 0x54, 0x5e, 0xbf, 0x3f, 0xa0, 0xd6, 0xc6, 0x9f, 0xd4, 0x34, 0x12, 0x76, 0x1e, 0x66, 0x4a, 0xfc, 0xf, 0xee, 0xc9}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -595,7 +597,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(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x34, 0x9a, 0xbc, 0xfa, 0xaa, 0x8c, 0x9c, 0x37, 0x67, 0x15, 0x9c, 0x7e, 0x78, 0x75, 0x66, 0x82, 0x18, 0x72, 0x10, 0xbc, 0xd4, 0xab, 0x44, 0xfe, 0x57, 0x85, 0x6d, 0x19, 0xf5, 0x96, 0x8a, 0xbe}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -615,7 +617,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(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x11, 0x3, 0x26, 0xf9, 0x29, 0x50, 0x4f, 0xcd, 0x46, 0xe5, 0xb1, 0x6b, 0xb9, 0x2, 0x40, 0xb1, 0xdf, 0x4a, 0x4c, 0x7a, 0xda, 0x3, 0x35, 0xcd, 0x2d, 0xcc, 0x80, 0x7d, 0x57, 0x5f, 0x3, 0x5c}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -635,7 +637,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(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xdd, 0xa6, 0x65, 0xc5, 0x1d, 0xb2, 0x77, 0x36, 0xe3, 0x79, 0xda, 0xe8, 0x7a, 0xa4, 0xdf, 0x45, 0xae, 0xd8, 0xb4, 0xba, 0x90, 0xfd, 0x74, 0x71, 0x14, 0x75, 0x73, 0x72, 0xb9, 0x9e, 0x1, 0x81}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -655,7 +657,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(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x10, 0x45, 0xc6, 0xc9, 0x73, 0xbb, 0x1f, 0xda, 0xa3, 0x4d, 0x19, 0x98, 0x85, 0x2d, 0xca, 0xda, 0xcc, 0x3b, 0x32, 0xff, 0xc7, 0x7b, 0xe3, 0x9f, 0x9b, 0x2a, 0x93, 0xf5, 0xdf, 0x65, 0x38, 0x91}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -675,7 +677,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(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x61, 0x44, 0x3a, 0xbe, 0x30, 0xd2, 0x7e, 0xc0, 0xe2, 0x8e, 0x65, 0x53, 0x54, 0xbb, 0x7a, 0x1c, 0xb3, 0x5d, 0xd2, 0xa6, 0xa9, 0x28, 0xb7, 0xa4, 0x5f, 0x8b, 0x9, 0x5f, 0x17, 0xc1, 0x85, 0x21}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -695,7 +697,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(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xfa, 0x30, 0x81, 0x3a, 0x2f, 0x9f, 0xb3, 0x0, 0x55, 0x8e, 0x1d, 0xa8, 0xb0, 0x68, 0xf0, 0x40, 0x1a, 0x6c, 0xaa, 0xfc, 0x33, 0xd1, 0xd1, 0x55, 0x3f, 0xf2, 0xbd, 0x54, 0xa1, 0x2b, 0x40, 0x95}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -715,7 +717,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(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf, 0x52, 0x22, 0xe, 0x2f, 0xd7, 0x93, 0x5f, 0x42, 0xc2, 0x93, 0x4, 0x35, 0x6f, 0xc9, 0x19, 0xed, 0x6b, 0x52, 0x6f, 0xae, 0x99, 0xe2, 0x68, 0x3d, 0x4f, 0x40, 0xe, 0xe1, 0xa, 0x47, 0x21}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -735,7 +737,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(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x36, 0x76, 0x8a, 0xc9, 0x7, 0x8f, 0xa5, 0xcb, 0x12, 0x21, 0x4e, 0xfe, 0x96, 0x77, 0xcf, 0x7f, 0x76, 0x75, 0x36, 0x2c, 0xf8, 0x1d, 0x13, 0xcb, 0xcd, 0x6e, 0x70, 0xbf, 0xf5, 0x93, 0x67, 0xd1}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -755,7 +757,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(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7c, 0x16, 0x85, 0xa6, 0x5b, 0xe1, 0x66, 0xb9, 0x84, 0xbe, 0x7f, 0xa, 0x77, 0x23, 0xb9, 0xef, 0x8e, 0x2, 0x8, 0xfc, 0x61, 0xb2, 0x43, 0xa9, 0x63, 0xae, 0xb4, 0xdf, 0x30, 0xb1, 0x61, 0x4b}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -775,7 +777,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(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x8, 0xc, 0xa6, 0x1f, 0xa5, 0xc6, 0x7c, 0x6f, 0xab, 0x2c, 0x2d, 0xb5, 0xa4, 0xdd, 0xc1, 0xd6, 0x44, 0x83, 0xf9, 0xb1, 0xa5, 0xce, 0x34, 0x3d, 0x2, 0xa9, 0x35, 0xcf, 0xc6, 0xb2, 0x43, 0x37}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -795,7 +797,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(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x33, 0x3e, 0x2b, 0xa, 0x1e, 0xc7, 0x6d, 0x6f, 0xd1, 0x1d, 0xe8, 0x4b, 0xdd, 0x92, 0x76, 0xea, 0xf2, 0x3e, 0x15, 0x85, 0xc4, 0xc3, 0x31, 0xf1, 0xc0, 0xa2, 0xd7, 0x47, 0xde, 0x4e, 0xfd, 0xc6}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -815,7 +817,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(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x36, 0x2e, 0x89, 0x31, 0xec, 0xef, 0xeb, 0x43, 0xf5, 0x96, 0x6d, 0xce, 0x91, 0x8a, 0x37, 0x2a, 0x11, 0x7a, 0x3f, 0xd9, 0x10, 0xbb, 0xa1, 0xbc, 0x7, 0xe0, 0x3b, 0xa5, 0xf4, 0xa6, 0xf4, 0xa1}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -835,7 +837,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(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x9b, 0x94, 0xa3, 0x45, 0x91, 0x1e, 0x66, 0xd1, 0x96, 0x5a, 0xaf, 0xfa, 0x29, 0x39, 0xa8, 0x3a, 0x97, 0x4c, 0x65, 0x6, 0x96, 0x90, 0x4c, 0xfe, 0xce, 0x7d, 0x5d, 0xd4, 0xb3, 0x8, 0x6d, 0x5f}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -855,7 +857,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(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x36, 0xe6, 0xa7, 0xd5, 0x26, 0xff, 0xab, 0x92, 0x88, 0xf0, 0xd3, 0x34, 0xd9, 0x2f, 0xe7, 0x18, 0x1a, 0x40, 0xf9, 0xbe, 0x8e, 0xfc, 0xd0, 0x4f, 0x1f, 0x4a, 0xb9, 0x83, 0x3f, 0xa9, 0xde, 0xb}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -875,7 +877,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(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7e, 0xd2, 0xce, 0xe, 0x5c, 0x19, 0xbe, 0x5e, 0x29, 0xbe, 0x9b, 0x31, 0x53, 0x76, 0xb2, 0xc8, 0x56, 0xf0, 0x82, 0xfe, 0x7d, 0x6c, 0xe8, 0x5c, 0xe9, 0x7a, 0x5d, 0x5, 0xc4, 0x92, 0x38, 0xe3}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -895,7 +897,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(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6, 0xdc, 0x6e, 0x6f, 0x97, 0xc7, 0x3d, 0x50, 0xab, 0x80, 0x87, 0x44, 0x43, 0x38, 0xe6, 0xc5, 0xc1, 0x91, 0x26, 0xf, 0x16, 0xe, 0xd9, 0x32, 0x37, 0x25, 0x96, 0x25, 0x6, 0xc8, 0xb5, 0x4a}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -915,7 +917,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(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf2, 0x52, 0x12, 0x40, 0xd8, 0x6f, 0x71, 0x97, 0x46, 0x39, 0xaa, 0x74, 0x41, 0xcd, 0x45, 0x4c, 0xe8, 0xd9, 0xe2, 0x56, 0x8e, 0x78, 0x18, 0x62, 0xf6, 0xa8, 0x36, 0xe9, 0x9a, 0x1f, 0xc, 0xb1}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -935,7 +937,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(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd5, 0x61, 0x42, 0xb6, 0x8c, 0x7f, 0x2d, 0xec, 0xa9, 0x6d, 0x3d, 0x0, 0xa3, 0x32, 0xd8, 0x4a, 0x38, 0x5c, 0x97, 0xfc, 0x68, 0xde, 0xa9, 0xb7, 0xd8, 0xde, 0xb, 0x29, 0x93, 0xdc, 0x81, 0xf8}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -955,7 +957,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(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc1, 0xbd, 0x9b, 0x6a, 0xc9, 0x1a, 0x7a, 0x34, 0xcf, 0x5f, 0x80, 0x9e, 0x8c, 0x1c, 0xc0, 0xec, 0x4e, 0x78, 0xb0, 0x2d, 0x15, 0x77, 0x38, 0x4a, 0x6a, 0x5, 0x84, 0xf5, 0x8d, 0x8b, 0xbe, 0x9}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -975,7 +977,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(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x10, 0x6f, 0x70, 0x47, 0x40, 0xab, 0xa8, 0x60, 0xe0, 0xf9, 0x8, 0x7e, 0x19, 0x9d, 0xba, 0x33, 0x16, 0xfc, 0x3c, 0xdc, 0xa8, 0xa6, 0x53, 0x61, 0x39, 0x82, 0x91, 0xcf, 0x69, 0xd8, 0xf2, 0xcf}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -995,7 +997,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(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x81, 0x1e, 0x6c, 0x3c, 0xd, 0xd7, 0x7d, 0xbb, 0x19, 0xbc, 0xe4, 0x7, 0xfd, 0xf8, 0x66, 0x6d, 0x78, 0xf6, 0x4, 0xe6, 0x51, 0xe4, 0xe6, 0xdc, 0xe, 0x5a, 0x2e, 0xac, 0xe6, 0xe7, 0x24, 0x69}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -1015,7 +1017,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(0644), modTime: time.Unix(1652264632, 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
|
||||
}
|
||||
|
@ -1035,7 +1037,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(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xaa, 0x63, 0x5c, 0x73, 0x19, 0x83, 0xbd, 0x35, 0x80, 0x9f, 0x66, 0xec, 0x4c, 0xbc, 0x9d, 0x2d, 0x52, 0x91, 0x6d, 0xb3, 0x2b, 0x87, 0xde, 0x24, 0x46, 0x5c, 0xd, 0xfd, 0x78, 0xf5, 0xe3, 0xe9}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -1055,7 +1057,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(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x2e, 0xa8, 0x34, 0xe2, 0xc0, 0x62, 0xc8, 0xd6, 0x5a, 0x87, 0xe3, 0x70, 0xe1, 0xc4, 0x16, 0x9c, 0x60, 0x2e, 0x98, 0xf0, 0x91, 0x84, 0xbe, 0xe0, 0xdf, 0x3e, 0x4d, 0x24, 0xc4, 0x6c, 0x40, 0x17}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -1075,7 +1077,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(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6c, 0xba, 0x3f, 0xba, 0x1a, 0x71, 0xa8, 0x9, 0x19, 0xbe, 0x1e, 0x38, 0x50, 0x30, 0x3a, 0x52, 0x15, 0x29, 0xee, 0x49, 0x19, 0x6f, 0x53, 0xc2, 0xc6, 0x6c, 0xd9, 0x80, 0x7e, 0xb9, 0x58, 0x7a}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -1095,7 +1097,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(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x70, 0x8b, 0x92, 0x56, 0x83, 0x70, 0x7f, 0x6, 0xb2, 0xd, 0x1c, 0x2f, 0xcc, 0x93, 0xc3, 0x85, 0x8c, 0xc2, 0x38, 0x94, 0x7e, 0x88, 0x3f, 0x39, 0x34, 0xf8, 0x90, 0xcf, 0x83, 0x68, 0x3d, 0xe5}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -1115,11 +1117,51 @@ 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(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x15, 0xfc, 0xda, 0x70, 0x53, 0x19, 0x90, 0x20, 0x4, 0x1c, 0x99, 0x42, 0x53, 0x1a, 0xd6, 0xb8, 0xbb, 0x8a, 0xe8, 0xbe, 0xcc, 0xb7, 0xc, 0x7f, 0x73, 0x50, 0x18, 0xf1, 0x8b, 0x18, 0x54, 0x64}}
|
||||
return a, nil
|
||||
}
|
||||
|
||||
var __1645034602_add_mutual_contact_requestUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x90\xc1\x6a\xc3\x30\x10\x44\xef\xfa\x8a\x3d\xda\x90\x3f\xf0\x49\xb6\x05\x35\x55\xa4\x22\x94\xd2\x9c\x84\x50\x17\x23\x52\x3b\xad\x77\x7d\xe8\xdf\x97\xd0\x24\x44\xd0\x94\x9c\x67\xde\xec\xec\x74\x4e\x49\xaf\xc0\xcb\x56\x2b\x48\xc7\x99\x63\xe2\xb0\xe0\xd7\x8a\xc4\x04\x95\x00\xa0\x3c\xce\x79\x1e\xc3\x01\xbf\xe1\x55\xba\xee\x49\x3a\x30\xd6\x83\xd9\x69\xbd\x11\x70\x85\xee\xe9\x27\x3e\xf2\xba\x20\xb4\xda\xb6\x85\xc4\x79\x42\xe2\x38\x7d\xc2\x60\x7c\xa1\xbc\xb8\x61\x2b\xdd\x1e\x9e\xd5\x1e\xaa\x9b\x06\x9b\xdb\x73\xb5\xa8\x1b\x21\xa4\xf6\xca\x95\x0f\x10\xc8\xbe\x87\xce\xea\xdd\xd6\x5c\x81\x09\x89\xe2\x88\x21\xbf\x5f\x6a\x36\x0f\xb3\xe7\x41\x42\xfa\x38\xa6\xc3\xa9\x6c\x89\xae\x84\xcb\x25\xff\x5f\x9e\x38\x32\xfe\xf2\xe2\xbc\xfc\x60\x7a\xf5\x76\xc7\x68\x4d\x19\x5d\xfd\x69\xab\x1b\xf1\x13\x00\x00\xff\xff\xdb\x9e\x87\x1a\xc6\x01\x00\x00")
|
||||
|
||||
func _1645034602_add_mutual_contact_requestUpSqlBytes() ([]byte, error) {
|
||||
return bindataRead(
|
||||
__1645034602_add_mutual_contact_requestUpSql,
|
||||
"1645034602_add_mutual_contact_request.up.sql",
|
||||
)
|
||||
}
|
||||
|
||||
func _1645034602_add_mutual_contact_requestUpSql() (*asset, error) {
|
||||
bytes, err := _1645034602_add_mutual_contact_requestUpSqlBytes()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1645034602_add_mutual_contact_request.up.sql", size: 454, mode: os.FileMode(0644), modTime: time.Unix(1653980143, 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
|
||||
}
|
||||
|
||||
var __1650373957_add_contact_request_stateUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x72\xf4\x09\x71\x0d\x52\x08\x71\x74\xf2\x71\x55\x48\xce\xcf\x2b\x49\x4c\x2e\x29\x56\x70\x74\x71\x51\x70\xf6\xf7\x09\xf5\xf5\x83\x89\xc5\x17\xa5\x16\x96\xa6\x16\x97\xc4\x17\x97\x24\x96\xa4\x2a\x78\xfa\x85\x58\x73\x01\x02\x00\x00\xff\xff\x0c\x1a\x7b\x73\x3b\x00\x00\x00")
|
||||
|
||||
func _1650373957_add_contact_request_stateUpSqlBytes() ([]byte, error) {
|
||||
return bindataRead(
|
||||
__1650373957_add_contact_request_stateUpSql,
|
||||
"1650373957_add_contact_request_state.up.sql",
|
||||
)
|
||||
}
|
||||
|
||||
func _1650373957_add_contact_request_stateUpSql() (*asset, error) {
|
||||
bytes, err := _1650373957_add_contact_request_stateUpSqlBytes()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1650373957_add_contact_request_state.up.sql", size: 59, mode: os.FileMode(0644), modTime: time.Unix(1653980143, 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 _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) {
|
||||
|
@ -1135,7 +1177,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(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x1c, 0x6e, 0xfb, 0xcc, 0x81, 0x94, 0x4d, 0x8c, 0xa0, 0x3b, 0x5, 0xb0, 0x18, 0xd6, 0xbb, 0xb3, 0x79, 0xc8, 0x8f, 0xff, 0xc1, 0x10, 0xf9, 0xf, 0x20, 0x1b, 0x4a, 0x74, 0x96, 0x42, 0xd7, 0xa8}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -1155,7 +1197,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(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa0, 0xcc, 0x41, 0xe1, 0x61, 0x12, 0x97, 0xe, 0x36, 0x8c, 0xa7, 0x9e, 0xe0, 0x6e, 0x59, 0x9e, 0xee, 0xd5, 0x4a, 0xcf, 0x1e, 0x60, 0xd6, 0xc3, 0x3a, 0xc9, 0x6c, 0xf2, 0x86, 0x5a, 0xb4, 0x1e}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -1351,6 +1393,10 @@ var _bindata = map[string]func() (*asset, error){
|
|||
|
||||
"1645034601_display_name.up.sql": _1645034601_display_nameUpSql,
|
||||
|
||||
"1645034602_add_mutual_contact_request.up.sql": _1645034602_add_mutual_contact_requestUpSql,
|
||||
|
||||
"1650373957_add_contact_request_state.up.sql": _1650373957_add_contact_request_stateUpSql,
|
||||
|
||||
"README.md": readmeMd,
|
||||
|
||||
"doc.go": docGo,
|
||||
|
@ -1447,8 +1493,10 @@ var _bintree = &bintree{nil, map[string]*bintree{
|
|||
"1635840039_add_clock_read_at_column_in_chats.up.sql": &bintree{_1635840039_add_clock_read_at_column_in_chatsUpSql, map[string]*bintree{}},
|
||||
"1637852321_add_received_invitation_admin_column_in_chats.up.sql": &bintree{_1637852321_add_received_invitation_admin_column_in_chatsUpSql, map[string]*bintree{}},
|
||||
"1645034601_display_name.up.sql": &bintree{_1645034601_display_nameUpSql, map[string]*bintree{}},
|
||||
"README.md": &bintree{readmeMd, map[string]*bintree{}},
|
||||
"doc.go": &bintree{docGo, 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{}},
|
||||
"README.md": &bintree{readmeMd, map[string]*bintree{}},
|
||||
"doc.go": &bintree{docGo, map[string]*bintree{}},
|
||||
}}
|
||||
|
||||
// RestoreAsset restores an asset under the given directory.
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
CREATE TABLE contact_requests (
|
||||
signing_key VARCHAR NOT NULL,
|
||||
contact_key VARCHAR NOT NULL,
|
||||
signature BLOB NOT NULL,
|
||||
timestamp INT NOT NULL,
|
||||
PRIMARY KEY (signing_key, contact_key)
|
||||
);
|
||||
|
||||
ALTER TABLE contacts ADD COLUMN contact_message_id VARCHAR;
|
||||
ALTER TABLE contacts ADD COLUMN contact_request_clock INT;
|
||||
ALTER TABLE user_messages ADD COLUMN contact_request_state INT;
|
||||
|
||||
CREATE INDEX contact_request_state ON user_messages(contact_request_state);
|
|
@ -0,0 +1 @@
|
|||
ALTER TABLE contacts ADD COLUMN contact_request_state INT;
|
|
@ -491,6 +491,8 @@ func (db sqlitePersistence) Contacts() ([]*Contact, error) {
|
|||
c.removed,
|
||||
c.has_added_us,
|
||||
c.local_nickname,
|
||||
c.contact_request_state,
|
||||
c.contact_request_clock,
|
||||
i.image_type,
|
||||
i.payload
|
||||
FROM contacts c
|
||||
|
@ -505,18 +507,20 @@ func (db sqlitePersistence) Contacts() ([]*Contact, error) {
|
|||
for rows.Next() {
|
||||
|
||||
var (
|
||||
contact Contact
|
||||
nickname sql.NullString
|
||||
displayName sql.NullString
|
||||
imageType sql.NullString
|
||||
ensName sql.NullString
|
||||
ensVerified sql.NullBool
|
||||
added sql.NullBool
|
||||
blocked sql.NullBool
|
||||
removed sql.NullBool
|
||||
hasAddedUs sql.NullBool
|
||||
lastUpdatedLocally sql.NullInt64
|
||||
imagePayload []byte
|
||||
contact Contact
|
||||
nickname sql.NullString
|
||||
contactRequestState sql.NullInt64
|
||||
contactRequestClock sql.NullInt64
|
||||
displayName sql.NullString
|
||||
imageType sql.NullString
|
||||
ensName sql.NullString
|
||||
ensVerified sql.NullBool
|
||||
added sql.NullBool
|
||||
blocked sql.NullBool
|
||||
removed sql.NullBool
|
||||
hasAddedUs sql.NullBool
|
||||
lastUpdatedLocally sql.NullInt64
|
||||
imagePayload []byte
|
||||
)
|
||||
|
||||
contact.Images = make(map[string]images.IdentityImage)
|
||||
|
@ -536,6 +540,8 @@ func (db sqlitePersistence) Contacts() ([]*Contact, error) {
|
|||
&removed,
|
||||
&hasAddedUs,
|
||||
&nickname,
|
||||
&contactRequestState,
|
||||
&contactRequestClock,
|
||||
&imageType,
|
||||
&imagePayload,
|
||||
)
|
||||
|
@ -547,6 +553,14 @@ func (db sqlitePersistence) Contacts() ([]*Contact, error) {
|
|||
contact.LocalNickname = nickname.String
|
||||
}
|
||||
|
||||
if contactRequestState.Valid {
|
||||
contact.ContactRequestState = ContactRequestState(contactRequestState.Int64)
|
||||
}
|
||||
|
||||
if contactRequestClock.Valid {
|
||||
contact.ContactRequestClock = uint64(contactRequestClock.Int64)
|
||||
}
|
||||
|
||||
if displayName.Valid {
|
||||
contact.DisplayName = displayName.String
|
||||
}
|
||||
|
@ -722,6 +736,8 @@ func (db sqlitePersistence) SaveContact(contact *Contact, tx *sql.Tx) (err error
|
|||
last_updated,
|
||||
last_updated_locally,
|
||||
local_nickname,
|
||||
contact_request_state,
|
||||
contact_request_clock,
|
||||
added,
|
||||
blocked,
|
||||
removed,
|
||||
|
@ -729,7 +745,7 @@ func (db sqlitePersistence) SaveContact(contact *Contact, tx *sql.Tx) (err error
|
|||
name,
|
||||
photo,
|
||||
tribute_to_talk
|
||||
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
||||
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
||||
`)
|
||||
if err != nil {
|
||||
return
|
||||
|
@ -745,6 +761,8 @@ func (db sqlitePersistence) SaveContact(contact *Contact, tx *sql.Tx) (err error
|
|||
contact.LastUpdated,
|
||||
contact.LastUpdatedLocally,
|
||||
contact.LocalNickname,
|
||||
contact.ContactRequestState,
|
||||
contact.ContactRequestClock,
|
||||
contact.Added,
|
||||
contact.Blocked,
|
||||
contact.Removed,
|
||||
|
|
|
@ -69,6 +69,8 @@ const (
|
|||
ApplicationMetadataMessage_COMMUNITY_ARCHIVE_MAGNETLINK ApplicationMetadataMessage_Type = 43
|
||||
ApplicationMetadataMessage_SYNC_PROFILE_PICTURE ApplicationMetadataMessage_Type = 44
|
||||
ApplicationMetadataMessage_SYNC_WALLET_ACCOUNT ApplicationMetadataMessage_Type = 45
|
||||
ApplicationMetadataMessage_ACCEPT_CONTACT_REQUEST ApplicationMetadataMessage_Type = 46
|
||||
ApplicationMetadataMessage_RETRACT_CONTACT_REQUEST ApplicationMetadataMessage_Type = 47
|
||||
)
|
||||
|
||||
var ApplicationMetadataMessage_Type_name = map[int32]string{
|
||||
|
@ -118,6 +120,8 @@ var ApplicationMetadataMessage_Type_name = map[int32]string{
|
|||
43: "COMMUNITY_ARCHIVE_MAGNETLINK",
|
||||
44: "SYNC_PROFILE_PICTURE",
|
||||
45: "SYNC_WALLET_ACCOUNT",
|
||||
46: "ACCEPT_CONTACT_REQUEST",
|
||||
47: "RETRACT_CONTACT_REQUEST",
|
||||
}
|
||||
|
||||
var ApplicationMetadataMessage_Type_value = map[string]int32{
|
||||
|
@ -167,6 +171,8 @@ var ApplicationMetadataMessage_Type_value = map[string]int32{
|
|||
"COMMUNITY_ARCHIVE_MAGNETLINK": 43,
|
||||
"SYNC_PROFILE_PICTURE": 44,
|
||||
"SYNC_WALLET_ACCOUNT": 45,
|
||||
"ACCEPT_CONTACT_REQUEST": 46,
|
||||
"RETRACT_CONTACT_REQUEST": 47,
|
||||
}
|
||||
|
||||
func (x ApplicationMetadataMessage_Type) String() string {
|
||||
|
@ -245,53 +251,54 @@ func init() {
|
|||
}
|
||||
|
||||
var fileDescriptor_ad09a6406fcf24c7 = []byte{
|
||||
// 762 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x54, 0xdf, 0x73, 0x13, 0x37,
|
||||
0x10, 0xae, 0x21, 0x4d, 0xc8, 0x3a, 0x09, 0x8a, 0xc8, 0x0f, 0xc7, 0xf9, 0x65, 0x0c, 0x85, 0x00,
|
||||
0xad, 0x3b, 0xd3, 0x3e, 0x76, 0xfa, 0x20, 0x4b, 0x1b, 0x5b, 0xf8, 0x4e, 0x3a, 0x24, 0x9d, 0x19,
|
||||
0xf7, 0x45, 0x73, 0x14, 0x97, 0xc9, 0x0c, 0x60, 0x0f, 0x31, 0x0f, 0xf9, 0x3b, 0xfa, 0xf7, 0x76,
|
||||
0xa6, 0xa3, 0x3b, 0xdb, 0x67, 0x12, 0x87, 0x3c, 0xd9, 0xda, 0xef, 0x5b, 0xad, 0xf6, 0xdb, 0xfd,
|
||||
0x0e, 0x9a, 0xd9, 0x78, 0xfc, 0xf1, 0xe2, 0xef, 0x6c, 0x72, 0x31, 0xfa, 0xec, 0x3f, 0x0d, 0x27,
|
||||
0xd9, 0xfb, 0x6c, 0x92, 0xf9, 0x4f, 0xc3, 0xcb, 0xcb, 0xec, 0xc3, 0xb0, 0x35, 0xfe, 0x32, 0x9a,
|
||||
0x8c, 0xe8, 0x83, 0xfc, 0xe7, 0xdd, 0xd7, 0x7f, 0x9a, 0xff, 0x56, 0xa1, 0xce, 0xca, 0x84, 0x78,
|
||||
0xca, 0x8f, 0x0b, 0x3a, 0x3d, 0x82, 0xf5, 0xcb, 0x8b, 0x0f, 0x9f, 0xb3, 0xc9, 0xd7, 0x2f, 0xc3,
|
||||
0x5a, 0xa5, 0x51, 0x39, 0xdb, 0x30, 0x65, 0x80, 0xd6, 0x60, 0x6d, 0x9c, 0x5d, 0x7d, 0x1c, 0x65,
|
||||
0xef, 0x6b, 0xf7, 0x72, 0x6c, 0x76, 0xa4, 0x7f, 0xc2, 0xca, 0xe4, 0x6a, 0x3c, 0xac, 0xdd, 0x6f,
|
||||
0x54, 0xce, 0xb6, 0x7e, 0x7b, 0xd1, 0x9a, 0xd5, 0x6b, 0xdd, 0x5e, 0xab, 0xe5, 0xae, 0xc6, 0x43,
|
||||
0x93, 0xa7, 0x35, 0xff, 0x5b, 0x87, 0x95, 0x70, 0xa4, 0x55, 0x58, 0x4b, 0x55, 0x4f, 0xe9, 0xb7,
|
||||
0x8a, 0xfc, 0x40, 0x09, 0x6c, 0xf0, 0x2e, 0x73, 0x3e, 0x46, 0x6b, 0x59, 0x07, 0x49, 0x85, 0x52,
|
||||
0xd8, 0xe2, 0x5a, 0x39, 0xc6, 0x9d, 0x4f, 0x13, 0xc1, 0x1c, 0x92, 0x7b, 0xf4, 0x18, 0x0e, 0x62,
|
||||
0x8c, 0xdb, 0x68, 0x6c, 0x57, 0x26, 0xd3, 0xf0, 0x3c, 0xe5, 0x3e, 0xdd, 0x85, 0xed, 0x84, 0x49,
|
||||
0xe3, 0xa5, 0xb2, 0x8e, 0x45, 0x11, 0x73, 0x52, 0x2b, 0xb2, 0x12, 0xc2, 0x76, 0xa0, 0xf8, 0xb7,
|
||||
0xe1, 0x1f, 0xe9, 0x13, 0x38, 0x35, 0xf8, 0x26, 0x45, 0xeb, 0x3c, 0x13, 0xc2, 0xa0, 0xb5, 0xfe,
|
||||
0x5c, 0x1b, 0xef, 0x0c, 0x53, 0x96, 0xf1, 0x9c, 0xb4, 0x4a, 0x5f, 0xc2, 0x33, 0xc6, 0x39, 0x26,
|
||||
0xce, 0xdf, 0xc5, 0x5d, 0xa3, 0xaf, 0xe0, 0xb9, 0x40, 0x1e, 0x49, 0x85, 0x77, 0x92, 0x1f, 0xd0,
|
||||
0x7d, 0x78, 0x34, 0x23, 0x2d, 0x02, 0xeb, 0x74, 0x07, 0x88, 0x45, 0x25, 0xbe, 0x89, 0x02, 0x3d,
|
||||
0x85, 0xc3, 0xeb, 0x77, 0x2f, 0x12, 0xaa, 0x41, 0x9a, 0x1b, 0x4d, 0xfa, 0xa9, 0x80, 0x64, 0x63,
|
||||
0x39, 0xcc, 0x38, 0xd7, 0xa9, 0x72, 0x64, 0x93, 0x3e, 0x86, 0xe3, 0x9b, 0x70, 0x92, 0xb6, 0x23,
|
||||
0xc9, 0x7d, 0x98, 0x0b, 0xd9, 0xa2, 0x27, 0x50, 0x9f, 0xcd, 0x83, 0x6b, 0x81, 0x9e, 0x89, 0x3e,
|
||||
0x1a, 0x27, 0x2d, 0xc6, 0xa8, 0x1c, 0x79, 0x48, 0x9b, 0x70, 0x92, 0xa4, 0xb6, 0xeb, 0x95, 0x76,
|
||||
0xf2, 0x5c, 0xf2, 0xe2, 0x0a, 0x83, 0x1d, 0x69, 0x9d, 0x29, 0x24, 0x27, 0x41, 0xa1, 0xef, 0x73,
|
||||
0xbc, 0x41, 0x9b, 0x68, 0x65, 0x91, 0x6c, 0xd3, 0x43, 0xd8, 0xbf, 0x49, 0x7e, 0x93, 0xa2, 0x19,
|
||||
0x10, 0x4a, 0x9f, 0x42, 0xe3, 0x16, 0xb0, 0xbc, 0xe2, 0x51, 0xe8, 0x7a, 0x59, 0xbd, 0x5c, 0x3f,
|
||||
0xb2, 0x13, 0x5a, 0x5a, 0x06, 0x4f, 0xd3, 0x77, 0xc3, 0x0a, 0x62, 0xac, 0x5f, 0x4b, 0x6f, 0x70,
|
||||
0xaa, 0xf3, 0x1e, 0x3d, 0x80, 0xdd, 0x8e, 0xd1, 0x69, 0x92, 0xcb, 0xe2, 0xa5, 0xea, 0x4b, 0x57,
|
||||
0x74, 0xb7, 0x4f, 0xb7, 0x61, 0xb3, 0x08, 0x0a, 0x54, 0x4e, 0xba, 0x01, 0xa9, 0x05, 0x36, 0xd7,
|
||||
0x71, 0x9c, 0x2a, 0xe9, 0x06, 0x5e, 0xa0, 0xe5, 0x46, 0x26, 0x39, 0xfb, 0x80, 0xd6, 0x60, 0xa7,
|
||||
0x84, 0x16, 0xee, 0xa9, 0x87, 0x57, 0x97, 0xc8, 0x7c, 0xda, 0xda, 0xbf, 0xd6, 0x52, 0x91, 0x43,
|
||||
0xfa, 0x10, 0xaa, 0x89, 0x54, 0xf3, 0xb5, 0x3f, 0x0a, 0xde, 0x41, 0x21, 0x4b, 0xef, 0x1c, 0x87,
|
||||
0x97, 0x58, 0xc7, 0x5c, 0x6a, 0x67, 0xd6, 0x39, 0x09, 0xbd, 0x08, 0x8c, 0x70, 0xc1, 0x2f, 0xa7,
|
||||
0x61, 0xa9, 0x96, 0xed, 0xcc, 0xb4, 0x34, 0x69, 0xd0, 0x3a, 0xec, 0x31, 0xa5, 0xd5, 0x20, 0xd6,
|
||||
0xa9, 0xf5, 0x31, 0x3a, 0x23, 0xb9, 0x6f, 0x33, 0xc7, 0xbb, 0xe4, 0xf1, 0xdc, 0x55, 0x79, 0xcb,
|
||||
0x06, 0x63, 0xdd, 0x47, 0x41, 0x9a, 0x61, 0x6a, 0x65, 0x78, 0x5a, 0xca, 0x06, 0x01, 0x05, 0x79,
|
||||
0x42, 0x01, 0x56, 0xdb, 0x8c, 0xf7, 0xd2, 0x84, 0x3c, 0x9d, 0x6f, 0x64, 0x50, 0xb6, 0x1f, 0x3a,
|
||||
0xe5, 0xa8, 0x1c, 0x9a, 0x82, 0xfa, 0xd3, 0x7c, 0x23, 0xaf, 0xc3, 0x85, 0x1b, 0x51, 0x90, 0x67,
|
||||
0x61, 0xe3, 0x96, 0x52, 0x84, 0xb4, 0xb1, 0xb4, 0x16, 0x05, 0x79, 0x9e, 0x2b, 0x11, 0x38, 0x6d,
|
||||
0xad, 0x7b, 0x31, 0x33, 0x3d, 0x72, 0x46, 0xf7, 0x80, 0x16, 0x2f, 0x8c, 0x90, 0x19, 0xdf, 0x95,
|
||||
0xd6, 0x69, 0x33, 0x20, 0x2f, 0x82, 0x8c, 0x79, 0xdc, 0xa2, 0x73, 0x52, 0x75, 0xc8, 0x4b, 0xda,
|
||||
0x80, 0xa3, 0x72, 0x10, 0xcc, 0xf0, 0xae, 0xec, 0xa3, 0x8f, 0x59, 0x47, 0xa1, 0x8b, 0xa4, 0xea,
|
||||
0x91, 0x57, 0x61, 0x88, 0x79, 0x4e, 0x62, 0xf4, 0xb9, 0x8c, 0xd0, 0x27, 0x92, 0xbb, 0xd4, 0x20,
|
||||
0xf9, 0x39, 0xf8, 0x3b, 0x47, 0xde, 0xb2, 0x28, 0x42, 0x37, 0xb7, 0xda, 0x2f, 0xed, 0xcd, 0xbf,
|
||||
0xaa, 0xad, 0x5f, 0xff, 0x98, 0x7d, 0x34, 0xdf, 0xad, 0xe6, 0xff, 0x7e, 0xff, 0x3f, 0x00, 0x00,
|
||||
0xff, 0xff, 0x02, 0xb0, 0xf0, 0x03, 0xdb, 0x05, 0x00, 0x00,
|
||||
// 782 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, 0xe3, 0x7c, 0x19, 0x43, 0x21, 0x40,
|
||||
0x6b, 0x66, 0xda, 0xc7, 0x4e, 0x1f, 0x64, 0xe9, 0xc6, 0x16, 0xde, 0x95, 0x16, 0x49, 0x6b, 0xc6,
|
||||
0x7d, 0xd1, 0x2c, 0xc5, 0x65, 0x32, 0x03, 0xd8, 0x43, 0xcc, 0x43, 0xfe, 0x58, 0x7f, 0x45, 0x7f,
|
||||
0x54, 0x47, 0xbb, 0x5e, 0xaf, 0x43, 0x4c, 0xf3, 0x64, 0xef, 0x3d, 0xe7, 0xea, 0xea, 0x9e, 0x7b,
|
||||
0x8f, 0xa0, 0x95, 0x4d, 0x26, 0x1f, 0x2f, 0xfe, 0xca, 0xa6, 0x17, 0xe3, 0xcf, 0xfe, 0xd3, 0x68,
|
||||
0x9a, 0xbd, 0xcf, 0xa6, 0x99, 0xff, 0x34, 0xba, 0xbc, 0xcc, 0x3e, 0x8c, 0xda, 0x93, 0x2f, 0xe3,
|
||||
0xe9, 0x98, 0xde, 0xcb, 0x7f, 0xde, 0x7d, 0xfd, 0xbb, 0xf5, 0x6f, 0x0d, 0x1a, 0xac, 0x4a, 0x88,
|
||||
0x67, 0xfc, 0xb8, 0xa0, 0xd3, 0x23, 0xb8, 0x7f, 0x79, 0xf1, 0xe1, 0x73, 0x36, 0xfd, 0xfa, 0x65,
|
||||
0x54, 0x5f, 0x69, 0xae, 0x9c, 0x6d, 0x98, 0x2a, 0x40, 0xeb, 0xb0, 0x3e, 0xc9, 0xae, 0x3e, 0x8e,
|
||||
0xb3, 0xf7, 0xf5, 0x3b, 0x39, 0x56, 0x7e, 0xd2, 0x3f, 0x60, 0x75, 0x7a, 0x35, 0x19, 0xd5, 0xef,
|
||||
0x36, 0x57, 0xce, 0xb6, 0x7e, 0x7d, 0xde, 0x2e, 0xeb, 0xb5, 0xbf, 0x5f, 0xab, 0xed, 0xae, 0x26,
|
||||
0x23, 0x93, 0xa7, 0xb5, 0xfe, 0x01, 0x58, 0x0d, 0x9f, 0xb4, 0x06, 0xeb, 0xa9, 0xea, 0x2b, 0xfd,
|
||||
0x56, 0x91, 0x1f, 0x28, 0x81, 0x0d, 0xde, 0x63, 0xce, 0xc7, 0x68, 0x2d, 0xeb, 0x22, 0x59, 0xa1,
|
||||
0x14, 0xb6, 0xb8, 0x56, 0x8e, 0x71, 0xe7, 0xd3, 0x44, 0x30, 0x87, 0xe4, 0x0e, 0x3d, 0x86, 0x83,
|
||||
0x18, 0xe3, 0x0e, 0x1a, 0xdb, 0x93, 0xc9, 0x2c, 0x3c, 0x4f, 0xb9, 0x4b, 0x77, 0x61, 0x3b, 0x61,
|
||||
0xd2, 0x78, 0xa9, 0xac, 0x63, 0x51, 0xc4, 0x9c, 0xd4, 0x8a, 0xac, 0x86, 0xb0, 0x1d, 0x2a, 0x7e,
|
||||
0x3d, 0xfc, 0x23, 0x7d, 0x0c, 0xa7, 0x06, 0xdf, 0xa4, 0x68, 0x9d, 0x67, 0x42, 0x18, 0xb4, 0xd6,
|
||||
0x9f, 0x6b, 0xe3, 0x9d, 0x61, 0xca, 0x32, 0x9e, 0x93, 0xd6, 0xe8, 0x0b, 0x78, 0xca, 0x38, 0xc7,
|
||||
0xc4, 0xf9, 0xdb, 0xb8, 0xeb, 0xf4, 0x25, 0x3c, 0x13, 0xc8, 0x23, 0xa9, 0xf0, 0x56, 0xf2, 0x3d,
|
||||
0xba, 0x0f, 0x0f, 0x4b, 0xd2, 0x22, 0x70, 0x9f, 0xee, 0x00, 0xb1, 0xa8, 0xc4, 0xb5, 0x28, 0xd0,
|
||||
0x53, 0x38, 0xfc, 0xf6, 0xec, 0x45, 0x42, 0x2d, 0x48, 0x73, 0xa3, 0x49, 0x3f, 0x13, 0x90, 0x6c,
|
||||
0x2c, 0x87, 0x19, 0xe7, 0x3a, 0x55, 0x8e, 0x6c, 0xd2, 0x47, 0x70, 0x7c, 0x13, 0x4e, 0xd2, 0x4e,
|
||||
0x24, 0xb9, 0x0f, 0x73, 0x21, 0x5b, 0xf4, 0x04, 0x1a, 0xe5, 0x3c, 0xb8, 0x16, 0xe8, 0x99, 0x18,
|
||||
0xa0, 0x71, 0xd2, 0x62, 0x8c, 0xca, 0x91, 0x07, 0xb4, 0x05, 0x27, 0x49, 0x6a, 0x7b, 0x5e, 0x69,
|
||||
0x27, 0xcf, 0x25, 0x2f, 0x8e, 0x30, 0xd8, 0x95, 0xd6, 0x99, 0x42, 0x72, 0x12, 0x14, 0xfa, 0x7f,
|
||||
0x8e, 0x37, 0x68, 0x13, 0xad, 0x2c, 0x92, 0x6d, 0x7a, 0x08, 0xfb, 0x37, 0xc9, 0x6f, 0x52, 0x34,
|
||||
0x43, 0x42, 0xe9, 0x13, 0x68, 0x7e, 0x07, 0xac, 0x8e, 0x78, 0x18, 0xba, 0x5e, 0x56, 0x2f, 0xd7,
|
||||
0x8f, 0xec, 0x84, 0x96, 0x96, 0xc1, 0xb3, 0xf4, 0xdd, 0xb0, 0x82, 0x18, 0xeb, 0xd7, 0xd2, 0x1b,
|
||||
0x9c, 0xe9, 0xbc, 0x47, 0x0f, 0x60, 0xb7, 0x6b, 0x74, 0x9a, 0xe4, 0xb2, 0x78, 0xa9, 0x06, 0xd2,
|
||||
0x15, 0xdd, 0xed, 0xd3, 0x6d, 0xd8, 0x2c, 0x82, 0x02, 0x95, 0x93, 0x6e, 0x48, 0xea, 0x81, 0xcd,
|
||||
0x75, 0x1c, 0xa7, 0x4a, 0xba, 0xa1, 0x17, 0x68, 0xb9, 0x91, 0x49, 0xce, 0x3e, 0xa0, 0x75, 0xd8,
|
||||
0xa9, 0xa0, 0x85, 0x73, 0x1a, 0xe1, 0xd6, 0x15, 0x32, 0x9f, 0xb6, 0xf6, 0xaf, 0xb5, 0x54, 0xe4,
|
||||
0x90, 0x3e, 0x80, 0x5a, 0x22, 0xd5, 0x7c, 0xed, 0x8f, 0x82, 0x77, 0x50, 0xc8, 0xca, 0x3b, 0xc7,
|
||||
0xe1, 0x26, 0xd6, 0x31, 0x97, 0xda, 0xd2, 0x3a, 0x27, 0xa1, 0x17, 0x81, 0x11, 0x2e, 0xf8, 0xe5,
|
||||
0x34, 0x2c, 0xd5, 0xb2, 0x9d, 0x99, 0x95, 0x26, 0x4d, 0xda, 0x80, 0x3d, 0xa6, 0xb4, 0x1a, 0xc6,
|
||||
0x3a, 0xb5, 0x3e, 0x46, 0x67, 0x24, 0xf7, 0x1d, 0xe6, 0x78, 0x8f, 0x3c, 0x9a, 0xbb, 0x2a, 0x6f,
|
||||
0xd9, 0x60, 0xac, 0x07, 0x28, 0x48, 0x2b, 0x4c, 0xad, 0x0a, 0xcf, 0x4a, 0xd9, 0x20, 0xa0, 0x20,
|
||||
0x8f, 0x29, 0xc0, 0x5a, 0x87, 0xf1, 0x7e, 0x9a, 0x90, 0x27, 0xf3, 0x8d, 0x0c, 0xca, 0x0e, 0x42,
|
||||
0xa7, 0x1c, 0x95, 0x43, 0x53, 0x50, 0x7f, 0x9a, 0x6f, 0xe4, 0xb7, 0x70, 0xe1, 0x46, 0x14, 0xe4,
|
||||
0x69, 0xd8, 0xb8, 0xa5, 0x14, 0x21, 0x6d, 0x2c, 0xad, 0x45, 0x41, 0x9e, 0xe5, 0x4a, 0x04, 0x4e,
|
||||
0x47, 0xeb, 0x7e, 0xcc, 0x4c, 0x9f, 0x9c, 0xd1, 0x3d, 0xa0, 0xc5, 0x0d, 0x23, 0x64, 0xc6, 0xf7,
|
||||
0xa4, 0x75, 0xda, 0x0c, 0xc9, 0xf3, 0x20, 0x63, 0x1e, 0xb7, 0xe8, 0x9c, 0x54, 0x5d, 0xf2, 0x82,
|
||||
0x36, 0xe1, 0xa8, 0x1a, 0x04, 0x33, 0xbc, 0x27, 0x07, 0xe8, 0x63, 0xd6, 0x55, 0xe8, 0x22, 0xa9,
|
||||
0xfa, 0xe4, 0x65, 0x18, 0x62, 0x9e, 0x93, 0x18, 0x7d, 0x2e, 0x23, 0xf4, 0x89, 0xe4, 0x2e, 0x35,
|
||||
0x48, 0x7e, 0x0e, 0xfe, 0xce, 0x91, 0xb7, 0x2c, 0x8a, 0xd0, 0xcd, 0xad, 0xf6, 0x4b, 0xae, 0x69,
|
||||
0xf1, 0xa2, 0x94, 0x76, 0x2a, 0x17, 0xb2, 0x1d, 0xc4, 0x33, 0xe8, 0x4c, 0xe1, 0xb1, 0xeb, 0xe0,
|
||||
0xab, 0xce, 0xe6, 0x9f, 0xb5, 0xf6, 0xab, 0xdf, 0xcb, 0xd7, 0xf6, 0xdd, 0x5a, 0xfe, 0xef, 0xb7,
|
||||
0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0x8d, 0x5a, 0x84, 0x17, 0x14, 0x06, 0x00, 0x00,
|
||||
}
|
||||
|
|
|
@ -59,5 +59,7 @@ message ApplicationMetadataMessage {
|
|||
COMMUNITY_ARCHIVE_MAGNETLINK = 43;
|
||||
SYNC_PROFILE_PICTURE = 44;
|
||||
SYNC_WALLET_ACCOUNT = 45;
|
||||
ACCEPT_CONTACT_REQUEST = 46;
|
||||
RETRACT_CONTACT_REQUEST = 47;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -64,6 +64,7 @@ const (
|
|||
ChatMessage_COMMUNITY ChatMessage_ContentType = 9
|
||||
// Only local
|
||||
ChatMessage_SYSTEM_MESSAGE_GAP ChatMessage_ContentType = 10
|
||||
ChatMessage_CONTACT_REQUEST ChatMessage_ContentType = 11
|
||||
)
|
||||
|
||||
var ChatMessage_ContentType_name = map[int32]string{
|
||||
|
@ -78,6 +79,7 @@ var ChatMessage_ContentType_name = map[int32]string{
|
|||
8: "AUDIO",
|
||||
9: "COMMUNITY",
|
||||
10: "SYSTEM_MESSAGE_GAP",
|
||||
11: "CONTACT_REQUEST",
|
||||
}
|
||||
|
||||
var ChatMessage_ContentType_value = map[string]int32{
|
||||
|
@ -92,6 +94,7 @@ var ChatMessage_ContentType_value = map[string]int32{
|
|||
"AUDIO": 8,
|
||||
"COMMUNITY": 9,
|
||||
"SYSTEM_MESSAGE_GAP": 10,
|
||||
"CONTACT_REQUEST": 11,
|
||||
}
|
||||
|
||||
func (x ChatMessage_ContentType) String() string {
|
||||
|
@ -436,10 +439,13 @@ type ChatMessage struct {
|
|||
// Grant for community chat messages
|
||||
Grant []byte `protobuf:"bytes,13,opt,name=grant,proto3" json:"grant,omitempty"`
|
||||
// Message author's display name, introduced in version 1
|
||||
DisplayName string `protobuf:"bytes,14,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
DisplayName string `protobuf:"bytes,14,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
|
||||
SentContactRequestSignature *ContactRequestSignature `protobuf:"bytes,15,opt,name=sent_contact_request_signature,json=sentContactRequestSignature,proto3" json:"sent_contact_request_signature,omitempty"`
|
||||
ReceivedContactRequestSignature *ContactRequestSignature `protobuf:"bytes,16,opt,name=received_contact_request_signature,json=receivedContactRequestSignature,proto3" json:"received_contact_request_signature,omitempty"`
|
||||
ContactMessage bool `protobuf:"varint,17,opt,name=contact_message,json=contactMessage,proto3" json:"contact_message,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
}
|
||||
|
||||
func (m *ChatMessage) Reset() { *m = ChatMessage{} }
|
||||
|
@ -600,6 +606,27 @@ func (m *ChatMessage) GetDisplayName() string {
|
|||
return ""
|
||||
}
|
||||
|
||||
func (m *ChatMessage) GetSentContactRequestSignature() *ContactRequestSignature {
|
||||
if m != nil {
|
||||
return m.SentContactRequestSignature
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ChatMessage) GetReceivedContactRequestSignature() *ContactRequestSignature {
|
||||
if m != nil {
|
||||
return m.ReceivedContactRequestSignature
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ChatMessage) GetContactMessage() bool {
|
||||
if m != nil {
|
||||
return m.ContactMessage
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
// XXX_OneofWrappers is for the internal use of the proto package.
|
||||
func (*ChatMessage) XXX_OneofWrappers() []interface{} {
|
||||
return []interface{}{
|
||||
|
@ -610,6 +637,53 @@ func (*ChatMessage) XXX_OneofWrappers() []interface{} {
|
|||
}
|
||||
}
|
||||
|
||||
type ContactRequestSignature struct {
|
||||
Signature []byte `protobuf:"bytes,1,opt,name=signature,proto3" json:"signature,omitempty"`
|
||||
Timestamp uint64 `protobuf:"varint,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
}
|
||||
|
||||
func (m *ContactRequestSignature) Reset() { *m = ContactRequestSignature{} }
|
||||
func (m *ContactRequestSignature) String() string { return proto.CompactTextString(m) }
|
||||
func (*ContactRequestSignature) ProtoMessage() {}
|
||||
func (*ContactRequestSignature) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_263952f55fd35689, []int{6}
|
||||
}
|
||||
|
||||
func (m *ContactRequestSignature) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_ContactRequestSignature.Unmarshal(m, b)
|
||||
}
|
||||
func (m *ContactRequestSignature) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||
return xxx_messageInfo_ContactRequestSignature.Marshal(b, m, deterministic)
|
||||
}
|
||||
func (m *ContactRequestSignature) XXX_Merge(src proto.Message) {
|
||||
xxx_messageInfo_ContactRequestSignature.Merge(m, src)
|
||||
}
|
||||
func (m *ContactRequestSignature) XXX_Size() int {
|
||||
return xxx_messageInfo_ContactRequestSignature.Size(m)
|
||||
}
|
||||
func (m *ContactRequestSignature) XXX_DiscardUnknown() {
|
||||
xxx_messageInfo_ContactRequestSignature.DiscardUnknown(m)
|
||||
}
|
||||
|
||||
var xxx_messageInfo_ContactRequestSignature proto.InternalMessageInfo
|
||||
|
||||
func (m *ContactRequestSignature) GetSignature() []byte {
|
||||
if m != nil {
|
||||
return m.Signature
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ContactRequestSignature) GetTimestamp() uint64 {
|
||||
if m != nil {
|
||||
return m.Timestamp
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func init() {
|
||||
proto.RegisterEnum("protobuf.AudioMessage_AudioType", AudioMessage_AudioType_name, AudioMessage_AudioType_value)
|
||||
proto.RegisterEnum("protobuf.ChatMessage_ContentType", ChatMessage_ContentType_name, ChatMessage_ContentType_value)
|
||||
|
@ -619,6 +693,7 @@ func init() {
|
|||
proto.RegisterType((*EditMessage)(nil), "protobuf.EditMessage")
|
||||
proto.RegisterType((*DeleteMessage)(nil), "protobuf.DeleteMessage")
|
||||
proto.RegisterType((*ChatMessage)(nil), "protobuf.ChatMessage")
|
||||
proto.RegisterType((*ContactRequestSignature)(nil), "protobuf.ContactRequestSignature")
|
||||
}
|
||||
|
||||
func init() {
|
||||
|
@ -626,51 +701,59 @@ func init() {
|
|||
}
|
||||
|
||||
var fileDescriptor_263952f55fd35689 = []byte{
|
||||
// 734 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x54, 0x4d, 0x6f, 0xc3, 0x44,
|
||||
0x10, 0xad, 0x13, 0x27, 0x8e, 0xc7, 0x49, 0x64, 0x6d, 0x4b, 0x6b, 0x10, 0xd0, 0x34, 0x42, 0x22,
|
||||
0xa7, 0x20, 0x95, 0x22, 0x55, 0xe2, 0xe4, 0x26, 0x56, 0x6a, 0x8a, 0x9d, 0xb0, 0x76, 0x80, 0x72,
|
||||
0xb1, 0x5c, 0x7b, 0x69, 0xac, 0xc6, 0x1f, 0x8a, 0x37, 0x12, 0xb9, 0xf2, 0x7f, 0xb8, 0x72, 0xe5,
|
||||
0x87, 0xf0, 0x67, 0xd0, 0xae, 0xe3, 0xd8, 0x8d, 0x44, 0xdb, 0x53, 0x66, 0x26, 0xf3, 0x9e, 0xdf,
|
||||
0xbe, 0xd9, 0x59, 0x40, 0xc1, 0xca, 0xa7, 0x5e, 0x4c, 0xf2, 0xdc, 0x7f, 0x26, 0xe3, 0x6c, 0x93,
|
||||
0xd2, 0x14, 0x75, 0xf8, 0xcf, 0xd3, 0xf6, 0xf7, 0xcf, 0x14, 0x92, 0x6c, 0xe3, 0xbc, 0x28, 0x0f,
|
||||
0x6f, 0xa1, 0xef, 0xd0, 0x28, 0x78, 0x21, 0x1b, 0xab, 0x68, 0x47, 0x08, 0xc4, 0x95, 0x9f, 0xaf,
|
||||
0x34, 0x61, 0x20, 0x8c, 0x64, 0xcc, 0x63, 0x56, 0xcb, 0xfc, 0xe0, 0x45, 0x6b, 0x0c, 0x84, 0x51,
|
||||
0x0b, 0xf3, 0x78, 0xf8, 0x13, 0x74, 0xcd, 0xd8, 0x7f, 0x26, 0x25, 0x4e, 0x03, 0x29, 0xf3, 0x77,
|
||||
0xeb, 0xd4, 0x0f, 0x39, 0xb4, 0x8b, 0xcb, 0x14, 0x7d, 0x0d, 0x22, 0xdd, 0x65, 0x84, 0xa3, 0xfb,
|
||||
0xd7, 0xa7, 0xe3, 0x52, 0xc9, 0x98, 0xe3, 0xdd, 0x5d, 0x46, 0x30, 0x6f, 0x18, 0xfe, 0x2d, 0x40,
|
||||
0x57, 0xdf, 0x86, 0x51, 0xfa, 0x3e, 0xe7, 0xcd, 0x2b, 0xce, 0x41, 0xc5, 0x59, 0xc7, 0x17, 0x49,
|
||||
0xf5, 0x01, 0x74, 0x09, 0x4a, 0xb8, 0xdd, 0xf8, 0x34, 0x4a, 0x13, 0x2f, 0xce, 0xb5, 0xe6, 0x40,
|
||||
0x18, 0x89, 0x18, 0xca, 0x92, 0x95, 0x0f, 0xbf, 0x03, 0xf9, 0x80, 0x41, 0xe7, 0x80, 0x96, 0xf6,
|
||||
0x83, 0x3d, 0xff, 0xc5, 0xf6, 0xf4, 0xe5, 0xd4, 0x9c, 0x7b, 0xee, 0xe3, 0xc2, 0x50, 0x4f, 0x90,
|
||||
0x04, 0x4d, 0x5d, 0x9f, 0xa8, 0x02, 0x0f, 0x2c, 0xac, 0x36, 0x86, 0xff, 0x08, 0xa0, 0x18, 0x61,
|
||||
0x44, 0x4b, 0xdd, 0x67, 0xd0, 0x0a, 0xd6, 0x69, 0xf0, 0xc2, 0x55, 0x8b, 0xb8, 0x48, 0x98, 0x8b,
|
||||
0x94, 0xfc, 0x41, 0xb9, 0x66, 0x19, 0xf3, 0x18, 0x5d, 0x80, 0xc4, 0x87, 0x15, 0x85, 0x5c, 0x8d,
|
||||
0x8c, 0xdb, 0x2c, 0x35, 0x43, 0xf4, 0x05, 0xc0, 0x7e, 0x80, 0xec, 0x3f, 0x91, 0xff, 0x27, 0xef,
|
||||
0x2b, 0x66, 0xc8, 0xbe, 0xf0, 0xbc, 0xf1, 0x13, 0xaa, 0xb5, 0xb8, 0x2f, 0x45, 0x82, 0x6e, 0xa1,
|
||||
0x5b, 0x82, 0xb8, 0x3b, 0x6d, 0xee, 0xce, 0x27, 0x95, 0x3b, 0x7b, 0x81, 0xdc, 0x12, 0x25, 0xae,
|
||||
0x92, 0xe1, 0x5f, 0x02, 0xf4, 0xa6, 0x64, 0x4d, 0x28, 0x79, 0xfb, 0x0c, 0x35, 0xbd, 0x8d, 0x37,
|
||||
0xf4, 0x36, 0xff, 0x57, 0xaf, 0xf8, 0x96, 0xde, 0xd6, 0x87, 0xf5, 0xfe, 0xd9, 0x06, 0x65, 0xb2,
|
||||
0xf2, 0xdf, 0x71, 0xfc, 0x73, 0x90, 0x69, 0x14, 0x93, 0x9c, 0xfa, 0x71, 0xc6, 0xf5, 0x8a, 0xb8,
|
||||
0x2a, 0x1c, 0xe6, 0xd1, 0xac, 0xcd, 0xe3, 0x12, 0x94, 0x0d, 0xc9, 0xb3, 0x34, 0xc9, 0x89, 0x47,
|
||||
0xd3, 0xbd, 0xef, 0x50, 0x96, 0xdc, 0x14, 0x7d, 0x0a, 0x1d, 0x92, 0xe4, 0x5e, 0xe2, 0xc7, 0x85,
|
||||
0x5c, 0x19, 0x4b, 0x24, 0xc9, 0x6d, 0x3f, 0x26, 0x75, 0x6f, 0xda, 0xaf, 0xbc, 0x39, 0x3e, 0xa6,
|
||||
0xf4, 0xd1, 0x63, 0xa2, 0x29, 0x74, 0x83, 0x34, 0xa1, 0x24, 0xa1, 0x05, 0xb2, 0xc3, 0x91, 0x57,
|
||||
0x15, 0xb2, 0xe6, 0xc1, 0x78, 0x52, 0x74, 0x16, 0x2c, 0x41, 0x95, 0xa0, 0x1b, 0x90, 0xf2, 0x62,
|
||||
0xc9, 0x35, 0x79, 0x20, 0x8c, 0x94, 0x6b, 0xad, 0x22, 0x78, 0xbd, 0xfd, 0xf7, 0x27, 0xb8, 0x6c,
|
||||
0x45, 0x63, 0x68, 0x45, 0x6c, 0x41, 0x35, 0xe0, 0x98, 0xf3, 0xa3, 0xbd, 0xad, 0x10, 0x45, 0x1b,
|
||||
0xeb, 0xf7, 0xd9, 0xee, 0x68, 0xca, 0x71, 0x7f, 0x7d, 0x27, 0x59, 0x3f, 0x6f, 0x43, 0x5f, 0x82,
|
||||
0x1c, 0xa4, 0x71, 0xbc, 0x4d, 0x22, 0xba, 0xd3, 0xba, 0xec, 0x5a, 0xdc, 0x9f, 0xe0, 0xaa, 0x54,
|
||||
0x5d, 0x99, 0x5e, 0xfd, 0xca, 0x5c, 0x41, 0x37, 0x8c, 0xf2, 0x6c, 0xed, 0xef, 0x8a, 0x19, 0xf4,
|
||||
0xb9, 0xd3, 0xca, 0xbe, 0xc6, 0xe6, 0x30, 0xfc, 0x57, 0x00, 0xa5, 0xe6, 0x05, 0xd2, 0xe0, 0xac,
|
||||
0xdc, 0xe3, 0xc9, 0xdc, 0x76, 0x0d, 0xdb, 0x2d, 0x37, 0xb9, 0x0f, 0xe0, 0x1a, 0xbf, 0xba, 0xde,
|
||||
0xe2, 0x47, 0xdd, 0xb4, 0x55, 0x01, 0x29, 0x20, 0x39, 0xae, 0x39, 0x79, 0x30, 0xb0, 0xda, 0x40,
|
||||
0x00, 0x6d, 0xc7, 0xd5, 0xdd, 0xa5, 0xa3, 0x36, 0x91, 0x0c, 0x2d, 0xc3, 0x9a, 0xff, 0x60, 0xaa,
|
||||
0x22, 0xba, 0x80, 0x53, 0x17, 0xeb, 0xb6, 0xa3, 0x4f, 0x5c, 0x73, 0xce, 0x18, 0x2d, 0x4b, 0xb7,
|
||||
0xa7, 0x6a, 0x0b, 0x8d, 0xe0, 0x2b, 0xe7, 0xd1, 0x71, 0x0d, 0xcb, 0xb3, 0x0c, 0xc7, 0xd1, 0x67,
|
||||
0xc6, 0xe1, 0x6b, 0x0b, 0x6c, 0xfe, 0xac, 0xbb, 0x86, 0x37, 0xc3, 0xf3, 0xe5, 0x42, 0x6d, 0x33,
|
||||
0x36, 0xd3, 0xd2, 0x67, 0x86, 0x2a, 0xb1, 0x90, 0xbf, 0x2d, 0x6a, 0x07, 0xf5, 0x40, 0x66, 0x64,
|
||||
0x4b, 0xdb, 0x74, 0x1f, 0x55, 0x99, 0xbd, 0x3e, 0x47, 0x74, 0x33, 0x7d, 0xa1, 0xc2, 0x9d, 0x7c,
|
||||
0x78, 0x13, 0xef, 0x7a, 0xbf, 0x29, 0xe3, 0x6f, 0xbe, 0x2f, 0x6d, 0x7e, 0x6a, 0xf3, 0xe8, 0xdb,
|
||||
0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0x91, 0x87, 0x42, 0xf9, 0xff, 0x05, 0x00, 0x00,
|
||||
// 852 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x55, 0xdd, 0x6e, 0xdb, 0x36,
|
||||
0x14, 0x8e, 0xe2, 0x5f, 0x1d, 0x39, 0x8e, 0xc6, 0x74, 0x8d, 0xb6, 0x75, 0x8d, 0x2b, 0x0c, 0xa8,
|
||||
0xaf, 0x3c, 0xa0, 0xeb, 0x80, 0x02, 0xbb, 0x52, 0x1d, 0x21, 0xd5, 0x3a, 0xc9, 0x2e, 0x45, 0x6f,
|
||||
0xcb, 0x6e, 0x04, 0x56, 0x62, 0x13, 0x21, 0x91, 0xe4, 0x99, 0xf4, 0x30, 0xbf, 0xc9, 0x5e, 0x62,
|
||||
0xb7, 0xbb, 0xdd, 0x2b, 0xed, 0x11, 0x06, 0x52, 0x56, 0xa4, 0x04, 0x88, 0x93, 0x2b, 0xf3, 0x1c,
|
||||
0x9d, 0xef, 0x3b, 0x1f, 0xbf, 0x43, 0xd2, 0x80, 0xe2, 0x4b, 0x2a, 0xa2, 0x8c, 0x71, 0x4e, 0x2f,
|
||||
0xd8, 0x64, 0xb9, 0x2a, 0x44, 0x81, 0xfa, 0xea, 0xe7, 0xe3, 0xfa, 0xd3, 0x97, 0x06, 0xcb, 0xd7,
|
||||
0x19, 0x2f, 0xd3, 0xf6, 0x1b, 0x18, 0x86, 0x22, 0x8d, 0xaf, 0xd8, 0xca, 0x2f, 0xcb, 0x11, 0x82,
|
||||
0xf6, 0x25, 0xe5, 0x97, 0x96, 0x36, 0xd2, 0xc6, 0x3a, 0x56, 0x6b, 0x99, 0x5b, 0xd2, 0xf8, 0xca,
|
||||
0xda, 0x1f, 0x69, 0xe3, 0x0e, 0x56, 0x6b, 0xfb, 0x03, 0x0c, 0xbc, 0x8c, 0x5e, 0xb0, 0x0a, 0x67,
|
||||
0x41, 0x6f, 0x49, 0x37, 0xd7, 0x05, 0x4d, 0x14, 0x74, 0x80, 0xab, 0x10, 0xbd, 0x84, 0xb6, 0xd8,
|
||||
0x2c, 0x99, 0x42, 0x0f, 0x5f, 0x1d, 0x4d, 0x2a, 0x25, 0x13, 0x85, 0x27, 0x9b, 0x25, 0xc3, 0xaa,
|
||||
0xc0, 0xfe, 0x47, 0x83, 0x81, 0xb3, 0x4e, 0xd2, 0xe2, 0x61, 0xce, 0xd7, 0xb7, 0x38, 0x47, 0x35,
|
||||
0x67, 0x13, 0x5f, 0x06, 0x75, 0x03, 0x74, 0x02, 0x46, 0xb2, 0x5e, 0x51, 0x91, 0x16, 0x79, 0x94,
|
||||
0x71, 0xab, 0x35, 0xd2, 0xc6, 0x6d, 0x0c, 0x55, 0xca, 0xe7, 0xf6, 0xf7, 0xa0, 0xdf, 0x60, 0xd0,
|
||||
0x53, 0x40, 0x8b, 0xe0, 0x7d, 0x30, 0xfb, 0x25, 0x88, 0x9c, 0xc5, 0xa9, 0x37, 0x8b, 0xc8, 0xf9,
|
||||
0xdc, 0x35, 0xf7, 0x50, 0x0f, 0x5a, 0x8e, 0x33, 0x35, 0x35, 0xb5, 0xf0, 0xb1, 0xb9, 0x6f, 0xff,
|
||||
0xab, 0x81, 0xe1, 0x26, 0xa9, 0xa8, 0x74, 0x3f, 0x81, 0x4e, 0x7c, 0x5d, 0xc4, 0x57, 0x4a, 0x75,
|
||||
0x1b, 0x97, 0x81, 0x74, 0x51, 0xb0, 0x3f, 0x85, 0xd2, 0xac, 0x63, 0xb5, 0x46, 0xc7, 0xd0, 0x53,
|
||||
0xc3, 0x4a, 0x13, 0xa5, 0x46, 0xc7, 0x5d, 0x19, 0x7a, 0x09, 0xfa, 0x1a, 0x60, 0x3b, 0x40, 0xf9,
|
||||
0xad, 0xad, 0xbe, 0xe9, 0xdb, 0x8c, 0x97, 0xc8, 0x0e, 0x17, 0x2b, 0x9a, 0x0b, 0xab, 0xa3, 0x7c,
|
||||
0x29, 0x03, 0xf4, 0x06, 0x06, 0x15, 0x48, 0xb9, 0xd3, 0x55, 0xee, 0x7c, 0x5e, 0xbb, 0xb3, 0x15,
|
||||
0xa8, 0x2c, 0x31, 0xb2, 0x3a, 0xb0, 0xff, 0xd6, 0xe0, 0xe0, 0x94, 0x5d, 0x33, 0xc1, 0x76, 0xef,
|
||||
0xa1, 0xa1, 0x77, 0x7f, 0x87, 0xde, 0xd6, 0xbd, 0x7a, 0xdb, 0xbb, 0xf4, 0x76, 0x1e, 0xad, 0xf7,
|
||||
0xaf, 0x3e, 0x18, 0xd3, 0x4b, 0xfa, 0x80, 0xe3, 0xcf, 0x40, 0x17, 0x69, 0xc6, 0xb8, 0xa0, 0xd9,
|
||||
0x52, 0xe9, 0x6d, 0xe3, 0x3a, 0x71, 0x33, 0x8f, 0x56, 0x63, 0x1e, 0x27, 0x60, 0xac, 0x18, 0x5f,
|
||||
0x16, 0x39, 0x67, 0x91, 0x28, 0xb6, 0xbe, 0x43, 0x95, 0x22, 0x05, 0xfa, 0x02, 0xfa, 0x2c, 0xe7,
|
||||
0x51, 0x4e, 0xb3, 0x52, 0xae, 0x8e, 0x7b, 0x2c, 0xe7, 0x01, 0xcd, 0x58, 0xd3, 0x9b, 0xee, 0x2d,
|
||||
0x6f, 0xee, 0x6e, 0xb3, 0xf7, 0xd8, 0x6d, 0xa2, 0x53, 0x18, 0xc4, 0x45, 0x2e, 0x58, 0x2e, 0x4a,
|
||||
0x64, 0x5f, 0x21, 0x5f, 0xd4, 0xc8, 0x86, 0x07, 0x93, 0x69, 0x59, 0x59, 0xb2, 0xc4, 0x75, 0x80,
|
||||
0x5e, 0x43, 0x8f, 0x97, 0x97, 0xdc, 0xd2, 0x47, 0xda, 0xd8, 0x78, 0x65, 0xd5, 0x04, 0xb7, 0x6f,
|
||||
0xff, 0xbb, 0x3d, 0x5c, 0x95, 0xa2, 0x09, 0x74, 0x52, 0x79, 0x41, 0x2d, 0x50, 0x98, 0xa7, 0x77,
|
||||
0xee, 0x6d, 0x8d, 0x28, 0xcb, 0x64, 0x3d, 0x95, 0x77, 0xc7, 0x32, 0xee, 0xd6, 0x37, 0xef, 0xa4,
|
||||
0xac, 0x57, 0x65, 0xe8, 0x39, 0xe8, 0x71, 0x91, 0x65, 0xeb, 0x3c, 0x15, 0x1b, 0x6b, 0x20, 0x8f,
|
||||
0xc5, 0xbb, 0x3d, 0x5c, 0xa7, 0xea, 0x23, 0x73, 0xd0, 0x3c, 0x32, 0x2f, 0x60, 0x90, 0xa4, 0x7c,
|
||||
0x79, 0x4d, 0x37, 0xe5, 0x0c, 0x86, 0xca, 0x69, 0x63, 0x9b, 0x53, 0x73, 0xf8, 0x04, 0xcf, 0xb9,
|
||||
0x74, 0x4c, 0x5a, 0x40, 0x63, 0x11, 0xad, 0xd8, 0xef, 0x6b, 0xc6, 0x45, 0xc4, 0xd3, 0x8b, 0x9c,
|
||||
0x8a, 0xf5, 0x8a, 0x59, 0x87, 0x4a, 0x61, 0xd3, 0xc6, 0xb2, 0x14, 0x97, 0x95, 0x61, 0x55, 0x88,
|
||||
0xbf, 0x92, 0x44, 0xf7, 0x7c, 0x44, 0x39, 0xd8, 0x2b, 0x16, 0xb3, 0xf4, 0x0f, 0x96, 0xec, 0xe8,
|
||||
0x65, 0x3e, 0xb6, 0xd7, 0x49, 0x45, 0x76, 0x5f, 0xbf, 0x97, 0x70, 0x58, 0xb5, 0xd9, 0x9e, 0x11,
|
||||
0xeb, 0xb3, 0x91, 0x36, 0xee, 0xe3, 0xe1, 0x36, 0xbd, 0xb5, 0xd8, 0xfe, 0x4f, 0x03, 0xa3, 0x71,
|
||||
0x18, 0x90, 0x05, 0x4f, 0xaa, 0x87, 0x6c, 0x3a, 0x0b, 0x88, 0x1b, 0x90, 0xea, 0x29, 0x1b, 0x02,
|
||||
0x10, 0xf7, 0x57, 0x12, 0xcd, 0x7f, 0x72, 0xbc, 0xc0, 0xd4, 0x90, 0x01, 0xbd, 0x90, 0x78, 0xd3,
|
||||
0xf7, 0x2e, 0x36, 0xf7, 0x11, 0x40, 0x37, 0x24, 0x0e, 0x59, 0x84, 0x66, 0x0b, 0xe9, 0xd0, 0x71,
|
||||
0xfd, 0xd9, 0x8f, 0x9e, 0xd9, 0x46, 0xc7, 0x70, 0x44, 0xb0, 0x13, 0x84, 0xce, 0x94, 0x78, 0x33,
|
||||
0xc9, 0xe8, 0xfb, 0x4e, 0x70, 0x6a, 0x76, 0xd0, 0x18, 0xbe, 0x09, 0xcf, 0x43, 0xe2, 0xfa, 0x91,
|
||||
0xef, 0x86, 0xa1, 0x73, 0xe6, 0xde, 0x74, 0x9b, 0x63, 0xef, 0x67, 0x87, 0xb8, 0xd1, 0x19, 0x9e,
|
||||
0x2d, 0xe6, 0x66, 0x57, 0xb2, 0x79, 0xbe, 0x73, 0xe6, 0x9a, 0x3d, 0xb9, 0x54, 0x8f, 0xab, 0xd9,
|
||||
0x47, 0x07, 0xa0, 0x4b, 0xb2, 0x45, 0xe0, 0x91, 0x73, 0x53, 0x97, 0xcf, 0xef, 0x1d, 0xba, 0x33,
|
||||
0x67, 0x6e, 0x02, 0x3a, 0x82, 0x43, 0xc9, 0xeb, 0x4c, 0x49, 0x84, 0xdd, 0x0f, 0x0b, 0x37, 0x24,
|
||||
0xa6, 0xf1, 0x56, 0xbf, 0xf9, 0xa7, 0xb0, 0x17, 0x70, 0x7c, 0x9f, 0x83, 0xcf, 0x40, 0xaf, 0x07,
|
||||
0x53, 0xfe, 0xa3, 0xd4, 0x89, 0xdd, 0xaf, 0xc5, 0xdb, 0x83, 0xdf, 0x8c, 0xc9, 0xb7, 0x3f, 0x54,
|
||||
0x53, 0xfc, 0xd8, 0x55, 0xab, 0xef, 0xfe, 0x0f, 0x00, 0x00, 0xff, 0xff, 0x99, 0x11, 0xcc, 0x26,
|
||||
0x6c, 0x07, 0x00, 0x00,
|
||||
}
|
||||
|
|
|
@ -91,6 +91,10 @@ message ChatMessage {
|
|||
// Message author's display name, introduced in version 1
|
||||
string display_name = 14;
|
||||
|
||||
ContactRequestSignature sent_contact_request_signature = 15;
|
||||
ContactRequestSignature received_contact_request_signature = 16;
|
||||
bool contact_message = 17;
|
||||
|
||||
enum ContentType {
|
||||
UNKNOWN_CONTENT_TYPE = 0;
|
||||
TEXT_PLAIN = 1;
|
||||
|
@ -105,7 +109,13 @@ message ChatMessage {
|
|||
COMMUNITY = 9;
|
||||
// Only local
|
||||
SYSTEM_MESSAGE_GAP = 10;
|
||||
CONTACT_REQUEST = 11;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
message ContactRequestSignature {
|
||||
bytes signature = 1;
|
||||
uint64 timestamp = 2;
|
||||
}
|
||||
|
|
|
@ -21,13 +21,15 @@ var _ = math.Inf
|
|||
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
|
||||
|
||||
type ContactUpdate struct {
|
||||
Clock uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"`
|
||||
EnsName string `protobuf:"bytes,2,opt,name=ens_name,json=ensName,proto3" json:"ens_name,omitempty"`
|
||||
ProfileImage string `protobuf:"bytes,3,opt,name=profile_image,json=profileImage,proto3" json:"profile_image,omitempty"`
|
||||
DisplayName string `protobuf:"bytes,4,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
Clock uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"`
|
||||
EnsName string `protobuf:"bytes,2,opt,name=ens_name,json=ensName,proto3" json:"ens_name,omitempty"`
|
||||
ProfileImage string `protobuf:"bytes,3,opt,name=profile_image,json=profileImage,proto3" json:"profile_image,omitempty"`
|
||||
DisplayName string `protobuf:"bytes,4,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
|
||||
SentContactRequestSignature *ContactRequestSignature `protobuf:"bytes,14,opt,name=sent_contact_request_signature,json=sentContactRequestSignature,proto3" json:"sent_contact_request_signature,omitempty"`
|
||||
ReceivedContactRequestSignature *ContactRequestSignature `protobuf:"bytes,15,opt,name=received_contact_request_signature,json=receivedContactRequestSignature,proto3" json:"received_contact_request_signature,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
}
|
||||
|
||||
func (m *ContactUpdate) Reset() { *m = ContactUpdate{} }
|
||||
|
@ -83,8 +85,118 @@ func (m *ContactUpdate) GetDisplayName() string {
|
|||
return ""
|
||||
}
|
||||
|
||||
func (m *ContactUpdate) GetSentContactRequestSignature() *ContactRequestSignature {
|
||||
if m != nil {
|
||||
return m.SentContactRequestSignature
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ContactUpdate) GetReceivedContactRequestSignature() *ContactRequestSignature {
|
||||
if m != nil {
|
||||
return m.ReceivedContactRequestSignature
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type AcceptContactRequest struct {
|
||||
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||
Clock uint64 `protobuf:"varint,2,opt,name=clock,proto3" json:"clock,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
}
|
||||
|
||||
func (m *AcceptContactRequest) Reset() { *m = AcceptContactRequest{} }
|
||||
func (m *AcceptContactRequest) String() string { return proto.CompactTextString(m) }
|
||||
func (*AcceptContactRequest) ProtoMessage() {}
|
||||
func (*AcceptContactRequest) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_a5036fff2565fb15, []int{1}
|
||||
}
|
||||
|
||||
func (m *AcceptContactRequest) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_AcceptContactRequest.Unmarshal(m, b)
|
||||
}
|
||||
func (m *AcceptContactRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||
return xxx_messageInfo_AcceptContactRequest.Marshal(b, m, deterministic)
|
||||
}
|
||||
func (m *AcceptContactRequest) XXX_Merge(src proto.Message) {
|
||||
xxx_messageInfo_AcceptContactRequest.Merge(m, src)
|
||||
}
|
||||
func (m *AcceptContactRequest) XXX_Size() int {
|
||||
return xxx_messageInfo_AcceptContactRequest.Size(m)
|
||||
}
|
||||
func (m *AcceptContactRequest) XXX_DiscardUnknown() {
|
||||
xxx_messageInfo_AcceptContactRequest.DiscardUnknown(m)
|
||||
}
|
||||
|
||||
var xxx_messageInfo_AcceptContactRequest proto.InternalMessageInfo
|
||||
|
||||
func (m *AcceptContactRequest) GetId() string {
|
||||
if m != nil {
|
||||
return m.Id
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (m *AcceptContactRequest) GetClock() uint64 {
|
||||
if m != nil {
|
||||
return m.Clock
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
type RetractContactRequest struct {
|
||||
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||
Clock uint64 `protobuf:"varint,2,opt,name=clock,proto3" json:"clock,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
}
|
||||
|
||||
func (m *RetractContactRequest) Reset() { *m = RetractContactRequest{} }
|
||||
func (m *RetractContactRequest) String() string { return proto.CompactTextString(m) }
|
||||
func (*RetractContactRequest) ProtoMessage() {}
|
||||
func (*RetractContactRequest) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_a5036fff2565fb15, []int{2}
|
||||
}
|
||||
|
||||
func (m *RetractContactRequest) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_RetractContactRequest.Unmarshal(m, b)
|
||||
}
|
||||
func (m *RetractContactRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||
return xxx_messageInfo_RetractContactRequest.Marshal(b, m, deterministic)
|
||||
}
|
||||
func (m *RetractContactRequest) XXX_Merge(src proto.Message) {
|
||||
xxx_messageInfo_RetractContactRequest.Merge(m, src)
|
||||
}
|
||||
func (m *RetractContactRequest) XXX_Size() int {
|
||||
return xxx_messageInfo_RetractContactRequest.Size(m)
|
||||
}
|
||||
func (m *RetractContactRequest) XXX_DiscardUnknown() {
|
||||
xxx_messageInfo_RetractContactRequest.DiscardUnknown(m)
|
||||
}
|
||||
|
||||
var xxx_messageInfo_RetractContactRequest proto.InternalMessageInfo
|
||||
|
||||
func (m *RetractContactRequest) GetId() string {
|
||||
if m != nil {
|
||||
return m.Id
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (m *RetractContactRequest) GetClock() uint64 {
|
||||
if m != nil {
|
||||
return m.Clock
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func init() {
|
||||
proto.RegisterType((*ContactUpdate)(nil), "protobuf.ContactUpdate")
|
||||
proto.RegisterType((*AcceptContactRequest)(nil), "protobuf.AcceptContactRequest")
|
||||
proto.RegisterType((*RetractContactRequest)(nil), "protobuf.RetractContactRequest")
|
||||
}
|
||||
|
||||
func init() {
|
||||
|
@ -92,16 +204,24 @@ func init() {
|
|||
}
|
||||
|
||||
var fileDescriptor_a5036fff2565fb15 = []byte{
|
||||
// 166 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x4d, 0xce, 0xcf, 0x2b,
|
||||
0x49, 0x4c, 0x2e, 0xd1, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x00, 0x53, 0x49, 0xa5, 0x69,
|
||||
0x4a, 0x1d, 0x8c, 0x5c, 0xbc, 0xce, 0x10, 0xb9, 0xd0, 0x82, 0x94, 0xc4, 0x92, 0x54, 0x21, 0x11,
|
||||
0x2e, 0xd6, 0xe4, 0x9c, 0xfc, 0xe4, 0x6c, 0x09, 0x46, 0x05, 0x46, 0x0d, 0x96, 0x20, 0x08, 0x47,
|
||||
0x48, 0x92, 0x8b, 0x23, 0x35, 0xaf, 0x38, 0x3e, 0x2f, 0x31, 0x37, 0x55, 0x82, 0x49, 0x81, 0x51,
|
||||
0x83, 0x33, 0x88, 0x3d, 0x35, 0xaf, 0xd8, 0x2f, 0x31, 0x37, 0x55, 0x48, 0x99, 0x8b, 0xb7, 0xa0,
|
||||
0x28, 0x3f, 0x2d, 0x33, 0x27, 0x35, 0x3e, 0x33, 0x37, 0x31, 0x3d, 0x55, 0x82, 0x19, 0x2c, 0xcf,
|
||||
0x03, 0x15, 0xf4, 0x04, 0x89, 0x09, 0x29, 0x72, 0xf1, 0xa4, 0x64, 0x16, 0x17, 0xe4, 0x24, 0x56,
|
||||
0x42, 0xcc, 0x60, 0x01, 0xab, 0xe1, 0x86, 0x8a, 0x81, 0xcc, 0x71, 0xe2, 0x8d, 0xe2, 0xd6, 0xd3,
|
||||
0xb7, 0x86, 0xb9, 0x2c, 0x89, 0x0d, 0xcc, 0x32, 0x06, 0x04, 0x00, 0x00, 0xff, 0xff, 0xd0, 0xfa,
|
||||
0xcb, 0x28, 0xbb, 0x00, 0x00, 0x00,
|
||||
// 294 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x50, 0x41, 0x4b, 0xf4, 0x30,
|
||||
0x14, 0xa4, 0xfd, 0xf6, 0xd3, 0xdd, 0xb7, 0xdb, 0x15, 0xc2, 0x0a, 0x55, 0x41, 0xbb, 0xf5, 0xd2,
|
||||
0x53, 0x05, 0x3d, 0xaa, 0x07, 0xf5, 0xe4, 0xc5, 0x43, 0xc4, 0x8b, 0x97, 0x90, 0x4d, 0x5f, 0x6b,
|
||||
0xb0, 0x4d, 0x6b, 0x92, 0x0a, 0xfe, 0x5b, 0x7f, 0x8a, 0x6c, 0xda, 0xa2, 0x08, 0x2b, 0xe2, 0x29,
|
||||
0xc9, 0xcc, 0x64, 0xde, 0xbc, 0x81, 0x40, 0xd4, 0xca, 0x72, 0x61, 0xd3, 0x46, 0xd7, 0xb6, 0x26,
|
||||
0x63, 0x77, 0xac, 0xda, 0x7c, 0x9f, 0x88, 0x27, 0x6e, 0x59, 0x85, 0xc6, 0xf0, 0x02, 0x3b, 0x36,
|
||||
0x7e, 0xf7, 0x21, 0xb8, 0xe9, 0xf4, 0x0f, 0x4d, 0xc6, 0x2d, 0x92, 0x05, 0xfc, 0x17, 0x65, 0x2d,
|
||||
0x9e, 0x43, 0x2f, 0xf2, 0x92, 0x11, 0xed, 0x1e, 0x64, 0x0f, 0xc6, 0xa8, 0x0c, 0x53, 0xbc, 0xc2,
|
||||
0xd0, 0x8f, 0xbc, 0x64, 0x42, 0xb7, 0x51, 0x99, 0x3b, 0x5e, 0x21, 0x39, 0x86, 0xa0, 0xd1, 0x75,
|
||||
0x2e, 0x4b, 0x64, 0xb2, 0xe2, 0x05, 0x86, 0xff, 0x1c, 0x3f, 0xeb, 0xc1, 0xdb, 0x35, 0x46, 0x96,
|
||||
0x30, 0xcb, 0xa4, 0x69, 0x4a, 0xfe, 0xd6, 0x79, 0x8c, 0x9c, 0x66, 0xda, 0x63, 0xce, 0x27, 0x87,
|
||||
0x43, 0x83, 0xca, 0xb2, 0x3e, 0x3e, 0xd3, 0xf8, 0xd2, 0xa2, 0xb1, 0xcc, 0xc8, 0x42, 0x71, 0xdb,
|
||||
0x6a, 0x0c, 0xe7, 0x91, 0x97, 0x4c, 0x4f, 0x97, 0xe9, 0xb0, 0x51, 0xda, 0x27, 0xa7, 0x9d, 0xf2,
|
||||
0x7e, 0x10, 0xd2, 0x83, 0xb5, 0xd1, 0x06, 0x92, 0x28, 0x88, 0x35, 0x0a, 0x94, 0xaf, 0x98, 0xfd,
|
||||
0x30, 0x6b, 0xe7, 0xb7, 0xb3, 0x8e, 0x06, 0xb3, 0x0d, 0x82, 0xf8, 0x02, 0x16, 0x57, 0x42, 0x60,
|
||||
0xf3, 0x2d, 0x10, 0x99, 0x83, 0x2f, 0x33, 0xd7, 0xf2, 0x84, 0xfa, 0x32, 0xfb, 0x2c, 0xde, 0xff,
|
||||
0x52, 0x7c, 0x7c, 0x09, 0xbb, 0x14, 0xad, 0xe6, 0xe2, 0x4f, 0xdf, 0xaf, 0x83, 0xc7, 0x69, 0x7a,
|
||||
0x72, 0x3e, 0x2c, 0xb1, 0xda, 0x72, 0xb7, 0xb3, 0x8f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xb8, 0x89,
|
||||
0xb6, 0xb0, 0x24, 0x02, 0x00, 0x00,
|
||||
}
|
||||
|
|
|
@ -2,10 +2,24 @@ syntax = "proto3";
|
|||
|
||||
option go_package = "./;protobuf";
|
||||
package protobuf;
|
||||
import "chat_message.proto";
|
||||
|
||||
message ContactUpdate {
|
||||
uint64 clock = 1;
|
||||
string ens_name = 2;
|
||||
string profile_image = 3;
|
||||
string display_name = 4;
|
||||
|
||||
ContactRequestSignature sent_contact_request_signature = 14;
|
||||
ContactRequestSignature received_contact_request_signature = 15;
|
||||
}
|
||||
|
||||
message AcceptContactRequest {
|
||||
string id = 1;
|
||||
uint64 clock = 2;
|
||||
}
|
||||
|
||||
message RetractContactRequest {
|
||||
string id = 1;
|
||||
uint64 clock = 2;
|
||||
}
|
||||
|
|
|
@ -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(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa, 0x95, 0x55, 0x64, 0x38, 0x40, 0x16, 0xbf, 0x8b, 0x1c, 0x18, 0xb4, 0xc5, 0x7f, 0xd0, 0xb8, 0xf0, 0x3c, 0xa2, 0x82, 0xf8, 0x8d, 0x5a, 0xd3, 0xb6, 0x6e, 0xa3, 0xb4, 0xc, 0x9, 0x33, 0x0}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -110,7 +110,7 @@ func _1593601729_initial_schemaUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1593601729_initial_schema.up.sql", size: 1773, mode: os.FileMode(0644), modTime: time.Unix(1597848235, 0)}
|
||||
info := bindataFileInfo{name: "1593601729_initial_schema.up.sql", size: 1773, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x4e, 0x1e, 0x5, 0x35, 0x9, 0xb2, 0x2d, 0x6f, 0x33, 0x63, 0xa2, 0x7a, 0x5b, 0xd2, 0x2d, 0xcb, 0x79, 0x7e, 0x6, 0xb4, 0x9d, 0x35, 0xd8, 0x9b, 0x55, 0xe5, 0xf8, 0x44, 0xca, 0xa6, 0xf3, 0xd3}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -130,7 +130,7 @@ func _1597909626_add_server_typeDownSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1597909626_add_server_type.down.sql", size: 0, mode: os.FileMode(0644), modTime: time.Unix(1604313406, 0)}
|
||||
info := bindataFileInfo{name: "1597909626_add_server_type.down.sql", size: 0, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe3, 0xb0, 0xc4, 0x42, 0x98, 0xfc, 0x1c, 0x14, 0x9a, 0xfb, 0xf4, 0xc8, 0x99, 0x6f, 0xb9, 0x24, 0x27, 0xae, 0x41, 0xe4, 0x64, 0x9b, 0x93, 0x4c, 0xa4, 0x95, 0x99, 0x1b, 0x78, 0x52, 0xb8, 0x55}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -150,7 +150,7 @@ func _1597909626_add_server_typeUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1597909626_add_server_type.up.sql", size: 145, mode: os.FileMode(0644), modTime: time.Unix(1604313406, 0)}
|
||||
info := bindataFileInfo{name: "1597909626_add_server_type.up.sql", size: 145, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc8, 0x3f, 0xe0, 0xe7, 0x57, 0x0, 0x5d, 0x60, 0xf3, 0x55, 0x64, 0x71, 0x80, 0x3c, 0xca, 0x8, 0x61, 0xb5, 0x3c, 0xe, 0xa1, 0xe4, 0x61, 0xd1, 0x4e, 0xd8, 0xb2, 0x55, 0xdd, 0x87, 0x62, 0x9b}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -170,7 +170,7 @@ func _1599053776_add_chat_id_and_typeDownSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1599053776_add_chat_id_and_type.down.sql", size: 0, mode: os.FileMode(0644), modTime: time.Unix(1604313406, 0)}
|
||||
info := bindataFileInfo{name: "1599053776_add_chat_id_and_type.down.sql", size: 0, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe3, 0xb0, 0xc4, 0x42, 0x98, 0xfc, 0x1c, 0x14, 0x9a, 0xfb, 0xf4, 0xc8, 0x99, 0x6f, 0xb9, 0x24, 0x27, 0xae, 0x41, 0xe4, 0x64, 0x9b, 0x93, 0x4c, 0xa4, 0x95, 0x99, 0x1b, 0x78, 0x52, 0xb8, 0x55}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -190,7 +190,7 @@ func _1599053776_add_chat_id_and_typeUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1599053776_add_chat_id_and_type.up.sql", size: 264, mode: os.FileMode(0644), modTime: time.Unix(1604313406, 0)}
|
||||
info := bindataFileInfo{name: "1599053776_add_chat_id_and_type.up.sql", size: 264, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xea, 0x7a, 0xf9, 0xc4, 0xa2, 0x96, 0x2e, 0xf9, 0x8f, 0x7, 0xf1, 0x1e, 0x73, 0x8a, 0xa6, 0x3a, 0x13, 0x4, 0x73, 0x82, 0x83, 0xb, 0xe3, 0xb5, 0x3b, 0x7e, 0xd, 0x23, 0xce, 0x98, 0xd4, 0xdc}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -210,7 +210,7 @@ func docGo() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "doc.go", size: 382, mode: os.FileMode(0644), modTime: time.Unix(1597848235, 0)}
|
||||
info := bindataFileInfo{name: "doc.go", size: 382, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc0, 0x2f, 0x1e, 0x64, 0x9, 0x93, 0xe4, 0x8b, 0xf2, 0x98, 0x5a, 0x45, 0xe2, 0x80, 0x88, 0x67, 0x7a, 0x2d, 0xd7, 0x4b, 0xd1, 0x73, 0xb6, 0x6d, 0x15, 0xc2, 0x0, 0x34, 0xcd, 0xa0, 0xdb, 0x20}}
|
||||
return a, nil
|
||||
}
|
||||
|
|
|
@ -88,7 +88,7 @@ func _1593601728_initial_schemaDownSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1593601728_initial_schema.down.sql", size: 200, mode: os.FileMode(0644), modTime: time.Unix(1597848235, 0)}
|
||||
info := bindataFileInfo{name: "1593601728_initial_schema.down.sql", size: 200, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x88, 0x8a, 0x61, 0x81, 0x57, 0x45, 0x9b, 0x97, 0x9b, 0x1f, 0xf6, 0x94, 0x8a, 0x20, 0xb3, 0x2b, 0xff, 0x69, 0x49, 0xf4, 0x58, 0xcc, 0xd0, 0x55, 0xcc, 0x9a, 0x8b, 0xb6, 0x7f, 0x29, 0x53, 0xc1}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -108,7 +108,7 @@ func _1593601728_initial_schemaUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1593601728_initial_schema.up.sql", size: 675, mode: os.FileMode(0644), modTime: time.Unix(1597848235, 0)}
|
||||
info := bindataFileInfo{name: "1593601728_initial_schema.up.sql", size: 675, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xfd, 0x61, 0x90, 0x79, 0xd9, 0x14, 0x65, 0xe9, 0x96, 0x53, 0x17, 0x33, 0x54, 0xeb, 0x8b, 0x5d, 0x95, 0x99, 0x10, 0x36, 0x58, 0xdd, 0xb2, 0xbf, 0x45, 0xd9, 0xbb, 0xc4, 0x92, 0xe, 0xce, 0x2}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -128,7 +128,7 @@ func _1598419937_add_push_notifications_tableDownSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1598419937_add_push_notifications_table.down.sql", size: 51, mode: os.FileMode(0644), modTime: time.Unix(1604313406, 0)}
|
||||
info := bindataFileInfo{name: "1598419937_add_push_notifications_table.down.sql", size: 51, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc, 0x98, 0xc8, 0x30, 0x45, 0x5b, 0xc5, 0x7d, 0x13, 0x5d, 0xe7, 0xc8, 0x23, 0x43, 0xf7, 0xdc, 0x9c, 0xe2, 0xdd, 0x63, 0xf0, 0xb7, 0x16, 0x40, 0xc, 0xda, 0xb9, 0x16, 0x70, 0x2b, 0x5a, 0x7e}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -148,7 +148,7 @@ func _1598419937_add_push_notifications_tableUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1598419937_add_push_notifications_table.up.sql", size: 104, mode: os.FileMode(0644), modTime: time.Unix(1604313406, 0)}
|
||||
info := bindataFileInfo{name: "1598419937_add_push_notifications_table.up.sql", size: 104, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x2, 0x3e, 0xef, 0xf, 0xc2, 0xdf, 0xbc, 0x99, 0x7a, 0xc2, 0xd3, 0x64, 0x4f, 0x4c, 0x7e, 0xfc, 0x2e, 0x8c, 0xa7, 0x54, 0xd3, 0x4d, 0x25, 0x98, 0x41, 0xbc, 0xea, 0xd7, 0x2, 0xc1, 0xd0, 0x52}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -168,7 +168,7 @@ func docGo() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "doc.go", size: 382, mode: os.FileMode(0644), modTime: time.Unix(1597848235, 0)}
|
||||
info := bindataFileInfo{name: "doc.go", size: 382, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc0, 0x2f, 0x1e, 0x64, 0x9, 0x93, 0xe4, 0x8b, 0xf2, 0x98, 0x5a, 0x45, 0xe2, 0x80, 0x88, 0x67, 0x7a, 0x2d, 0xd7, 0x4b, 0xd1, 0x73, 0xb6, 0x6d, 0x15, 0xc2, 0x0, 0x34, 0xcd, 0xa0, 0xdb, 0x20}}
|
||||
return a, nil
|
||||
}
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
package requests
|
||||
|
||||
import (
|
||||
"errors"
|
||||
|
||||
"github.com/status-im/status-go/eth-node/types"
|
||||
)
|
||||
|
||||
var ErrAcceptContactRequestInvalidID = errors.New("accept-contact-request: invalid id")
|
||||
|
||||
type AcceptContactRequest struct {
|
||||
ID types.HexBytes `json:"id"`
|
||||
}
|
||||
|
||||
func (a *AcceptContactRequest) Validate() error {
|
||||
if len(a.ID) == 0 {
|
||||
return ErrAcceptContactRequestInvalidID
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
package requests
|
||||
|
||||
import (
|
||||
"errors"
|
||||
|
||||
"github.com/status-im/status-go/eth-node/types"
|
||||
)
|
||||
|
||||
var ErrDismissContactRequestInvalidID = errors.New("dismiss-contact-request: invalid id")
|
||||
|
||||
type DismissContactRequest struct {
|
||||
ID types.HexBytes `json:"id"`
|
||||
}
|
||||
|
||||
func (a *DismissContactRequest) Validate() error {
|
||||
if len(a.ID) == 0 {
|
||||
return ErrDismissContactRequestInvalidID
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
package requests
|
||||
|
||||
import (
|
||||
"errors"
|
||||
|
||||
"github.com/status-im/status-go/eth-node/types"
|
||||
)
|
||||
|
||||
var ErrRetractContactRequestInvalidContactID = errors.New("retract-contact-request: invalid id")
|
||||
|
||||
type RetractContactRequest struct {
|
||||
ContactID types.HexBytes `json:"contactId"`
|
||||
}
|
||||
|
||||
func (a *RetractContactRequest) Validate() error {
|
||||
if len(a.ContactID) == 0 {
|
||||
return ErrRetractContactRequestInvalidContactID
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
|
@ -0,0 +1,27 @@
|
|||
package requests
|
||||
|
||||
import (
|
||||
"errors"
|
||||
|
||||
"github.com/status-im/status-go/eth-node/types"
|
||||
)
|
||||
|
||||
var ErrSendContactRequestInvalidID = errors.New("send-contact-request: invalid id")
|
||||
var ErrSendContactRequestInvalidMessage = errors.New("send-contact-request: invalid message")
|
||||
|
||||
type SendContactRequest struct {
|
||||
ID types.HexBytes `json:"id"`
|
||||
Message string `json:"message"`
|
||||
}
|
||||
|
||||
func (a *SendContactRequest) Validate() error {
|
||||
if len(a.ID) == 0 {
|
||||
return ErrSendContactRequestInvalidID
|
||||
}
|
||||
|
||||
if len(a.Message) == 0 {
|
||||
return ErrSendContactRequestInvalidMessage
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
|
@ -89,7 +89,7 @@ func _1561059284_add_waku_keysDownSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1561059284_add_waku_keys.down.sql", size: 22, mode: os.FileMode(0644), modTime: time.Unix(1622467450, 0)}
|
||||
info := bindataFileInfo{name: "1561059284_add_waku_keys.down.sql", size: 22, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe5, 0x2a, 0x7e, 0x9, 0xa3, 0xdd, 0xc6, 0x3, 0xfa, 0xaa, 0x98, 0xa0, 0x26, 0x5e, 0x67, 0x43, 0xe6, 0x20, 0xfd, 0x10, 0xfd, 0x60, 0x89, 0x17, 0x13, 0x87, 0x1b, 0x44, 0x36, 0x79, 0xb6, 0x60}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -109,7 +109,7 @@ func _1561059284_add_waku_keysUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1561059284_add_waku_keys.up.sql", size: 109, mode: os.FileMode(0644), modTime: time.Unix(1622467450, 0)}
|
||||
info := bindataFileInfo{name: "1561059284_add_waku_keys.up.sql", size: 109, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa9, 0x5c, 0x8, 0x32, 0xef, 0x12, 0x88, 0x21, 0xd, 0x7a, 0x42, 0x4d, 0xe7, 0x2d, 0x6c, 0x99, 0xb6, 0x1, 0xf1, 0xba, 0x2c, 0x40, 0x8d, 0xa9, 0x4b, 0xe6, 0xc4, 0x21, 0xec, 0x47, 0x6b, 0xf7}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -129,7 +129,7 @@ func _1616691080_add_wakuv2_keysDownSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1616691080_add_wakuV2_keys.down.sql", size: 24, mode: os.FileMode(0644), modTime: time.Unix(1625049989, 0)}
|
||||
info := bindataFileInfo{name: "1616691080_add_wakuV2_keys.down.sql", size: 24, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x42, 0xb6, 0x23, 0x70, 0xb8, 0x63, 0x18, 0x61, 0xea, 0x35, 0x6e, 0xae, 0xe9, 0x71, 0x89, 0xa, 0xa5, 0x72, 0xa2, 0x64, 0xaa, 0x45, 0x1, 0xf, 0xfc, 0xee, 0x1b, 0xd9, 0xd2, 0x27, 0xf4, 0xe2}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -149,7 +149,7 @@ func _1616691080_add_wakuv2_keysUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1616691080_add_wakuV2_keys.up.sql", size: 111, mode: os.FileMode(0644), modTime: time.Unix(1625049989, 0)}
|
||||
info := bindataFileInfo{name: "1616691080_add_wakuV2_keys.up.sql", size: 111, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x10, 0xf0, 0x97, 0x25, 0xfe, 0x96, 0x2c, 0xa8, 0x62, 0x4a, 0x71, 0x75, 0xff, 0x5f, 0x43, 0x1e, 0x71, 0x53, 0xf1, 0xde, 0xf, 0xcf, 0xcd, 0x87, 0x15, 0x61, 0x9d, 0x25, 0x2e, 0xaf, 0x18, 0x99}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -169,7 +169,7 @@ func _1634723014_add_wakuv2_keysUpSql() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1634723014_add_wakuV2_keys.up.sql", size: 125, mode: os.FileMode(0644), modTime: time.Unix(1637329330, 0)}
|
||||
info := bindataFileInfo{name: "1634723014_add_wakuV2_keys.up.sql", size: 125, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7e, 0xe1, 0x7a, 0x1e, 0x6, 0xad, 0x1b, 0x37, 0xdb, 0xea, 0x94, 0xaf, 0xe0, 0x7d, 0xc9, 0xd6, 0xda, 0x52, 0x71, 0x8a, 0x44, 0xb3, 0xa6, 0x7b, 0x1e, 0x90, 0xdb, 0x1e, 0x5a, 0xa, 0x40, 0x26}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -189,7 +189,7 @@ func docGo() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "doc.go", size: 373, mode: os.FileMode(0644), modTime: time.Unix(1622467450, 0)}
|
||||
info := bindataFileInfo{name: "doc.go", size: 373, mode: os.FileMode(0644), modTime: time.Unix(1652264632, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x23, 0x6a, 0xc1, 0xce, 0x94, 0xf6, 0xef, 0xf1, 0x97, 0x95, 0xb, 0x35, 0xaf, 0x5f, 0xe7, 0x5f, 0xac, 0x6e, 0xb8, 0xab, 0xba, 0xb5, 0x35, 0x97, 0x22, 0x36, 0x11, 0xce, 0x44, 0xfc, 0xfa, 0xac}}
|
||||
return a, nil
|
||||
}
|
||||
|
|
|
@ -276,6 +276,10 @@ func (m *StatusMessage) HandleApplication() error {
|
|||
return m.unmarshalProtobufData(new(protobuf.CommunityMessageArchiveMagnetlink))
|
||||
case protobuf.ApplicationMetadataMessage_SYNC_WALLET_ACCOUNT:
|
||||
return m.unmarshalProtobufData(new(protobuf.SyncWalletAccounts))
|
||||
case protobuf.ApplicationMetadataMessage_ACCEPT_CONTACT_REQUEST:
|
||||
return m.unmarshalProtobufData(new(protobuf.AcceptContactRequest))
|
||||
case protobuf.ApplicationMetadataMessage_RETRACT_CONTACT_REQUEST:
|
||||
return m.unmarshalProtobufData(new(protobuf.RetractContactRequest))
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
|
|
@ -605,10 +605,26 @@ func (api *PublicAPI) AddContact(ctx context.Context, request *requests.AddConta
|
|||
return api.service.messenger.AddContact(ctx, request)
|
||||
}
|
||||
|
||||
func (api *PublicAPI) SendContactRequest(ctx context.Context, request *requests.SendContactRequest) (*protocol.MessengerResponse, error) {
|
||||
return api.service.messenger.SendContactRequest(ctx, request)
|
||||
}
|
||||
|
||||
func (api *PublicAPI) AcceptContactRequest(ctx context.Context, request *requests.AcceptContactRequest) (*protocol.MessengerResponse, error) {
|
||||
return api.service.messenger.AcceptContactRequest(ctx, request)
|
||||
}
|
||||
|
||||
func (api *PublicAPI) RetractContactRequest(ctx context.Context, request *requests.RetractContactRequest) (*protocol.MessengerResponse, error) {
|
||||
return api.service.messenger.RetractContactRequest(request)
|
||||
}
|
||||
|
||||
func (api *PublicAPI) RejectContactRequest(ctx context.Context, request *requests.RejectContactRequest) (*protocol.MessengerResponse, error) {
|
||||
return api.service.messenger.RejectContactRequest(ctx, request)
|
||||
}
|
||||
|
||||
func (api *PublicAPI) DismissContactRequest(ctx context.Context, request *requests.DismissContactRequest) (*protocol.MessengerResponse, error) {
|
||||
return api.service.messenger.DismissContactRequest(ctx, request)
|
||||
}
|
||||
|
||||
func (api *PublicAPI) RemoveContact(ctx context.Context, pubKey string) (*protocol.MessengerResponse, error) {
|
||||
return api.service.messenger.RemoveContact(ctx, pubKey)
|
||||
}
|
||||
|
|
|
@ -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(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf5, 0x28, 0xc, 0x22, 0x34, 0xa1, 0xeb, 0x8, 0x8d, 0xef, 0x38, 0x1b, 0xd8, 0xc2, 0x1a, 0x6d, 0xa2, 0x62, 0xad, 0x43, 0xfc, 0x1c, 0x38, 0xda, 0x8c, 0x3f, 0x34, 0xa, 0x8c, 0x6f, 0x5d, 0xd8}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -124,7 +124,7 @@ func ConfigReadmeMd() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "../config/README.md", size: 3031, mode: os.FileMode(0644), modTime: time.Unix(1644838748, 0)}
|
||||
info := bindataFileInfo{name: "../config/README.md", size: 3031, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x15, 0x44, 0x2b, 0x13, 0x14, 0x34, 0xa, 0x66, 0x62, 0x1b, 0xc6, 0x4a, 0x2c, 0x7d, 0x4d, 0x89, 0xfb, 0xc9, 0x69, 0xe4, 0x18, 0x5f, 0x3, 0x98, 0x6d, 0x3c, 0x9e, 0xa8, 0xcd, 0x53, 0x5d, 0x75}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -144,7 +144,7 @@ func ConfigCliAnonMetricNodeClientJson() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "../config/cli/anon-metric-node-client.json", size: 857, mode: os.FileMode(0644), modTime: time.Unix(1631628269, 0)}
|
||||
info := bindataFileInfo{name: "../config/cli/anon-metric-node-client.json", size: 857, mode: os.FileMode(0644), modTime: time.Unix(1648117578, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x90, 0xdf, 0xcd, 0xc8, 0x92, 0x1d, 0x63, 0x5e, 0xe1, 0xf9, 0x7f, 0xed, 0xf2, 0x68, 0x6b, 0x20, 0xff, 0x1d, 0x3b, 0xc9, 0x7b, 0xb9, 0x6a, 0xba, 0xd3, 0xbd, 0xf7, 0x48, 0x7b, 0x5a, 0x52, 0x79}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -164,7 +164,7 @@ func ConfigCliAnonMetricNodeServerJson() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "../config/cli/anon-metric-node-server.json", size: 696, mode: os.FileMode(0644), modTime: time.Unix(1631628269, 0)}
|
||||
info := bindataFileInfo{name: "../config/cli/anon-metric-node-server.json", size: 696, mode: os.FileMode(0644), modTime: time.Unix(1648117578, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf0, 0x2f, 0x97, 0xab, 0x77, 0x61, 0x93, 0x9d, 0x1f, 0x33, 0x18, 0x72, 0xad, 0xce, 0xa3, 0x35, 0xa9, 0x44, 0xbf, 0x29, 0xa8, 0xea, 0x21, 0xb7, 0x22, 0x7f, 0x7d, 0x3a, 0x6b, 0x55, 0x3c, 0x66}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -184,7 +184,7 @@ func ConfigCliFleetEthProdJson() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "../config/cli/fleet-eth.prod.json", size: 4470, mode: os.FileMode(0644), modTime: time.Unix(1641901099, 0)}
|
||||
info := bindataFileInfo{name: "../config/cli/fleet-eth.prod.json", size: 4470, mode: os.FileMode(0644), modTime: time.Unix(1648117578, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x34, 0x7b, 0x71, 0xe3, 0x8a, 0xb0, 0x7f, 0xc3, 0xe, 0xd2, 0x67, 0x38, 0x50, 0xf4, 0x27, 0xaa, 0xec, 0x47, 0xa1, 0x1, 0xf7, 0x5d, 0xe9, 0x8f, 0x3c, 0x35, 0x9f, 0xdb, 0x9b, 0x30, 0x88, 0x26}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -204,7 +204,7 @@ func ConfigCliFleetEthStagingJson() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "../config/cli/fleet-eth.staging.json", size: 2145, mode: os.FileMode(0644), modTime: time.Unix(1640110246, 0)}
|
||||
info := bindataFileInfo{name: "../config/cli/fleet-eth.staging.json", size: 2145, mode: os.FileMode(0644), modTime: time.Unix(1648117578, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa2, 0xe9, 0x85, 0x4b, 0x66, 0xa4, 0x1d, 0x4e, 0xaf, 0x21, 0xd7, 0xc2, 0x59, 0xf7, 0xd, 0xc2, 0x61, 0x4e, 0x4a, 0x9e, 0x38, 0x90, 0x6a, 0x2a, 0x16, 0xa6, 0x5c, 0x6d, 0x0, 0x5, 0x6, 0xb3}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -224,7 +224,7 @@ func ConfigCliFleetEthTestJson() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "../config/cli/fleet-eth.test.json", size: 2174, mode: os.FileMode(0644), modTime: time.Unix(1640110247, 0)}
|
||||
info := bindataFileInfo{name: "../config/cli/fleet-eth.test.json", size: 2174, mode: os.FileMode(0644), modTime: time.Unix(1648117578, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x55, 0x19, 0xca, 0x8d, 0xaa, 0x69, 0x9b, 0xa2, 0xa1, 0xdd, 0xef, 0xf2, 0x63, 0x5e, 0xcd, 0xe2, 0x8f, 0xc7, 0x37, 0x7e, 0x41, 0xa1, 0xc1, 0x3f, 0x65, 0x80, 0xa, 0xa4, 0x27, 0x74, 0x8d, 0xc6}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -244,7 +244,7 @@ func ConfigCliFleetStatusProdJson() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "../config/cli/fleet-status.prod.json", size: 1920, mode: os.FileMode(0644), modTime: time.Unix(1647884149, 0)}
|
||||
info := bindataFileInfo{name: "../config/cli/fleet-status.prod.json", size: 1920, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x5, 0xf, 0x4a, 0x61, 0xd2, 0xfd, 0x7d, 0x59, 0xcf, 0x49, 0x81, 0x6, 0x71, 0xdb, 0x63, 0xe8, 0xeb, 0xdf, 0x9e, 0x65, 0x22, 0xae, 0x9b, 0xb0, 0x16, 0x17, 0xe0, 0x52, 0xe6, 0xb, 0xcf, 0x88}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -264,7 +264,7 @@ func ConfigCliFleetStatusTestJson() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "../config/cli/fleet-status.test.json", size: 937, mode: os.FileMode(0644), modTime: time.Unix(1647339453, 0)}
|
||||
info := bindataFileInfo{name: "../config/cli/fleet-status.test.json", size: 937, mode: os.FileMode(0644), modTime: time.Unix(1650884918, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x5c, 0x3b, 0xc5, 0xd2, 0xe9, 0xd3, 0x52, 0xd4, 0x5a, 0xf3, 0xed, 0x37, 0xed, 0xde, 0xda, 0xc1, 0x57, 0x37, 0x17, 0x8c, 0x40, 0xee, 0x12, 0x82, 0x14, 0x2c, 0x8b, 0xc7, 0x4b, 0x2, 0xf8, 0x82}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -284,7 +284,7 @@ func ConfigCliFleetWakuv2ProdJson() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "../config/cli/fleet-wakuv2.prod.json", size: 747, mode: os.FileMode(0644), modTime: time.Unix(1640110247, 0)}
|
||||
info := bindataFileInfo{name: "../config/cli/fleet-wakuv2.prod.json", size: 747, mode: os.FileMode(0644), modTime: time.Unix(1648117578, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc3, 0x81, 0x84, 0xfd, 0x7d, 0x7e, 0x27, 0xc8, 0x5e, 0xb6, 0x38, 0xe1, 0x6, 0xa, 0xbc, 0x86, 0x87, 0x54, 0xa2, 0x2f, 0xe1, 0xa1, 0xc8, 0x6, 0x80, 0xfa, 0xed, 0xfe, 0x13, 0x6c, 0x81, 0xd9}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -304,7 +304,7 @@ func ConfigCliFleetWakuv2TestJson() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "../config/cli/fleet-wakuv2.test.json", size: 748, mode: os.FileMode(0644), modTime: time.Unix(1640110247, 0)}
|
||||
info := bindataFileInfo{name: "../config/cli/fleet-wakuv2.test.json", size: 748, mode: os.FileMode(0644), modTime: time.Unix(1648117578, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x77, 0x6d, 0x28, 0xb7, 0xc2, 0xf3, 0x22, 0xe3, 0x6d, 0xc1, 0xeb, 0x4b, 0x42, 0xe2, 0x6, 0xb0, 0x60, 0x30, 0xdb, 0xe3, 0x26, 0xff, 0x9, 0xf5, 0xea, 0xe6, 0x56, 0xce, 0xa8, 0x98, 0x61, 0x70}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -324,7 +324,7 @@ func ConfigCliLesEnabledJson() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "../config/cli/les-enabled.json", size: 58, mode: os.FileMode(0644), modTime: time.Unix(1586880790, 0)}
|
||||
info := bindataFileInfo{name: "../config/cli/les-enabled.json", size: 58, mode: os.FileMode(0644), modTime: time.Unix(1648117578, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7e, 0xee, 0x27, 0xa7, 0x74, 0xa0, 0x46, 0xa1, 0x41, 0xed, 0x4d, 0x16, 0x5b, 0xf3, 0xf0, 0x7c, 0xc8, 0x2f, 0x6f, 0x47, 0xa4, 0xbb, 0x5f, 0x43, 0x33, 0xd, 0x9, 0x9d, 0xea, 0x9e, 0x15, 0xee}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -344,7 +344,7 @@ func ConfigCliMailserverEnabledJson() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "../config/cli/mailserver-enabled.json", size: 176, mode: os.FileMode(0644), modTime: time.Unix(1586880790, 0)}
|
||||
info := bindataFileInfo{name: "../config/cli/mailserver-enabled.json", size: 176, mode: os.FileMode(0644), modTime: time.Unix(1648117578, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x34, 0xec, 0x81, 0x8b, 0x99, 0xb6, 0xdb, 0xc0, 0x8b, 0x46, 0x97, 0x96, 0xc7, 0x58, 0x30, 0x33, 0xef, 0x54, 0x25, 0x87, 0x7b, 0xb9, 0x94, 0x6b, 0x18, 0xa4, 0x5b, 0x58, 0x67, 0x7c, 0x44, 0xa6}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -364,7 +364,7 @@ func ConfigStatusChainGenesisJson() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "../config/status-chain-genesis.json", size: 612, mode: os.FileMode(0644), modTime: time.Unix(1586880790, 0)}
|
||||
info := bindataFileInfo{name: "../config/status-chain-genesis.json", size: 612, mode: os.FileMode(0644), modTime: time.Unix(1648117578, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb, 0xf0, 0xc, 0x1, 0x95, 0x65, 0x6, 0x55, 0x48, 0x8f, 0x83, 0xa0, 0xb4, 0x81, 0xda, 0xad, 0x30, 0x6d, 0xb2, 0x78, 0x1b, 0x26, 0x4, 0x13, 0x12, 0x9, 0x6, 0xae, 0x3a, 0x2c, 0x1, 0x71}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -384,7 +384,7 @@ func keysBootnodeKey() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "keys/bootnode.key", size: 65, mode: os.FileMode(0644), modTime: time.Unix(1586880790, 0)}
|
||||
info := bindataFileInfo{name: "keys/bootnode.key", size: 65, mode: os.FileMode(0644), modTime: time.Unix(1648117579, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x31, 0xcf, 0x27, 0xd4, 0x96, 0x2e, 0x32, 0xcd, 0x58, 0x96, 0x2a, 0xe5, 0x8c, 0xa0, 0xf1, 0x73, 0x1f, 0xd6, 0xd6, 0x8b, 0xb, 0x73, 0xd3, 0x2c, 0x84, 0x1a, 0x56, 0xa4, 0x74, 0xb6, 0x95, 0x20}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -404,7 +404,7 @@ func keysFirebaseauthkey() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "keys/firebaseauthkey", size: 153, mode: os.FileMode(0644), modTime: time.Unix(1541622131, 0)}
|
||||
info := bindataFileInfo{name: "keys/firebaseauthkey", size: 153, mode: os.FileMode(0644), modTime: time.Unix(1648117579, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe, 0x69, 0x23, 0x64, 0x7d, 0xf9, 0x14, 0x37, 0x6f, 0x2b, 0x1, 0xf0, 0xb0, 0xa4, 0xb2, 0xd0, 0x18, 0xcd, 0xf9, 0xeb, 0x57, 0xa3, 0xfd, 0x79, 0x25, 0xa7, 0x9c, 0x3, 0xce, 0x26, 0xec, 0xe1}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -424,7 +424,7 @@ func keysTestAccount1StatusChainPk() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "keys/test-account1-status-chain.pk", size: 489, mode: os.FileMode(0644), modTime: time.Unix(1586880790, 0)}
|
||||
info := bindataFileInfo{name: "keys/test-account1-status-chain.pk", size: 489, mode: os.FileMode(0644), modTime: time.Unix(1648117579, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x8f, 0xba, 0x35, 0x1, 0x2b, 0x9d, 0xad, 0xf0, 0x2d, 0x3c, 0x4d, 0x6, 0xb5, 0x22, 0x2, 0x47, 0xd4, 0x1c, 0xf4, 0x31, 0x2f, 0xb, 0x5b, 0x27, 0x5d, 0x43, 0x97, 0x58, 0x2d, 0xf0, 0xe1, 0xbe}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -444,7 +444,7 @@ func keysTestAccount1Pk() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "keys/test-account1.pk", size: 491, mode: os.FileMode(0644), modTime: time.Unix(1586880790, 0)}
|
||||
info := bindataFileInfo{name: "keys/test-account1.pk", size: 491, mode: os.FileMode(0644), modTime: time.Unix(1648117579, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x9, 0x43, 0xc2, 0xf4, 0x8c, 0xc6, 0x64, 0x25, 0x8c, 0x7, 0x8c, 0xa8, 0x89, 0x2b, 0x7b, 0x9b, 0x4f, 0x81, 0xcb, 0xce, 0x3d, 0xef, 0x82, 0x9c, 0x27, 0x27, 0xa9, 0xc5, 0x46, 0x70, 0x30, 0x38}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -464,7 +464,7 @@ func keysTestAccount2StatusChainPk() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "keys/test-account2-status-chain.pk", size: 489, mode: os.FileMode(0644), modTime: time.Unix(1586880790, 0)}
|
||||
info := bindataFileInfo{name: "keys/test-account2-status-chain.pk", size: 489, mode: os.FileMode(0644), modTime: time.Unix(1648117579, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x9, 0xf8, 0x5c, 0xe9, 0x92, 0x96, 0x2d, 0x88, 0x2b, 0x8e, 0x42, 0x3f, 0xa4, 0x93, 0x6c, 0xad, 0xe9, 0xc0, 0x1b, 0x8a, 0x8, 0x8c, 0x5e, 0x7a, 0x84, 0xa2, 0xf, 0x9f, 0x77, 0x58, 0x2c, 0x2c}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -484,7 +484,7 @@ func keysTestAccount2Pk() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "keys/test-account2.pk", size: 491, mode: os.FileMode(0644), modTime: time.Unix(1586880790, 0)}
|
||||
info := bindataFileInfo{name: "keys/test-account2.pk", size: 491, mode: os.FileMode(0644), modTime: time.Unix(1648117579, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x9f, 0x72, 0xd5, 0x95, 0x5c, 0x5a, 0x99, 0x9d, 0x2f, 0x21, 0x83, 0xd7, 0x10, 0x17, 0x4a, 0x3d, 0x65, 0xc9, 0x26, 0x1a, 0x2c, 0x9d, 0x65, 0x63, 0xd2, 0xa0, 0xfc, 0x7c, 0x0, 0x87, 0x38, 0x9f}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -504,7 +504,7 @@ func keysTestAccount3BeforeEip55Pk() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "keys/test-account3-before-eip55.pk", size: 489, mode: os.FileMode(0644), modTime: time.Unix(1586880790, 0)}
|
||||
info := bindataFileInfo{name: "keys/test-account3-before-eip55.pk", size: 489, mode: os.FileMode(0644), modTime: time.Unix(1648117579, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x81, 0x40, 0x56, 0xc1, 0x5e, 0x10, 0x6e, 0x28, 0x15, 0x3, 0x4e, 0xc4, 0xc4, 0x71, 0x4d, 0x16, 0x99, 0xcc, 0x1b, 0x63, 0xee, 0x10, 0x20, 0xe4, 0x59, 0x52, 0x3f, 0xc0, 0xad, 0x15, 0x13, 0x72}}
|
||||
return a, nil
|
||||
}
|
||||
|
|
|
@ -86,7 +86,7 @@ func configPublicChainAccountsJson() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "config/public-chain-accounts.json", size: 307, mode: os.FileMode(0644), modTime: time.Unix(1586880790, 0)}
|
||||
info := bindataFileInfo{name: "config/public-chain-accounts.json", size: 307, mode: os.FileMode(0644), modTime: time.Unix(1648117579, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x76, 0x5d, 0xc0, 0xfe, 0x57, 0x50, 0x18, 0xec, 0x2d, 0x61, 0x1b, 0xa9, 0x81, 0x11, 0x5f, 0x77, 0xf7, 0xb6, 0x67, 0x82, 0x1, 0x40, 0x68, 0x9d, 0xc5, 0x41, 0xaf, 0xce, 0x43, 0x81, 0x92, 0x96}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -106,7 +106,7 @@ func configStatusChainAccountsJson() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "config/status-chain-accounts.json", size: 543, mode: os.FileMode(0644), modTime: time.Unix(1586880790, 0)}
|
||||
info := bindataFileInfo{name: "config/status-chain-accounts.json", size: 543, mode: os.FileMode(0644), modTime: time.Unix(1648117579, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x8e, 0xb3, 0x61, 0x51, 0x70, 0x3c, 0x12, 0x3e, 0xf1, 0x1c, 0x81, 0xfb, 0x9a, 0x7c, 0xe3, 0x63, 0xd0, 0x8f, 0x12, 0xc5, 0x2d, 0xf4, 0xea, 0x27, 0x33, 0xef, 0xca, 0xf9, 0x3f, 0x72, 0x44, 0xbf}}
|
||||
return a, nil
|
||||
}
|
||||
|
@ -126,7 +126,7 @@ func configTestDataJson() (*asset, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "config/test-data.json", size: 84, mode: os.FileMode(0644), modTime: time.Unix(1586880790, 0)}
|
||||
info := bindataFileInfo{name: "config/test-data.json", size: 84, mode: os.FileMode(0644), modTime: time.Unix(1648117579, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xce, 0x9d, 0x80, 0xf5, 0x87, 0xfa, 0x57, 0x1d, 0xa1, 0xd5, 0x7a, 0x10, 0x3, 0xac, 0xd7, 0xf4, 0x64, 0x32, 0x96, 0x2b, 0xb7, 0x21, 0xb7, 0xa6, 0x80, 0x40, 0xe9, 0x65, 0xe3, 0xd6, 0xbd, 0x40}}
|
||||
return a, nil
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue