chore: Add ColorId for Wallet accounts that can be shared with mobile (#3521)

This commit is contained in:
Khushboo-dev-cpp 2023-06-02 17:06:51 +02:00 committed by GitHub
parent e620633eb7
commit 8b91e3aaaf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
21 changed files with 696 additions and 835 deletions

View File

@ -29,6 +29,7 @@ import (
"github.com/status-im/status-go/logutils" "github.com/status-im/status-go/logutils"
"github.com/status-im/status-go/multiaccounts" "github.com/status-im/status-go/multiaccounts"
"github.com/status-im/status-go/multiaccounts/accounts" "github.com/status-im/status-go/multiaccounts/accounts"
"github.com/status-im/status-go/multiaccounts/common"
"github.com/status-im/status-go/multiaccounts/settings" "github.com/status-im/status-go/multiaccounts/settings"
"github.com/status-im/status-go/node" "github.com/status-im/status-go/node"
"github.com/status-im/status-go/nodecfg" "github.com/status-im/status-go/nodecfg"
@ -958,7 +959,7 @@ func (b *GethStatusBackend) generateOrImportAccount(mnemonic string, request *re
account := multiaccounts.Account{ account := multiaccounts.Account{
KeyUID: info.KeyUID, KeyUID: info.KeyUID,
Name: request.DisplayName, Name: request.DisplayName,
CustomizationColor: multiaccounts.CustomizationColor(request.CustomizationColor), CustomizationColor: common.CustomizationColor(request.CustomizationColor),
KDFIterations: sqlite.ReducedKDFIterationsNumber, KDFIterations: sqlite.ReducedKDFIterationsNumber,
} }
@ -989,7 +990,7 @@ func (b *GethStatusBackend) generateOrImportAccount(mnemonic string, request *re
PublicKey: types.Hex2Bytes(walletDerivedAccount.PublicKey), PublicKey: types.Hex2Bytes(walletDerivedAccount.PublicKey),
KeyUID: info.KeyUID, KeyUID: info.KeyUID,
Address: types.HexToAddress(walletDerivedAccount.Address), Address: types.HexToAddress(walletDerivedAccount.Address),
Color: "", ColorID: "",
Wallet: true, Wallet: true,
Path: pathDefaultWallet, Path: pathDefaultWallet,
Name: walletAccountDefaultName, Name: walletAccountDefaultName,

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,13 @@
UPDATE keypairs_accounts SET color = 'yinyang' WHERE color = '#000000';
UPDATE keypairs_accounts SET color = 'yinyang' WHERE color = '#FFFFFF';
UPDATE keypairs_accounts SET color = 'primary' WHERE color = '#2946C4';
UPDATE keypairs_accounts SET color = 'purple' WHERE color = '#887AF9';
UPDATE keypairs_accounts SET color = 'sky' WHERE color = '#51D0F0';
UPDATE keypairs_accounts SET color = 'orange' WHERE color = '#D37EF4';
UPDATE keypairs_accounts SET color = 'magenta' WHERE color = '#FA6565';
UPDATE keypairs_accounts SET color = 'yellow' WHERE color = '#FFCA0F';
UPDATE keypairs_accounts SET color = 'army' WHERE color = '#7CDA00';
UPDATE keypairs_accounts SET color = 'turquoise' WHERE color = '#26A69A';
UPDATE keypairs_accounts SET color = 'copper' WHERE color = '#8B3131';
UPDATE keypairs_accounts SET color = 'camel' WHERE color = '#9B832F';
UPDATE keypairs_accounts SET color = 'primary' WHERE color = '';

View File

@ -1,66 +1,66 @@
// Code generated by go-bindata. DO NOT EDIT. // Code generated by go-bindata.
// sources: // sources:
// 0001_app.down.sql (356B) // 0001_app.down.sql
// 0001_app.up.sql (2.967kB) // 0001_app.up.sql
// 0002_tokens.down.sql (19B) // 0002_tokens.down.sql
// 0002_tokens.up.sql (248B) // 0002_tokens.up.sql
// 0003_settings.down.sql (118B) // 0003_settings.down.sql
// 0003_settings.up.sql (1.311kB) // 0003_settings.up.sql
// 0004_pending_stickers.down.sql (0) // 0004_pending_stickers.down.sql
// 0004_pending_stickers.up.sql (61B) // 0004_pending_stickers.up.sql
// 0005_waku_mode.down.sql (0) // 0005_waku_mode.down.sql
// 0005_waku_mode.up.sql (146B) // 0005_waku_mode.up.sql
// 0006_appearance.up.sql (67B) // 0006_appearance.up.sql
// 0007_enable_waku_default.up.sql (38B) // 0007_enable_waku_default.up.sql
// 0008_add_push_notifications.up.sql (349B) // 0008_add_push_notifications.up.sql
// 0009_enable_sending_push_notifications.down.sql (49B) // 0009_enable_sending_push_notifications.down.sql
// 0009_enable_sending_push_notifications.up.sql (49B) // 0009_enable_sending_push_notifications.up.sql
// 0010_add_block_mentions.down.sql (83B) // 0010_add_block_mentions.down.sql
// 0010_add_block_mentions.up.sql (89B) // 0010_add_block_mentions.up.sql
// 0011_allow_webview_permission_requests.down.sql (0) // 0011_allow_webview_permission_requests.down.sql
// 0011_allow_webview_permission_requests.up.sql (88B) // 0011_allow_webview_permission_requests.up.sql
// 0012_pending_transactions.down.sql (33B) // 0012_pending_transactions.down.sql
// 0012_pending_transactions.up.sql (321B) // 0012_pending_transactions.up.sql
// 0013_favourites.down.sql (23B) // 0013_favourites.down.sql
// 0013_favourites.up.sql (132B) // 0013_favourites.up.sql
// 0014_add_use_mailservers.down.sql (0) // 0014_add_use_mailservers.down.sql
// 0014_add_use_mailservers.up.sql (111B) // 0014_add_use_mailservers.up.sql
// 0015_link_previews.down.sql (0) // 0015_link_previews.down.sql
// 0015_link_previews.up.sql (203B) // 0015_link_previews.up.sql
// 0016_local_notifications_preferences.down.sql (43B) // 0016_local_notifications_preferences.down.sql
// 0016_local_notifications_preferences.up.sql (204B) // 0016_local_notifications_preferences.up.sql
// 0017_bookmarks.down.sql (22B) // 0017_bookmarks.down.sql
// 0017_bookmarks.up.sql (147B) // 0017_bookmarks.up.sql
// 0018_profile_pictures_visibility.up.sql (84B) // 0018_profile_pictures_visibility.up.sql
// 0019_blocks_ranges_extra_data.up.sql (89B) // 0019_blocks_ranges_extra_data.up.sql
// 0020_metrics.up.sql (235B) // 0020_metrics.up.sql
// 0021_add_session_id_to_metrics.up.sql (55B) // 0021_add_session_id_to_metrics.up.sql
// 0022_pending_transfers.up.sql (706B) // 0022_pending_transfers.up.sql
// 1618237885_settings_anon_metrics_should_send.up.sql (80B) // 1618237885_settings_anon_metrics_should_send.up.sql
// 1618395756_contacts_only.up.sql (136B) // 1618395756_contacts_only.up.sql
// 1622184614_add_default_sync_period.up.sql (125B) // 1622184614_add_default_sync_period.up.sql
// 1625872445_user_status.up.sql (351B) // 1625872445_user_status.up.sql
// 1627983977_add_gif_to_settings.up.sql (102B) // 1627983977_add_gif_to_settings.up.sql
// 1628580203_add_hidden_account.up.sql (67B) // 1628580203_add_hidden_account.up.sql
// 1629123384_add_id_to_app_metrics.up.sql (589B) // 1629123384_add_id_to_app_metrics.up.sql
// 1630401853_add_opensea_enabled_to_settings.up.sql (70B) // 1630401853_add_opensea_enabled_to_settings.up.sql
// 1630464455_create-saved_addresses-table.down.sql (28B) // 1630464455_create-saved_addresses-table.down.sql
// 1630464455_create-saved_addresses-table.up.sql (187B) // 1630464455_create-saved_addresses-table.up.sql
// 1630485153_networks.down.sql (21B) // 1630485153_networks.down.sql
// 1630485153_networks.up.sql (394B) // 1630485153_networks.up.sql
// 1632262444_profile_pictures_show_to.up.sql (81B) // 1632262444_profile_pictures_show_to.up.sql
// 1635942153_add_telemetry_server_url_to_settings.up.sql (128B) // 1635942153_add_telemetry_server_url_to_settings.up.sql
// 1635942154_add_backup_setting.up.sql (287B) // 1635942154_add_backup_setting.up.sql
// 1637745568_add_auto_message_setting.up.sql (122B) // 1637745568_add_auto_message_setting.up.sql
// 1640111208_nodeconfig.up.sql (7.659kB) // 1640111208_nodeconfig.up.sql
// doc.go (85B) // doc.go
// DO NOT EDIT!
package migrationsprevnodecfg package migrationsprevnodecfg
import ( import (
"bytes" "bytes"
"compress/gzip" "compress/gzip"
"crypto/sha256"
"fmt" "fmt"
"io" "io"
"io/ioutil" "io/ioutil"
@ -73,7 +73,7 @@ import (
func bindataRead(data []byte, name string) ([]byte, error) { func bindataRead(data []byte, name string) ([]byte, error) {
gz, err := gzip.NewReader(bytes.NewBuffer(data)) gz, err := gzip.NewReader(bytes.NewBuffer(data))
if err != nil { if err != nil {
return nil, fmt.Errorf("read %q: %v", name, err) return nil, fmt.Errorf("Read %q: %v", name, err)
} }
var buf bytes.Buffer var buf bytes.Buffer
@ -81,7 +81,7 @@ func bindataRead(data []byte, name string) ([]byte, error) {
clErr := gz.Close() clErr := gz.Close()
if err != nil { if err != nil {
return nil, fmt.Errorf("read %q: %v", name, err) return nil, fmt.Errorf("Read %q: %v", name, err)
} }
if clErr != nil { if clErr != nil {
return nil, err return nil, err
@ -93,7 +93,6 @@ func bindataRead(data []byte, name string) ([]byte, error) {
type asset struct { type asset struct {
bytes []byte bytes []byte
info os.FileInfo info os.FileInfo
digest [sha256.Size]byte
} }
type bindataFileInfo struct { type bindataFileInfo struct {
@ -137,8 +136,8 @@ func _0001_appDownSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "0001_app.down.sql", size: 356, mode: os.FileMode(0644), modTime: time.Unix(1644328579, 0)} info := bindataFileInfo{name: "0001_app.down.sql", size: 356, mode: os.FileMode(436), modTime: time.Unix(1685451647, 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}} a := &asset{bytes: bytes, info: info}
return a, nil return a, nil
} }
@ -157,8 +156,8 @@ func _0001_appUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "0001_app.up.sql", size: 2967, mode: os.FileMode(0644), modTime: time.Unix(1644328579, 0)} info := bindataFileInfo{name: "0001_app.up.sql", size: 2967, mode: os.FileMode(436), modTime: time.Unix(1685451647, 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}} a := &asset{bytes: bytes, info: info}
return a, nil return a, nil
} }
@ -177,8 +176,8 @@ func _0002_tokensDownSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "0002_tokens.down.sql", size: 19, mode: os.FileMode(0644), modTime: time.Unix(1644328579, 0)} info := bindataFileInfo{name: "0002_tokens.down.sql", size: 19, mode: os.FileMode(436), modTime: time.Unix(1685451647, 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}} a := &asset{bytes: bytes, info: info}
return a, nil return a, nil
} }
@ -197,8 +196,8 @@ func _0002_tokensUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "0002_tokens.up.sql", size: 248, mode: os.FileMode(0644), modTime: time.Unix(1644328579, 0)} info := bindataFileInfo{name: "0002_tokens.up.sql", size: 248, mode: os.FileMode(436), modTime: time.Unix(1685451647, 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}} a := &asset{bytes: bytes, info: info}
return a, nil return a, nil
} }
@ -217,8 +216,8 @@ func _0003_settingsDownSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "0003_settings.down.sql", size: 118, mode: os.FileMode(0644), modTime: time.Unix(1644328579, 0)} info := bindataFileInfo{name: "0003_settings.down.sql", size: 118, mode: os.FileMode(436), modTime: time.Unix(1685451647, 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}} a := &asset{bytes: bytes, info: info}
return a, nil return a, nil
} }
@ -237,8 +236,8 @@ func _0003_settingsUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "0003_settings.up.sql", size: 1311, mode: os.FileMode(0644), modTime: time.Unix(1644328579, 0)} info := bindataFileInfo{name: "0003_settings.up.sql", size: 1311, mode: os.FileMode(436), modTime: time.Unix(1685451647, 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}} a := &asset{bytes: bytes, info: info}
return a, nil return a, nil
} }
@ -257,8 +256,8 @@ func _0004_pending_stickersDownSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "0004_pending_stickers.down.sql", size: 0, mode: os.FileMode(0644), modTime: time.Unix(1644328579, 0)} info := bindataFileInfo{name: "0004_pending_stickers.down.sql", size: 0, mode: os.FileMode(436), modTime: time.Unix(1685451647, 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}} a := &asset{bytes: bytes, info: info}
return a, nil return a, nil
} }
@ -277,8 +276,8 @@ func _0004_pending_stickersUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "0004_pending_stickers.up.sql", size: 61, mode: os.FileMode(0644), modTime: time.Unix(1644328579, 0)} info := bindataFileInfo{name: "0004_pending_stickers.up.sql", size: 61, mode: os.FileMode(436), modTime: time.Unix(1685451647, 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}} a := &asset{bytes: bytes, info: info}
return a, nil return a, nil
} }
@ -297,8 +296,8 @@ func _0005_waku_modeDownSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "0005_waku_mode.down.sql", size: 0, mode: os.FileMode(0644), modTime: time.Unix(1644328579, 0)} info := bindataFileInfo{name: "0005_waku_mode.down.sql", size: 0, mode: os.FileMode(436), modTime: time.Unix(1685451647, 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}} a := &asset{bytes: bytes, info: info}
return a, nil return a, nil
} }
@ -317,8 +316,8 @@ func _0005_waku_modeUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "0005_waku_mode.up.sql", size: 146, mode: os.FileMode(0644), modTime: time.Unix(1644328579, 0)} info := bindataFileInfo{name: "0005_waku_mode.up.sql", size: 146, mode: os.FileMode(436), modTime: time.Unix(1685451647, 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}} a := &asset{bytes: bytes, info: info}
return a, nil return a, nil
} }
@ -337,8 +336,8 @@ func _0006_appearanceUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "0006_appearance.up.sql", size: 67, mode: os.FileMode(0644), modTime: time.Unix(1644328579, 0)} info := bindataFileInfo{name: "0006_appearance.up.sql", size: 67, mode: os.FileMode(436), modTime: time.Unix(1685451647, 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}} a := &asset{bytes: bytes, info: info}
return a, nil return a, nil
} }
@ -357,8 +356,8 @@ func _0007_enable_waku_defaultUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "0007_enable_waku_default.up.sql", size: 38, mode: os.FileMode(0644), modTime: time.Unix(1644328579, 0)} info := bindataFileInfo{name: "0007_enable_waku_default.up.sql", size: 38, mode: os.FileMode(436), modTime: time.Unix(1685451647, 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}} a := &asset{bytes: bytes, info: info}
return a, nil return a, nil
} }
@ -377,8 +376,8 @@ func _0008_add_push_notificationsUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "0008_add_push_notifications.up.sql", size: 349, mode: os.FileMode(0644), modTime: time.Unix(1644328579, 0)} info := bindataFileInfo{name: "0008_add_push_notifications.up.sql", size: 349, mode: os.FileMode(436), modTime: time.Unix(1685451647, 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}} a := &asset{bytes: bytes, info: info}
return a, nil return a, nil
} }
@ -397,8 +396,8 @@ func _0009_enable_sending_push_notificationsDownSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "0009_enable_sending_push_notifications.down.sql", size: 49, mode: os.FileMode(0644), modTime: time.Unix(1644328579, 0)} info := bindataFileInfo{name: "0009_enable_sending_push_notifications.down.sql", size: 49, mode: os.FileMode(436), modTime: time.Unix(1685451647, 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}} a := &asset{bytes: bytes, info: info}
return a, nil return a, nil
} }
@ -417,8 +416,8 @@ func _0009_enable_sending_push_notificationsUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "0009_enable_sending_push_notifications.up.sql", size: 49, mode: os.FileMode(0644), modTime: time.Unix(1644328579, 0)} info := bindataFileInfo{name: "0009_enable_sending_push_notifications.up.sql", size: 49, mode: os.FileMode(436), modTime: time.Unix(1685451647, 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}} a := &asset{bytes: bytes, info: info}
return a, nil return a, nil
} }
@ -437,8 +436,8 @@ func _0010_add_block_mentionsDownSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "0010_add_block_mentions.down.sql", size: 83, mode: os.FileMode(0644), modTime: time.Unix(1644328579, 0)} info := bindataFileInfo{name: "0010_add_block_mentions.down.sql", size: 83, mode: os.FileMode(436), modTime: time.Unix(1685451647, 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}} a := &asset{bytes: bytes, info: info}
return a, nil return a, nil
} }
@ -457,8 +456,8 @@ func _0010_add_block_mentionsUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "0010_add_block_mentions.up.sql", size: 89, mode: os.FileMode(0644), modTime: time.Unix(1644328579, 0)} info := bindataFileInfo{name: "0010_add_block_mentions.up.sql", size: 89, mode: os.FileMode(436), modTime: time.Unix(1685451647, 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}} a := &asset{bytes: bytes, info: info}
return a, nil return a, nil
} }
@ -477,8 +476,8 @@ func _0011_allow_webview_permission_requestsDownSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "0011_allow_webview_permission_requests.down.sql", size: 0, mode: os.FileMode(0644), modTime: time.Unix(1644328579, 0)} info := bindataFileInfo{name: "0011_allow_webview_permission_requests.down.sql", size: 0, mode: os.FileMode(436), modTime: time.Unix(1685451647, 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}} a := &asset{bytes: bytes, info: info}
return a, nil return a, nil
} }
@ -497,8 +496,8 @@ func _0011_allow_webview_permission_requestsUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "0011_allow_webview_permission_requests.up.sql", size: 88, mode: os.FileMode(0644), modTime: time.Unix(1644328579, 0)} info := bindataFileInfo{name: "0011_allow_webview_permission_requests.up.sql", size: 88, mode: os.FileMode(436), modTime: time.Unix(1685451647, 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}} a := &asset{bytes: bytes, info: info}
return a, nil return a, nil
} }
@ -517,8 +516,8 @@ func _0012_pending_transactionsDownSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "0012_pending_transactions.down.sql", size: 33, mode: os.FileMode(0644), modTime: time.Unix(1644328579, 0)} info := bindataFileInfo{name: "0012_pending_transactions.down.sql", size: 33, mode: os.FileMode(436), modTime: time.Unix(1685451647, 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}} a := &asset{bytes: bytes, info: info}
return a, nil return a, nil
} }
@ -537,8 +536,8 @@ func _0012_pending_transactionsUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "0012_pending_transactions.up.sql", size: 321, mode: os.FileMode(0644), modTime: time.Unix(1644328579, 0)} info := bindataFileInfo{name: "0012_pending_transactions.up.sql", size: 321, mode: os.FileMode(436), modTime: time.Unix(1685451647, 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}} a := &asset{bytes: bytes, info: info}
return a, nil return a, nil
} }
@ -557,8 +556,8 @@ func _0013_favouritesDownSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "0013_favourites.down.sql", size: 23, mode: os.FileMode(0644), modTime: time.Unix(1644328579, 0)} info := bindataFileInfo{name: "0013_favourites.down.sql", size: 23, mode: os.FileMode(436), modTime: time.Unix(1685451647, 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}} a := &asset{bytes: bytes, info: info}
return a, nil return a, nil
} }
@ -577,8 +576,8 @@ func _0013_favouritesUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "0013_favourites.up.sql", size: 132, mode: os.FileMode(0644), modTime: time.Unix(1644328579, 0)} info := bindataFileInfo{name: "0013_favourites.up.sql", size: 132, mode: os.FileMode(436), modTime: time.Unix(1685451647, 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}} a := &asset{bytes: bytes, info: info}
return a, nil return a, nil
} }
@ -597,8 +596,8 @@ func _0014_add_use_mailserversDownSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "0014_add_use_mailservers.down.sql", size: 0, mode: os.FileMode(0644), modTime: time.Unix(1644328579, 0)} info := bindataFileInfo{name: "0014_add_use_mailservers.down.sql", size: 0, mode: os.FileMode(436), modTime: time.Unix(1685451647, 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}} a := &asset{bytes: bytes, info: info}
return a, nil return a, nil
} }
@ -617,8 +616,8 @@ func _0014_add_use_mailserversUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "0014_add_use_mailservers.up.sql", size: 111, mode: os.FileMode(0644), modTime: time.Unix(1644328579, 0)} info := bindataFileInfo{name: "0014_add_use_mailservers.up.sql", size: 111, mode: os.FileMode(436), modTime: time.Unix(1685451647, 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}} a := &asset{bytes: bytes, info: info}
return a, nil return a, nil
} }
@ -637,8 +636,8 @@ func _0015_link_previewsDownSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "0015_link_previews.down.sql", size: 0, mode: os.FileMode(0644), modTime: time.Unix(1644328579, 0)} info := bindataFileInfo{name: "0015_link_previews.down.sql", size: 0, mode: os.FileMode(436), modTime: time.Unix(1685451647, 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}} a := &asset{bytes: bytes, info: info}
return a, nil return a, nil
} }
@ -657,8 +656,8 @@ func _0015_link_previewsUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "0015_link_previews.up.sql", size: 203, mode: os.FileMode(0644), modTime: time.Unix(1644328579, 0)} info := bindataFileInfo{name: "0015_link_previews.up.sql", size: 203, mode: os.FileMode(436), modTime: time.Unix(1685451647, 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}} a := &asset{bytes: bytes, info: info}
return a, nil return a, nil
} }
@ -677,8 +676,8 @@ func _0016_local_notifications_preferencesDownSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "0016_local_notifications_preferences.down.sql", size: 43, mode: os.FileMode(0644), modTime: time.Unix(1644328579, 0)} info := bindataFileInfo{name: "0016_local_notifications_preferences.down.sql", size: 43, mode: os.FileMode(436), modTime: time.Unix(1685451647, 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}} a := &asset{bytes: bytes, info: info}
return a, nil return a, nil
} }
@ -697,8 +696,8 @@ func _0016_local_notifications_preferencesUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "0016_local_notifications_preferences.up.sql", size: 204, mode: os.FileMode(0644), modTime: time.Unix(1644328579, 0)} info := bindataFileInfo{name: "0016_local_notifications_preferences.up.sql", size: 204, mode: os.FileMode(436), modTime: time.Unix(1685451647, 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}} a := &asset{bytes: bytes, info: info}
return a, nil return a, nil
} }
@ -717,8 +716,8 @@ func _0017_bookmarksDownSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "0017_bookmarks.down.sql", size: 22, mode: os.FileMode(0644), modTime: time.Unix(1644328579, 0)} info := bindataFileInfo{name: "0017_bookmarks.down.sql", size: 22, mode: os.FileMode(436), modTime: time.Unix(1685451647, 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}} a := &asset{bytes: bytes, info: info}
return a, nil return a, nil
} }
@ -737,8 +736,8 @@ func _0017_bookmarksUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "0017_bookmarks.up.sql", size: 147, mode: os.FileMode(0644), modTime: time.Unix(1644328579, 0)} info := bindataFileInfo{name: "0017_bookmarks.up.sql", size: 147, mode: os.FileMode(436), modTime: time.Unix(1685451647, 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}} a := &asset{bytes: bytes, info: info}
return a, nil return a, nil
} }
@ -757,8 +756,8 @@ func _0018_profile_pictures_visibilityUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "0018_profile_pictures_visibility.up.sql", size: 84, mode: os.FileMode(0644), modTime: time.Unix(1644328579, 0)} info := bindataFileInfo{name: "0018_profile_pictures_visibility.up.sql", size: 84, mode: os.FileMode(436), modTime: time.Unix(1685451647, 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}} a := &asset{bytes: bytes, info: info}
return a, nil return a, nil
} }
@ -777,8 +776,8 @@ func _0019_blocks_ranges_extra_dataUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "0019_blocks_ranges_extra_data.up.sql", size: 89, mode: os.FileMode(0644), modTime: time.Unix(1644328579, 0)} info := bindataFileInfo{name: "0019_blocks_ranges_extra_data.up.sql", size: 89, mode: os.FileMode(436), modTime: time.Unix(1685451647, 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}} a := &asset{bytes: bytes, info: info}
return a, nil return a, nil
} }
@ -797,8 +796,8 @@ func _0020_metricsUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "0020_metrics.up.sql", size: 235, mode: os.FileMode(0644), modTime: time.Unix(1644328579, 0)} info := bindataFileInfo{name: "0020_metrics.up.sql", size: 235, mode: os.FileMode(436), modTime: time.Unix(1685451647, 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}} a := &asset{bytes: bytes, info: info}
return a, nil return a, nil
} }
@ -817,8 +816,8 @@ func _0021_add_session_id_to_metricsUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "0021_add_session_id_to_metrics.up.sql", size: 55, mode: os.FileMode(0644), modTime: time.Unix(1644328579, 0)} info := bindataFileInfo{name: "0021_add_session_id_to_metrics.up.sql", size: 55, mode: os.FileMode(436), modTime: time.Unix(1685451647, 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}} a := &asset{bytes: bytes, info: info}
return a, nil return a, nil
} }
@ -837,8 +836,8 @@ func _0022_pending_transfersUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "0022_pending_transfers.up.sql", size: 706, mode: os.FileMode(0644), modTime: time.Unix(1644328579, 0)} info := bindataFileInfo{name: "0022_pending_transfers.up.sql", size: 706, mode: os.FileMode(436), modTime: time.Unix(1685451647, 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}} a := &asset{bytes: bytes, info: info}
return a, nil return a, nil
} }
@ -857,8 +856,8 @@ func _1618237885_settings_anon_metrics_should_sendUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1618237885_settings_anon_metrics_should_send.up.sql", size: 80, mode: os.FileMode(0644), modTime: time.Unix(1644328579, 0)} info := bindataFileInfo{name: "1618237885_settings_anon_metrics_should_send.up.sql", size: 80, mode: os.FileMode(436), modTime: time.Unix(1685451647, 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}} a := &asset{bytes: bytes, info: info}
return a, nil return a, nil
} }
@ -877,8 +876,8 @@ func _1618395756_contacts_onlyUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1618395756_contacts_only.up.sql", size: 136, mode: os.FileMode(0644), modTime: time.Unix(1644328579, 0)} info := bindataFileInfo{name: "1618395756_contacts_only.up.sql", size: 136, mode: os.FileMode(436), modTime: time.Unix(1685451647, 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}} a := &asset{bytes: bytes, info: info}
return a, nil return a, nil
} }
@ -897,8 +896,8 @@ func _1622184614_add_default_sync_periodUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1622184614_add_default_sync_period.up.sql", size: 125, mode: os.FileMode(0644), modTime: time.Unix(1644328579, 0)} info := bindataFileInfo{name: "1622184614_add_default_sync_period.up.sql", size: 125, mode: os.FileMode(436), modTime: time.Unix(1685451647, 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}} a := &asset{bytes: bytes, info: info}
return a, nil return a, nil
} }
@ -917,8 +916,8 @@ func _1625872445_user_statusUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1625872445_user_status.up.sql", size: 351, mode: os.FileMode(0644), modTime: time.Unix(1644328579, 0)} info := bindataFileInfo{name: "1625872445_user_status.up.sql", size: 351, mode: os.FileMode(436), modTime: time.Unix(1685451647, 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}} a := &asset{bytes: bytes, info: info}
return a, nil return a, nil
} }
@ -937,8 +936,8 @@ func _1627983977_add_gif_to_settingsUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1627983977_add_gif_to_settings.up.sql", size: 102, mode: os.FileMode(0644), modTime: time.Unix(1644328579, 0)} info := bindataFileInfo{name: "1627983977_add_gif_to_settings.up.sql", size: 102, mode: os.FileMode(436), modTime: time.Unix(1685451647, 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}} a := &asset{bytes: bytes, info: info}
return a, nil return a, nil
} }
@ -957,8 +956,8 @@ func _1628580203_add_hidden_accountUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1628580203_add_hidden_account.up.sql", size: 67, mode: os.FileMode(0644), modTime: time.Unix(1644328579, 0)} info := bindataFileInfo{name: "1628580203_add_hidden_account.up.sql", size: 67, mode: os.FileMode(436), modTime: time.Unix(1685451647, 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}} a := &asset{bytes: bytes, info: info}
return a, nil return a, nil
} }
@ -977,8 +976,8 @@ func _1629123384_add_id_to_app_metricsUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1629123384_add_id_to_app_metrics.up.sql", size: 589, mode: os.FileMode(0644), modTime: time.Unix(1644328579, 0)} info := bindataFileInfo{name: "1629123384_add_id_to_app_metrics.up.sql", size: 589, mode: os.FileMode(436), modTime: time.Unix(1685451647, 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}} a := &asset{bytes: bytes, info: info}
return a, nil return a, nil
} }
@ -997,8 +996,8 @@ func _1630401853_add_opensea_enabled_to_settingsUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1630401853_add_opensea_enabled_to_settings.up.sql", size: 70, mode: os.FileMode(0644), modTime: time.Unix(1644328579, 0)} info := bindataFileInfo{name: "1630401853_add_opensea_enabled_to_settings.up.sql", size: 70, mode: os.FileMode(436), modTime: time.Unix(1685451647, 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}} a := &asset{bytes: bytes, info: info}
return a, nil return a, nil
} }
@ -1017,8 +1016,8 @@ func _1630464455_createSaved_addressesTableDownSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1630464455_create-saved_addresses-table.down.sql", size: 28, mode: os.FileMode(0644), modTime: time.Unix(1644328579, 0)} info := bindataFileInfo{name: "1630464455_create-saved_addresses-table.down.sql", size: 28, mode: os.FileMode(436), modTime: time.Unix(1685451647, 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}} a := &asset{bytes: bytes, info: info}
return a, nil return a, nil
} }
@ -1037,8 +1036,8 @@ func _1630464455_createSaved_addressesTableUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1630464455_create-saved_addresses-table.up.sql", size: 187, mode: os.FileMode(0644), modTime: time.Unix(1644328579, 0)} info := bindataFileInfo{name: "1630464455_create-saved_addresses-table.up.sql", size: 187, mode: os.FileMode(436), modTime: time.Unix(1685451647, 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}} a := &asset{bytes: bytes, info: info}
return a, nil return a, nil
} }
@ -1057,8 +1056,8 @@ func _1630485153_networksDownSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1630485153_networks.down.sql", size: 21, mode: os.FileMode(0644), modTime: time.Unix(1644328579, 0)} info := bindataFileInfo{name: "1630485153_networks.down.sql", size: 21, mode: os.FileMode(436), modTime: time.Unix(1685451647, 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}} a := &asset{bytes: bytes, info: info}
return a, nil return a, nil
} }
@ -1077,8 +1076,8 @@ func _1630485153_networksUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1630485153_networks.up.sql", size: 394, mode: os.FileMode(0644), modTime: time.Unix(1644328579, 0)} info := bindataFileInfo{name: "1630485153_networks.up.sql", size: 394, mode: os.FileMode(436), modTime: time.Unix(1685451647, 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}} a := &asset{bytes: bytes, info: info}
return a, nil return a, nil
} }
@ -1097,8 +1096,8 @@ func _1632262444_profile_pictures_show_toUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1632262444_profile_pictures_show_to.up.sql", size: 81, mode: os.FileMode(0644), modTime: time.Unix(1644328579, 0)} info := bindataFileInfo{name: "1632262444_profile_pictures_show_to.up.sql", size: 81, mode: os.FileMode(436), modTime: time.Unix(1685451647, 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}} a := &asset{bytes: bytes, info: info}
return a, nil return a, nil
} }
@ -1117,8 +1116,8 @@ func _1635942153_add_telemetry_server_url_to_settingsUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1635942153_add_telemetry_server_url_to_settings.up.sql", size: 128, mode: os.FileMode(0644), modTime: time.Unix(1644328579, 0)} info := bindataFileInfo{name: "1635942153_add_telemetry_server_url_to_settings.up.sql", size: 128, mode: os.FileMode(436), modTime: time.Unix(1685451647, 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}} a := &asset{bytes: bytes, info: info}
return a, nil return a, nil
} }
@ -1137,8 +1136,8 @@ func _1635942154_add_backup_settingUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1635942154_add_backup_setting.up.sql", size: 287, mode: os.FileMode(0644), modTime: time.Unix(1644328579, 0)} info := bindataFileInfo{name: "1635942154_add_backup_setting.up.sql", size: 287, mode: os.FileMode(436), modTime: time.Unix(1685451647, 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}} a := &asset{bytes: bytes, info: info}
return a, nil return a, nil
} }
@ -1157,8 +1156,8 @@ func _1637745568_add_auto_message_settingUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1637745568_add_auto_message_setting.up.sql", size: 122, mode: os.FileMode(0644), modTime: time.Unix(1644328579, 0)} info := bindataFileInfo{name: "1637745568_add_auto_message_setting.up.sql", size: 122, mode: os.FileMode(436), modTime: time.Unix(1685451647, 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}} a := &asset{bytes: bytes, info: info}
return a, nil return a, nil
} }
@ -1177,8 +1176,8 @@ func _1640111208_nodeconfigUpSql() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "1640111208_nodeconfig.up.sql", size: 7659, mode: os.FileMode(0644), modTime: time.Unix(1644328579, 0)} info := bindataFileInfo{name: "1640111208_nodeconfig.up.sql", size: 7659, mode: os.FileMode(436), modTime: time.Unix(1685451647, 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}} a := &asset{bytes: bytes, info: info}
return a, nil return a, nil
} }
@ -1197,8 +1196,8 @@ func docGo() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "doc.go", size: 85, mode: os.FileMode(0644), modTime: time.Unix(1644328579, 0)} info := bindataFileInfo{name: "doc.go", size: 85, mode: os.FileMode(436), modTime: time.Unix(1685451647, 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}} a := &asset{bytes: bytes, info: info}
return a, nil return a, nil
} }
@ -1206,8 +1205,8 @@ func docGo() (*asset, error) {
// It returns an error if the asset could not be found or // It returns an error if the asset could not be found or
// could not be loaded. // could not be loaded.
func Asset(name string) ([]byte, error) { func Asset(name string) ([]byte, error) {
canonicalName := strings.Replace(name, "\\", "/", -1) cannonicalName := strings.Replace(name, "\\", "/", -1)
if f, ok := _bindata[canonicalName]; ok { if f, ok := _bindata[cannonicalName]; ok {
a, err := f() a, err := f()
if err != nil { if err != nil {
return nil, fmt.Errorf("Asset %s can't read by error: %v", name, err) return nil, fmt.Errorf("Asset %s can't read by error: %v", name, err)
@ -1217,12 +1216,6 @@ func Asset(name string) ([]byte, error) {
return nil, fmt.Errorf("Asset %s not found", name) return nil, fmt.Errorf("Asset %s not found", name)
} }
// AssetString returns the asset contents as a string (instead of a []byte).
func AssetString(name string) (string, error) {
data, err := Asset(name)
return string(data), err
}
// MustAsset is like Asset but panics when Asset would return an error. // MustAsset is like Asset but panics when Asset would return an error.
// It simplifies safe initialization of global variables. // It simplifies safe initialization of global variables.
func MustAsset(name string) []byte { func MustAsset(name string) []byte {
@ -1234,18 +1227,12 @@ func MustAsset(name string) []byte {
return a return a
} }
// MustAssetString is like AssetString but panics when Asset would return an
// error. It simplifies safe initialization of global variables.
func MustAssetString(name string) string {
return string(MustAsset(name))
}
// AssetInfo loads and returns the asset info for the given name. // AssetInfo loads and returns the asset info for the given name.
// It returns an error if the asset could not be found or // It returns an error if the asset could not be found or
// could not be loaded. // could not be loaded.
func AssetInfo(name string) (os.FileInfo, error) { func AssetInfo(name string) (os.FileInfo, error) {
canonicalName := strings.Replace(name, "\\", "/", -1) cannonicalName := strings.Replace(name, "\\", "/", -1)
if f, ok := _bindata[canonicalName]; ok { if f, ok := _bindata[cannonicalName]; ok {
a, err := f() a, err := f()
if err != nil { if err != nil {
return nil, fmt.Errorf("AssetInfo %s can't read by error: %v", name, err) return nil, fmt.Errorf("AssetInfo %s can't read by error: %v", name, err)
@ -1255,33 +1242,6 @@ func AssetInfo(name string) (os.FileInfo, error) {
return nil, fmt.Errorf("AssetInfo %s not found", name) return nil, fmt.Errorf("AssetInfo %s not found", name)
} }
// AssetDigest returns the digest of the file with the given name. It returns an
// error if the asset could not be found or the digest could not be loaded.
func AssetDigest(name string) ([sha256.Size]byte, error) {
canonicalName := strings.Replace(name, "\\", "/", -1)
if f, ok := _bindata[canonicalName]; ok {
a, err := f()
if err != nil {
return [sha256.Size]byte{}, fmt.Errorf("AssetDigest %s can't read by error: %v", name, err)
}
return a.digest, nil
}
return [sha256.Size]byte{}, fmt.Errorf("AssetDigest %s not found", name)
}
// Digests returns a map of all known files and their checksums.
func Digests() (map[string][sha256.Size]byte, error) {
mp := make(map[string][sha256.Size]byte, len(_bindata))
for name := range _bindata {
a, err := _bindata[name]()
if err != nil {
return nil, err
}
mp[name] = a.digest
}
return mp, nil
}
// AssetNames returns the names of the assets. // AssetNames returns the names of the assets.
func AssetNames() []string { func AssetNames() []string {
names := make([]string, 0, len(_bindata)) names := make([]string, 0, len(_bindata))
@ -1294,111 +1254,58 @@ func AssetNames() []string {
// _bindata is a table, holding each asset generator, mapped to its name. // _bindata is a table, holding each asset generator, mapped to its name.
var _bindata = map[string]func() (*asset, error){ var _bindata = map[string]func() (*asset, error){
"0001_app.down.sql": _0001_appDownSql, "0001_app.down.sql": _0001_appDownSql,
"0001_app.up.sql": _0001_appUpSql, "0001_app.up.sql": _0001_appUpSql,
"0002_tokens.down.sql": _0002_tokensDownSql, "0002_tokens.down.sql": _0002_tokensDownSql,
"0002_tokens.up.sql": _0002_tokensUpSql, "0002_tokens.up.sql": _0002_tokensUpSql,
"0003_settings.down.sql": _0003_settingsDownSql, "0003_settings.down.sql": _0003_settingsDownSql,
"0003_settings.up.sql": _0003_settingsUpSql, "0003_settings.up.sql": _0003_settingsUpSql,
"0004_pending_stickers.down.sql": _0004_pending_stickersDownSql, "0004_pending_stickers.down.sql": _0004_pending_stickersDownSql,
"0004_pending_stickers.up.sql": _0004_pending_stickersUpSql, "0004_pending_stickers.up.sql": _0004_pending_stickersUpSql,
"0005_waku_mode.down.sql": _0005_waku_modeDownSql, "0005_waku_mode.down.sql": _0005_waku_modeDownSql,
"0005_waku_mode.up.sql": _0005_waku_modeUpSql, "0005_waku_mode.up.sql": _0005_waku_modeUpSql,
"0006_appearance.up.sql": _0006_appearanceUpSql, "0006_appearance.up.sql": _0006_appearanceUpSql,
"0007_enable_waku_default.up.sql": _0007_enable_waku_defaultUpSql, "0007_enable_waku_default.up.sql": _0007_enable_waku_defaultUpSql,
"0008_add_push_notifications.up.sql": _0008_add_push_notificationsUpSql, "0008_add_push_notifications.up.sql": _0008_add_push_notificationsUpSql,
"0009_enable_sending_push_notifications.down.sql": _0009_enable_sending_push_notificationsDownSql, "0009_enable_sending_push_notifications.down.sql": _0009_enable_sending_push_notificationsDownSql,
"0009_enable_sending_push_notifications.up.sql": _0009_enable_sending_push_notificationsUpSql, "0009_enable_sending_push_notifications.up.sql": _0009_enable_sending_push_notificationsUpSql,
"0010_add_block_mentions.down.sql": _0010_add_block_mentionsDownSql, "0010_add_block_mentions.down.sql": _0010_add_block_mentionsDownSql,
"0010_add_block_mentions.up.sql": _0010_add_block_mentionsUpSql, "0010_add_block_mentions.up.sql": _0010_add_block_mentionsUpSql,
"0011_allow_webview_permission_requests.down.sql": _0011_allow_webview_permission_requestsDownSql, "0011_allow_webview_permission_requests.down.sql": _0011_allow_webview_permission_requestsDownSql,
"0011_allow_webview_permission_requests.up.sql": _0011_allow_webview_permission_requestsUpSql, "0011_allow_webview_permission_requests.up.sql": _0011_allow_webview_permission_requestsUpSql,
"0012_pending_transactions.down.sql": _0012_pending_transactionsDownSql, "0012_pending_transactions.down.sql": _0012_pending_transactionsDownSql,
"0012_pending_transactions.up.sql": _0012_pending_transactionsUpSql, "0012_pending_transactions.up.sql": _0012_pending_transactionsUpSql,
"0013_favourites.down.sql": _0013_favouritesDownSql, "0013_favourites.down.sql": _0013_favouritesDownSql,
"0013_favourites.up.sql": _0013_favouritesUpSql, "0013_favourites.up.sql": _0013_favouritesUpSql,
"0014_add_use_mailservers.down.sql": _0014_add_use_mailserversDownSql, "0014_add_use_mailservers.down.sql": _0014_add_use_mailserversDownSql,
"0014_add_use_mailservers.up.sql": _0014_add_use_mailserversUpSql, "0014_add_use_mailservers.up.sql": _0014_add_use_mailserversUpSql,
"0015_link_previews.down.sql": _0015_link_previewsDownSql, "0015_link_previews.down.sql": _0015_link_previewsDownSql,
"0015_link_previews.up.sql": _0015_link_previewsUpSql, "0015_link_previews.up.sql": _0015_link_previewsUpSql,
"0016_local_notifications_preferences.down.sql": _0016_local_notifications_preferencesDownSql, "0016_local_notifications_preferences.down.sql": _0016_local_notifications_preferencesDownSql,
"0016_local_notifications_preferences.up.sql": _0016_local_notifications_preferencesUpSql, "0016_local_notifications_preferences.up.sql": _0016_local_notifications_preferencesUpSql,
"0017_bookmarks.down.sql": _0017_bookmarksDownSql, "0017_bookmarks.down.sql": _0017_bookmarksDownSql,
"0017_bookmarks.up.sql": _0017_bookmarksUpSql, "0017_bookmarks.up.sql": _0017_bookmarksUpSql,
"0018_profile_pictures_visibility.up.sql": _0018_profile_pictures_visibilityUpSql, "0018_profile_pictures_visibility.up.sql": _0018_profile_pictures_visibilityUpSql,
"0019_blocks_ranges_extra_data.up.sql": _0019_blocks_ranges_extra_dataUpSql, "0019_blocks_ranges_extra_data.up.sql": _0019_blocks_ranges_extra_dataUpSql,
"0020_metrics.up.sql": _0020_metricsUpSql, "0020_metrics.up.sql": _0020_metricsUpSql,
"0021_add_session_id_to_metrics.up.sql": _0021_add_session_id_to_metricsUpSql, "0021_add_session_id_to_metrics.up.sql": _0021_add_session_id_to_metricsUpSql,
"0022_pending_transfers.up.sql": _0022_pending_transfersUpSql, "0022_pending_transfers.up.sql": _0022_pending_transfersUpSql,
"1618237885_settings_anon_metrics_should_send.up.sql": _1618237885_settings_anon_metrics_should_sendUpSql, "1618237885_settings_anon_metrics_should_send.up.sql": _1618237885_settings_anon_metrics_should_sendUpSql,
"1618395756_contacts_only.up.sql": _1618395756_contacts_onlyUpSql, "1618395756_contacts_only.up.sql": _1618395756_contacts_onlyUpSql,
"1622184614_add_default_sync_period.up.sql": _1622184614_add_default_sync_periodUpSql, "1622184614_add_default_sync_period.up.sql": _1622184614_add_default_sync_periodUpSql,
"1625872445_user_status.up.sql": _1625872445_user_statusUpSql, "1625872445_user_status.up.sql": _1625872445_user_statusUpSql,
"1627983977_add_gif_to_settings.up.sql": _1627983977_add_gif_to_settingsUpSql, "1627983977_add_gif_to_settings.up.sql": _1627983977_add_gif_to_settingsUpSql,
"1628580203_add_hidden_account.up.sql": _1628580203_add_hidden_accountUpSql, "1628580203_add_hidden_account.up.sql": _1628580203_add_hidden_accountUpSql,
"1629123384_add_id_to_app_metrics.up.sql": _1629123384_add_id_to_app_metricsUpSql, "1629123384_add_id_to_app_metrics.up.sql": _1629123384_add_id_to_app_metricsUpSql,
"1630401853_add_opensea_enabled_to_settings.up.sql": _1630401853_add_opensea_enabled_to_settingsUpSql, "1630401853_add_opensea_enabled_to_settings.up.sql": _1630401853_add_opensea_enabled_to_settingsUpSql,
"1630464455_create-saved_addresses-table.down.sql": _1630464455_createSaved_addressesTableDownSql, "1630464455_create-saved_addresses-table.down.sql": _1630464455_createSaved_addressesTableDownSql,
"1630464455_create-saved_addresses-table.up.sql": _1630464455_createSaved_addressesTableUpSql, "1630464455_create-saved_addresses-table.up.sql": _1630464455_createSaved_addressesTableUpSql,
"1630485153_networks.down.sql": _1630485153_networksDownSql, "1630485153_networks.down.sql": _1630485153_networksDownSql,
"1630485153_networks.up.sql": _1630485153_networksUpSql, "1630485153_networks.up.sql": _1630485153_networksUpSql,
"1632262444_profile_pictures_show_to.up.sql": _1632262444_profile_pictures_show_toUpSql, "1632262444_profile_pictures_show_to.up.sql": _1632262444_profile_pictures_show_toUpSql,
"1635942153_add_telemetry_server_url_to_settings.up.sql": _1635942153_add_telemetry_server_url_to_settingsUpSql, "1635942153_add_telemetry_server_url_to_settings.up.sql": _1635942153_add_telemetry_server_url_to_settingsUpSql,
"1635942154_add_backup_setting.up.sql": _1635942154_add_backup_settingUpSql, "1635942154_add_backup_setting.up.sql": _1635942154_add_backup_settingUpSql,
"1637745568_add_auto_message_setting.up.sql": _1637745568_add_auto_message_settingUpSql, "1637745568_add_auto_message_setting.up.sql": _1637745568_add_auto_message_settingUpSql,
"1640111208_nodeconfig.up.sql": _1640111208_nodeconfigUpSql, "1640111208_nodeconfig.up.sql": _1640111208_nodeconfigUpSql,
"doc.go": docGo, "doc.go": docGo,
} }
@ -1411,15 +1318,15 @@ var _bindata = map[string]func() (*asset, error){
// img/ // img/
// a.png // a.png
// b.png // b.png
// then AssetDir("data") would return []string{"foo.txt", "img"}, // then AssetDir("data") would return []string{"foo.txt", "img"}
// AssetDir("data/img") would return []string{"a.png", "b.png"}, // AssetDir("data/img") would return []string{"a.png", "b.png"}
// AssetDir("foo.txt") and AssetDir("notexist") would return an error, and // AssetDir("foo.txt") and AssetDir("notexist") would return an error
// AssetDir("") will return []string{"data"}. // AssetDir("") will return []string{"data"}.
func AssetDir(name string) ([]string, error) { func AssetDir(name string) ([]string, error) {
node := _bintree node := _bintree
if len(name) != 0 { if len(name) != 0 {
canonicalName := strings.Replace(name, "\\", "/", -1) cannonicalName := strings.Replace(name, "\\", "/", -1)
pathList := strings.Split(canonicalName, "/") pathList := strings.Split(cannonicalName, "/")
for _, p := range pathList { for _, p := range pathList {
node = node.Children[p] node = node.Children[p]
if node == nil { if node == nil {
@ -1441,7 +1348,6 @@ type bintree struct {
Func func() (*asset, error) Func func() (*asset, error)
Children map[string]*bintree Children map[string]*bintree
} }
var _bintree = &bintree{nil, map[string]*bintree{ var _bintree = &bintree{nil, map[string]*bintree{
"0001_app.down.sql": &bintree{_0001_appDownSql, map[string]*bintree{}}, "0001_app.down.sql": &bintree{_0001_appDownSql, map[string]*bintree{}},
"0001_app.up.sql": &bintree{_0001_appUpSql, map[string]*bintree{}}, "0001_app.up.sql": &bintree{_0001_appUpSql, map[string]*bintree{}},
@ -1499,7 +1405,7 @@ var _bintree = &bintree{nil, map[string]*bintree{
"doc.go": &bintree{docGo, map[string]*bintree{}}, "doc.go": &bintree{docGo, map[string]*bintree{}},
}} }}
// RestoreAsset restores an asset under the given directory. // RestoreAsset restores an asset under the given directory
func RestoreAsset(dir, name string) error { func RestoreAsset(dir, name string) error {
data, err := Asset(name) data, err := Asset(name)
if err != nil { if err != nil {
@ -1517,10 +1423,14 @@ func RestoreAsset(dir, name string) error {
if err != nil { if err != nil {
return err return err
} }
return os.Chtimes(_filePath(dir, name), info.ModTime(), info.ModTime()) err = os.Chtimes(_filePath(dir, name), info.ModTime(), info.ModTime())
if err != nil {
return err
}
return nil
} }
// RestoreAssets restores an asset under the given directory recursively. // RestoreAssets restores an asset under the given directory recursively
func RestoreAssets(dir, name string) error { func RestoreAssets(dir, name string) error {
children, err := AssetDir(name) children, err := AssetDir(name)
// File // File
@ -1538,6 +1448,7 @@ func RestoreAssets(dir, name string) error {
} }
func _filePath(dir, name string) string { func _filePath(dir, name string) string {
canonicalName := strings.Replace(name, "\\", "/", -1) cannonicalName := strings.Replace(name, "\\", "/", -1)
return filepath.Join(append([]string{dir}, strings.Split(canonicalName, "/")...)...) return filepath.Join(append([]string{dir}, strings.Split(cannonicalName, "/")...)...)
} }

View File

@ -414,7 +414,7 @@ func ImportAccount(seedPhrase string, backend *api.GethStatusBackend) error {
PublicKey: types.Hex2Bytes(walletDerivedAccount.PublicKey), PublicKey: types.Hex2Bytes(walletDerivedAccount.PublicKey),
KeyUID: generatedAccountInfo.KeyUID, KeyUID: generatedAccountInfo.KeyUID,
Address: types.HexToAddress(walletDerivedAccount.Address), Address: types.HexToAddress(walletDerivedAccount.Address),
Color: "", ColorID: "",
Wallet: true, Wallet: true,
Path: pathDefaultWallet, Path: pathDefaultWallet,
Name: "Ethereum account", Name: "Ethereum account",

View File

@ -479,7 +479,7 @@ func ImportAccount(seedPhrase string, backend *api.GethStatusBackend) error {
PublicKey: types.Hex2Bytes(walletDerivedAccount.PublicKey), PublicKey: types.Hex2Bytes(walletDerivedAccount.PublicKey),
KeyUID: generatedAccountInfo.KeyUID, KeyUID: generatedAccountInfo.KeyUID,
Address: types.HexToAddress(walletDerivedAccount.Address), Address: types.HexToAddress(walletDerivedAccount.Address),
Color: "", ColorID: "",
Wallet: true, Wallet: true,
Path: pathDefaultWallet, Path: pathDefaultWallet,
Name: "Ethereum account", Name: "Ethereum account",

View File

@ -375,7 +375,7 @@ func ImportAccount(seedPhrase string, backend *api.GethStatusBackend) error {
PublicKey: types.Hex2Bytes(walletDerivedAccount.PublicKey), PublicKey: types.Hex2Bytes(walletDerivedAccount.PublicKey),
KeyUID: generatedAccountInfo.KeyUID, KeyUID: generatedAccountInfo.KeyUID,
Address: types.HexToAddress(walletDerivedAccount.Address), Address: types.HexToAddress(walletDerivedAccount.Address),
Color: "", ColorID: "",
Wallet: true, Wallet: true,
Path: pathDefaultWallet, Path: pathDefaultWallet,
Name: "Ethereum account", Name: "Ethereum account",

View File

@ -5,6 +5,8 @@ import (
"testing" "testing"
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
"github.com/status-im/status-go/multiaccounts/common"
) )
func TestIsOwnAccount(t *testing.T) { func TestIsOwnAccount(t *testing.T) {
@ -41,7 +43,7 @@ func TestUnmarshal(t *testing.T) {
"key-uid": "0xbc14c321b74652e57c7f26eb30d597ea27cbdf36cba5c85d24f12748153a035e", "key-uid": "0xbc14c321b74652e57c7f26eb30d597ea27cbdf36cba5c85d24f12748153a035e",
"public-key": "0x0465f6d4f1172524fc057954c8a3f8e34f991558b3d1097189975062f67adda7835da61acb5cda3348b41d211ed0cb07aba668eb12e19e29d98745bebf68d93b61", "public-key": "0x0465f6d4f1172524fc057954c8a3f8e34f991558b3d1097189975062f67adda7835da61acb5cda3348b41d211ed0cb07aba668eb12e19e29d98745bebf68d93b61",
"address": "0xf09c9f5Fb9faa22d0C6C593e7157Ceac8B2b0fe4", "address": "0xf09c9f5Fb9faa22d0C6C593e7157Ceac8B2b0fe4",
"color": "#4360df", "colorId": "primary",
"wallet": true, "wallet": true,
"chat": true, "chat": true,
"path": "m/44'/60'/0'/0/0", "path": "m/44'/60'/0'/0/0",
@ -61,7 +63,7 @@ func TestUnmarshal(t *testing.T) {
require.Equal(t, "0xbc14c321b74652e57c7f26eb30d597ea27cbdf36cba5c85d24f12748153a035e", account.KeyUID) require.Equal(t, "0xbc14c321b74652e57c7f26eb30d597ea27cbdf36cba5c85d24f12748153a035e", account.KeyUID)
require.Equal(t, []byte("0x0465f6d4f1172524fc057954c8a3f8e34f991558b3d1097189975062f67adda7835da61acb5cda3348b41d211ed0cb07aba668eb12e19e29d98745bebf68d93b61"), account.PublicKey.Bytes()) require.Equal(t, []byte("0x0465f6d4f1172524fc057954c8a3f8e34f991558b3d1097189975062f67adda7835da61acb5cda3348b41d211ed0cb07aba668eb12e19e29d98745bebf68d93b61"), account.PublicKey.Bytes())
require.Equal(t, "0xf09c9f5Fb9faa22d0C6C593e7157Ceac8B2b0fe4", account.Address.String()) require.Equal(t, "0xf09c9f5Fb9faa22d0C6C593e7157Ceac8B2b0fe4", account.Address.String())
require.Equal(t, "#4360df", account.Color) require.Equal(t, common.CustomizationColorPrimary, account.ColorID)
require.Equal(t, true, account.Wallet) require.Equal(t, true, account.Wallet)
require.Equal(t, true, account.Chat) require.Equal(t, true, account.Chat)
require.Equal(t, "m/44'/60'/0'/0/0", account.Path) require.Equal(t, "m/44'/60'/0'/0/0", account.Path)

View File

@ -9,6 +9,7 @@ import (
"strings" "strings"
"github.com/status-im/status-go/eth-node/types" "github.com/status-im/status-go/eth-node/types"
"github.com/status-im/status-go/multiaccounts/common"
"github.com/status-im/status-go/multiaccounts/settings" "github.com/status-im/status-go/multiaccounts/settings"
notificationssettings "github.com/status-im/status-go/multiaccounts/settings_notifications" notificationssettings "github.com/status-im/status-go/multiaccounts/settings_notifications"
sociallinkssettings "github.com/status-im/status-go/multiaccounts/settings_social_links" sociallinkssettings "github.com/status-im/status-go/multiaccounts/settings_social_links"
@ -52,7 +53,7 @@ type Account struct {
PublicKey types.HexBytes `json:"public-key,omitempty"` PublicKey types.HexBytes `json:"public-key,omitempty"`
Name string `json:"name"` Name string `json:"name"`
Emoji string `json:"emoji"` Emoji string `json:"emoji"`
Color string `json:"color"` ColorID common.CustomizationColor `json:"colorId,omitempty"`
Hidden bool `json:"hidden"` Hidden bool `json:"hidden"`
Clock uint64 `json:"clock,omitempty"` Clock uint64 `json:"clock,omitempty"`
Removed bool `json:"removed,omitempty"` Removed bool `json:"removed,omitempty"`
@ -113,7 +114,7 @@ func (a *Account) MarshalJSON() ([]byte, error) {
PublicKey types.HexBytes `json:"public-key"` PublicKey types.HexBytes `json:"public-key"`
Name string `json:"name"` Name string `json:"name"`
Emoji string `json:"emoji"` Emoji string `json:"emoji"`
Color string `json:"color"` ColorID common.CustomizationColor `json:"colorId"`
Hidden bool `json:"hidden"` Hidden bool `json:"hidden"`
Clock uint64 `json:"clock"` Clock uint64 `json:"clock"`
Removed bool `json:"removed"` Removed bool `json:"removed"`
@ -129,7 +130,7 @@ func (a *Account) MarshalJSON() ([]byte, error) {
PublicKey: a.PublicKey, PublicKey: a.PublicKey,
Name: a.Name, Name: a.Name,
Emoji: a.Emoji, Emoji: a.Emoji,
Color: a.Color, ColorID: a.ColorID,
Hidden: a.Hidden, Hidden: a.Hidden,
Clock: a.Clock, Clock: a.Clock,
Removed: a.Removed, Removed: a.Removed,
@ -186,7 +187,7 @@ func (a *Keypair) CopyKeypair() *Keypair {
PublicKey: acc.PublicKey, PublicKey: acc.PublicKey,
Name: acc.Name, Name: acc.Name,
Emoji: acc.Emoji, Emoji: acc.Emoji,
Color: acc.Color, ColorID: acc.ColorID,
Hidden: acc.Hidden, Hidden: acc.Hidden,
Clock: acc.Clock, Clock: acc.Clock,
Removed: acc.Removed, Removed: acc.Removed,
@ -270,7 +271,7 @@ func (db *Database) processKeypairs(rows *sql.Rows) ([]*Keypair, error) {
accKeyUID sql.NullString accKeyUID sql.NullString
accPath sql.NullString accPath sql.NullString
accName sql.NullString accName sql.NullString
accColor sql.NullString accColorID sql.NullString
accEmoji sql.NullString accEmoji sql.NullString
accWallet sql.NullBool accWallet sql.NullBool
accChat sql.NullBool accChat sql.NullBool
@ -285,7 +286,7 @@ func (db *Database) processKeypairs(rows *sql.Rows) ([]*Keypair, error) {
pubkey := []byte{} pubkey := []byte{}
err := rows.Scan( err := rows.Scan(
&kpKeyUID, &kpName, &kpType, &kpDerivedFrom, &kpLastUsedDerivationIndex, &kpSyncedFrom, &kpClock, &kpKeyUID, &kpName, &kpType, &kpDerivedFrom, &kpLastUsedDerivationIndex, &kpSyncedFrom, &kpClock,
&accAddress, &accKeyUID, &pubkey, &accPath, &accName, &accColor, &accEmoji, &accAddress, &accKeyUID, &pubkey, &accPath, &accName, &accColorID, &accEmoji,
&accWallet, &accChat, &accHidden, &accOperable, &accClock) &accWallet, &accChat, &accHidden, &accOperable, &accClock)
if err != nil { if err != nil {
return nil, err return nil, err
@ -327,8 +328,8 @@ func (db *Database) processKeypairs(rows *sql.Rows) ([]*Keypair, error) {
if accName.Valid { if accName.Valid {
acc.Name = accName.String acc.Name = accName.String
} }
if accColor.Valid { if accColorID.Valid {
acc.Color = accColor.String acc.ColorID = common.CustomizationColor(accColorID.String)
} }
if accEmoji.Valid { if accEmoji.Valid {
acc.Emoji = accEmoji.String acc.Emoji = accEmoji.String
@ -727,7 +728,7 @@ func (db *Database) saveOrUpdateAccounts(tx *sql.Tx, accounts []*Account) (err e
address = ?; address = ?;
`, `,
acc.Address, keyUID, acc.PublicKey, acc.Path, acc.Wallet, acc.Chat, acc.Address, keyUID, acc.PublicKey, acc.Path, acc.Wallet, acc.Chat,
acc.Name, acc.Color, acc.Emoji, acc.Hidden, acc.Operable, acc.Clock, acc.Address) acc.Name, acc.ColorID, acc.Emoji, acc.Hidden, acc.Operable, acc.Clock, acc.Address)
if err != nil { if err != nil {
return err return err
} }

View File

@ -8,6 +8,7 @@ import (
"github.com/status-im/status-go/appdatabase" "github.com/status-im/status-go/appdatabase"
"github.com/status-im/status-go/eth-node/types" "github.com/status-im/status-go/eth-node/types"
"github.com/status-im/status-go/multiaccounts/common"
) )
func setupTestDB(t *testing.T) (*Database, func()) { func setupTestDB(t *testing.T) (*Database, func()) {
@ -135,7 +136,7 @@ func TestWatchOnlyAccounts(t *testing.T) {
Address: types.Address{0x14}, Address: types.Address{0x14},
Type: AccountTypeWatch, Type: AccountTypeWatch,
Name: "WatchOnlyAcc4", Name: "WatchOnlyAcc4",
Color: "blue", ColorID: common.CustomizationColorPrimary,
Emoji: "emoji-1", Emoji: "emoji-1",
} }
err = db.SaveOrUpdateAccounts([]*Account{wo4}) err = db.SaveOrUpdateAccounts([]*Account{wo4})
@ -149,7 +150,7 @@ func TestWatchOnlyAccounts(t *testing.T) {
// updated watch onl to save the same account after it's saved // updated watch onl to save the same account after it's saved
wo4.Name = wo4.Name + "updated" wo4.Name = wo4.Name + "updated"
wo4.Color = "lightgreen" wo4.ColorID = common.CustomizationColorCamel
wo4.Emoji = wo4.Emoji + "updated" wo4.Emoji = wo4.Emoji + "updated"
err = db.SaveOrUpdateAccounts([]*Account{wo4}) err = db.SaveOrUpdateAccounts([]*Account{wo4})
require.NoError(t, err) require.NoError(t, err)
@ -277,7 +278,7 @@ func TestKeypairs(t *testing.T) {
// update an existing account // update an existing account
accToUpdate.Name = accToUpdate.Name + "updated" accToUpdate.Name = accToUpdate.Name + "updated"
accToUpdate.Color = "green" accToUpdate.ColorID = common.CustomizationColorBrown
accToUpdate.Emoji = accToUpdate.Emoji + "updated" accToUpdate.Emoji = accToUpdate.Emoji + "updated"
err = db.SaveOrUpdateAccounts([]*Account{accToUpdate}) err = db.SaveOrUpdateAccounts([]*Account{accToUpdate})

View File

@ -2,6 +2,7 @@ package accounts
import ( import (
"github.com/status-im/status-go/eth-node/types" "github.com/status-im/status-go/eth-node/types"
"github.com/status-im/status-go/multiaccounts/common"
) )
func GetWatchOnlyAccountsForTest() []*Account { func GetWatchOnlyAccountsForTest() []*Account {
@ -9,21 +10,21 @@ func GetWatchOnlyAccountsForTest() []*Account {
Address: types.Address{0x11}, Address: types.Address{0x11},
Type: AccountTypeWatch, Type: AccountTypeWatch,
Name: "WatchOnlyAcc1", Name: "WatchOnlyAcc1",
Color: "blue", ColorID: common.CustomizationColorPrimary,
Emoji: "emoji-1", Emoji: "emoji-1",
} }
wo2 := &Account{ wo2 := &Account{
Address: types.Address{0x12}, Address: types.Address{0x12},
Type: AccountTypeWatch, Type: AccountTypeWatch,
Name: "WatchOnlyAcc2", Name: "WatchOnlyAcc2",
Color: "blue", ColorID: common.CustomizationColorPrimary,
Emoji: "emoji-1", Emoji: "emoji-1",
} }
wo3 := &Account{ wo3 := &Account{
Address: types.Address{0x13}, Address: types.Address{0x13},
Type: AccountTypeWatch, Type: AccountTypeWatch,
Name: "WatchOnlyAcc3", Name: "WatchOnlyAcc3",
Color: "blue", ColorID: common.CustomizationColorPrimary,
Emoji: "emoji-1", Emoji: "emoji-1",
} }
@ -64,7 +65,7 @@ func GetProfileKeypairForTest(includeChatAccount bool, includeDefaultWalletAccou
PublicKey: types.Hex2Bytes("0x000000002"), PublicKey: types.Hex2Bytes("0x000000002"),
Name: "Generated Acc 1", Name: "Generated Acc 1",
Emoji: "emoji-1", Emoji: "emoji-1",
Color: "blue", ColorID: common.CustomizationColorPrimary,
Hidden: false, Hidden: false,
Clock: 0, Clock: 0,
Removed: false, Removed: false,
@ -85,7 +86,7 @@ func GetProfileKeypairForTest(includeChatAccount bool, includeDefaultWalletAccou
PublicKey: types.Hex2Bytes("0x000000003"), PublicKey: types.Hex2Bytes("0x000000003"),
Name: "Generated Acc 2", Name: "Generated Acc 2",
Emoji: "emoji-2", Emoji: "emoji-2",
Color: "blue", ColorID: common.CustomizationColorPrimary,
Hidden: false, Hidden: false,
Clock: 0, Clock: 0,
Removed: false, Removed: false,
@ -104,7 +105,7 @@ func GetProfileKeypairForTest(includeChatAccount bool, includeDefaultWalletAccou
PublicKey: types.Hex2Bytes("0x000000004"), PublicKey: types.Hex2Bytes("0x000000004"),
Name: "Generated Acc 3", Name: "Generated Acc 3",
Emoji: "emoji-3", Emoji: "emoji-3",
Color: "blue", ColorID: common.CustomizationColorPrimary,
Hidden: false, Hidden: false,
Clock: 0, Clock: 0,
Removed: false, Removed: false,
@ -135,7 +136,7 @@ func GetSeedImportedKeypair1ForTest() *Keypair {
PublicKey: types.Hex2Bytes("0x000000021"), PublicKey: types.Hex2Bytes("0x000000021"),
Name: "Seed Impo 1 Acc 1", Name: "Seed Impo 1 Acc 1",
Emoji: "emoji-1", Emoji: "emoji-1",
Color: "blue", ColorID: common.CustomizationColorPrimary,
Hidden: false, Hidden: false,
Clock: 0, Clock: 0,
Removed: false, Removed: false,
@ -154,7 +155,7 @@ func GetSeedImportedKeypair1ForTest() *Keypair {
PublicKey: types.Hex2Bytes("0x000000022"), PublicKey: types.Hex2Bytes("0x000000022"),
Name: "Seed Impo 1 Acc 2", Name: "Seed Impo 1 Acc 2",
Emoji: "emoji-2", Emoji: "emoji-2",
Color: "blue", ColorID: common.CustomizationColorPrimary,
Hidden: false, Hidden: false,
Clock: 0, Clock: 0,
Removed: false, Removed: false,
@ -184,7 +185,7 @@ func GetSeedImportedKeypair2ForTest() *Keypair {
PublicKey: types.Hex2Bytes("0x000000031"), PublicKey: types.Hex2Bytes("0x000000031"),
Name: "Seed Impo 2 Acc 1", Name: "Seed Impo 2 Acc 1",
Emoji: "emoji-1", Emoji: "emoji-1",
Color: "blue", ColorID: common.CustomizationColorPrimary,
Hidden: false, Hidden: false,
Clock: 0, Clock: 0,
Removed: false, Removed: false,
@ -203,7 +204,7 @@ func GetSeedImportedKeypair2ForTest() *Keypair {
PublicKey: types.Hex2Bytes("0x000000032"), PublicKey: types.Hex2Bytes("0x000000032"),
Name: "Seed Impo 2 Acc 2", Name: "Seed Impo 2 Acc 2",
Emoji: "emoji-2", Emoji: "emoji-2",
Color: "blue", ColorID: common.CustomizationColorPrimary,
Hidden: false, Hidden: false,
Clock: 0, Clock: 0,
Removed: false, Removed: false,
@ -233,7 +234,7 @@ func GetPrivKeyImportedKeypairForTest() *Keypair {
PublicKey: types.Hex2Bytes("0x000000041"), PublicKey: types.Hex2Bytes("0x000000041"),
Name: "Priv Key Impo Acc", Name: "Priv Key Impo Acc",
Emoji: "emoji-1", Emoji: "emoji-1",
Color: "blue", ColorID: common.CustomizationColorPrimary,
Hidden: false, Hidden: false,
Clock: 0, Clock: 0,
Removed: false, Removed: false,
@ -302,7 +303,7 @@ func SameAccounts(expected, real *Account) bool {
string(expected.PublicKey) == string(real.PublicKey) && string(expected.PublicKey) == string(real.PublicKey) &&
expected.Name == real.Name && expected.Name == real.Name &&
expected.Emoji == real.Emoji && expected.Emoji == real.Emoji &&
expected.Color == real.Color && expected.ColorID == real.ColorID &&
expected.Hidden == real.Hidden && expected.Hidden == real.Hidden &&
expected.Clock == real.Clock && expected.Clock == real.Clock &&
expected.Removed == real.Removed expected.Removed == real.Removed

View File

@ -0,0 +1,24 @@
package common
type CustomizationColor string
const (
CustomizationColorPrimary CustomizationColor = "primary"
CustomizationColorPurple CustomizationColor = "purple"
CustomizationColorIndigo CustomizationColor = "indigo"
CustomizationColorTurquoise CustomizationColor = "turquoise"
CustomizationColorBlue CustomizationColor = "blue"
CustomizationColorGreen CustomizationColor = "green"
CustomizationColorYellow CustomizationColor = "yellow"
CustomizationColorOrange CustomizationColor = "orange"
CustomizationColorRed CustomizationColor = "red"
CustomizationColorPink CustomizationColor = "pink"
CustomizationColorBrown CustomizationColor = "brown"
CustomizationColorSky CustomizationColor = "sky"
CustomizationColorArmy CustomizationColor = "army"
CustomizationColorMagenta CustomizationColor = "magenta"
CustomizationColorCopper CustomizationColor = "copper"
CustomizationColorCamel CustomizationColor = "camel"
CustomizationColorYinYang CustomizationColor = "yinyang"
CustomizationColorBeige CustomizationColor = "beige"
)

View File

@ -7,6 +7,7 @@ import (
"github.com/ethereum/go-ethereum/log" "github.com/ethereum/go-ethereum/log"
"github.com/status-im/status-go/images" "github.com/status-im/status-go/images"
"github.com/status-im/status-go/multiaccounts/common"
"github.com/status-im/status-go/multiaccounts/migrations" "github.com/status-im/status-go/multiaccounts/migrations"
"github.com/status-im/status-go/protocol/protobuf" "github.com/status-im/status-go/protocol/protobuf"
"github.com/status-im/status-go/sqlite" "github.com/status-im/status-go/sqlite"
@ -14,29 +15,6 @@ import (
type ColorHash [][2]int type ColorHash [][2]int
type CustomizationColor string
const (
CustomizationColorPrimary CustomizationColor = "primary"
CustomizationColorPurple CustomizationColor = "purple"
CustomizationColorIndigo CustomizationColor = "indigo"
CustomizationColorTurquoise CustomizationColor = "turquoise"
CustomizationColorBlue CustomizationColor = "blue"
CustomizationColorGreen CustomizationColor = "green"
CustomizationColorYellow CustomizationColor = "yellow"
CustomizationColorOrange CustomizationColor = "orange"
CustomizationColorRed CustomizationColor = "red"
CustomizationColorPink CustomizationColor = "pink"
CustomizationColorBrown CustomizationColor = "brown"
CustomizationColorSky CustomizationColor = "sky"
CustomizationColorArmy CustomizationColor = "army"
CustomizationColorMagenta CustomizationColor = "magenta"
CustomizationColorCopper CustomizationColor = "copper"
CustomizationColorCamel CustomizationColor = "camel"
CustomizationColorYinYang CustomizationColor = "yinyang"
CustomizationColorBeige CustomizationColor = "beige"
)
// Account stores public information about account. // Account stores public information about account.
type Account struct { type Account struct {
Name string `json:"name"` Name string `json:"name"`
@ -44,7 +22,7 @@ type Account struct {
Identicon string `json:"identicon"` Identicon string `json:"identicon"`
ColorHash ColorHash `json:"colorHash"` ColorHash ColorHash `json:"colorHash"`
ColorID int64 `json:"colorId"` ColorID int64 `json:"colorId"`
CustomizationColor CustomizationColor `json:"customizationColor,omitempty"` CustomizationColor common.CustomizationColor `json:"customizationColor,omitempty"`
KeycardPairing string `json:"keycard-pairing"` KeycardPairing string `json:"keycard-pairing"`
KeyUID string `json:"key-uid"` KeyUID string `json:"key-uid"`
Images []images.IdentityImage `json:"images"` Images []images.IdentityImage `json:"images"`
@ -72,7 +50,7 @@ func (a *Account) ToProtobuf() *protobuf.MultiAccount {
Timestamp: a.Timestamp, Timestamp: a.Timestamp,
Identicon: a.Identicon, Identicon: a.Identicon,
ColorHash: colorHashes, ColorHash: colorHashes,
ColorId: a.ColorID, ColorID: a.ColorID,
CustomizationColor: string(a.CustomizationColor), CustomizationColor: string(a.CustomizationColor),
KeycardPairing: a.KeycardPairing, KeycardPairing: a.KeycardPairing,
KeyUid: a.KeyUID, KeyUid: a.KeyUID,
@ -102,9 +80,9 @@ func (a *Account) FromProtobuf(ma *protobuf.MultiAccount) {
a.Timestamp = ma.Timestamp a.Timestamp = ma.Timestamp
a.Identicon = ma.Identicon a.Identicon = ma.Identicon
a.ColorHash = colorHash a.ColorHash = colorHash
a.ColorID = ma.ColorId a.ColorID = ma.ColorID
a.KeycardPairing = ma.KeycardPairing a.KeycardPairing = ma.KeycardPairing
a.CustomizationColor = CustomizationColor(ma.CustomizationColor) a.CustomizationColor = common.CustomizationColor(ma.CustomizationColor)
a.KeyUID = ma.KeyUid a.KeyUID = ma.KeyUid
a.Images = identityImages a.Images = identityImages
} }

View File

@ -10,6 +10,8 @@ import (
"github.com/status-im/status-go/protocol/sqlite" "github.com/status-im/status-go/protocol/sqlite"
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
"github.com/status-im/status-go/multiaccounts/common"
) )
func setupTestDB(t *testing.T) (*Database, func()) { func setupTestDB(t *testing.T) (*Database, func()) {
@ -26,7 +28,7 @@ func setupTestDB(t *testing.T) (*Database, func()) {
func TestAccounts(t *testing.T) { func TestAccounts(t *testing.T) {
db, stop := setupTestDB(t) db, stop := setupTestDB(t)
defer stop() defer stop()
expected := Account{Name: "string", KeyUID: "string", CustomizationColor: CustomizationColorBlue, ColorHash: ColorHash{{4, 3}, {4, 0}, {4, 3}, {4, 0}}, ColorID: 10, KDFIterations: sqlite.ReducedKDFIterationsNumber} expected := Account{Name: "string", KeyUID: "string", CustomizationColor: common.CustomizationColorBlue, ColorHash: ColorHash{{4, 3}, {4, 0}, {4, 3}, {4, 0}}, ColorID: 10, KDFIterations: sqlite.ReducedKDFIterationsNumber}
require.NoError(t, db.SaveAccount(expected)) require.NoError(t, db.SaveAccount(expected))
accounts, err := db.GetAccounts() accounts, err := db.GetAccounts()
require.NoError(t, err) require.NoError(t, err)
@ -37,10 +39,10 @@ func TestAccounts(t *testing.T) {
func TestAccountsUpdate(t *testing.T) { func TestAccountsUpdate(t *testing.T) {
db, stop := setupTestDB(t) db, stop := setupTestDB(t)
defer stop() defer stop()
expected := Account{KeyUID: "string", CustomizationColor: CustomizationColorBlue, ColorHash: ColorHash{{4, 3}, {4, 0}, {4, 3}, {4, 0}}, ColorID: 10, KDFIterations: sqlite.ReducedKDFIterationsNumber} expected := Account{KeyUID: "string", CustomizationColor: common.CustomizationColorBlue, ColorHash: ColorHash{{4, 3}, {4, 0}, {4, 3}, {4, 0}}, ColorID: 10, KDFIterations: sqlite.ReducedKDFIterationsNumber}
require.NoError(t, db.SaveAccount(expected)) require.NoError(t, db.SaveAccount(expected))
expected.Name = "chars" expected.Name = "chars"
expected.CustomizationColor = CustomizationColorMagenta expected.CustomizationColor = common.CustomizationColorMagenta
require.NoError(t, db.UpdateAccount(expected)) require.NoError(t, db.UpdateAccount(expected))
rst, err := db.GetAccounts() rst, err := db.GetAccounts()
require.NoError(t, err) require.NoError(t, err)

View File

@ -2876,7 +2876,7 @@ func mapSyncAccountToAccount(message *protobuf.SyncAccount, accountOperability a
PublicKey: types.HexBytes(message.PublicKey), PublicKey: types.HexBytes(message.PublicKey),
Path: message.Path, Path: message.Path,
Name: message.Name, Name: message.Name,
Color: message.Color, ColorID: message.ColorID,
Emoji: message.Emoji, Emoji: message.Emoji,
Wallet: message.Wallet, Wallet: message.Wallet,
Chat: message.Chat, Chat: message.Chat,

View File

@ -268,7 +268,7 @@ func (s *MessengerSyncWalletSuite) TestSyncWallets() {
accountsToUpdate := profileKpUpdated.Accounts[2:] accountsToUpdate := profileKpUpdated.Accounts[2:]
for _, acc := range accountsToUpdate { for _, acc := range accountsToUpdate {
acc.Name = acc.Name + "Updated" acc.Name = acc.Name + "Updated"
acc.Color = acc.Color + "Updated" acc.ColorID = acc.ColorID + "Updated"
acc.Emoji = acc.Emoji + "Updated" acc.Emoji = acc.Emoji + "Updated"
err = s.m.SaveOrUpdateAccount(acc) err = s.m.SaveOrUpdateAccount(acc)
s.Require().NoError(err, "updated account on alice primary device") s.Require().NoError(err, "updated account on alice primary device")

View File

@ -163,7 +163,7 @@ func (m *Messenger) prepareSyncAccountMessage(acc *accounts.Account) *protobuf.S
PublicKey: acc.PublicKey, PublicKey: acc.PublicKey,
Path: acc.Path, Path: acc.Path,
Name: acc.Name, Name: acc.Name,
Color: acc.Color, ColorID: acc.ColorID,
Emoji: acc.Emoji, Emoji: acc.Emoji,
Wallet: acc.Wallet, Wallet: acc.Wallet,
Chat: acc.Chat, Chat: acc.Chat,

View File

@ -5,8 +5,11 @@ package protobuf
import ( import (
fmt "fmt" fmt "fmt"
proto "github.com/golang/protobuf/proto"
math "math" math "math"
proto "github.com/golang/protobuf/proto"
"github.com/status-im/status-go/multiaccounts/common"
) )
// Reference imports to suppress errors if they are not otherwise used. // Reference imports to suppress errors if they are not otherwise used.
@ -348,7 +351,7 @@ type MultiAccount struct {
Timestamp int64 `protobuf:"varint,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"` Timestamp int64 `protobuf:"varint,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
Identicon string `protobuf:"bytes,3,opt,name=identicon,proto3" json:"identicon,omitempty"` Identicon string `protobuf:"bytes,3,opt,name=identicon,proto3" json:"identicon,omitempty"`
ColorHash []*MultiAccount_ColorHash `protobuf:"bytes,4,rep,name=color_hash,json=colorHash,proto3" json:"color_hash,omitempty"` ColorHash []*MultiAccount_ColorHash `protobuf:"bytes,4,rep,name=color_hash,json=colorHash,proto3" json:"color_hash,omitempty"`
ColorId int64 `protobuf:"varint,5,opt,name=color_id,json=colorId,proto3" json:"color_id,omitempty"` ColorID int64 `protobuf:"varint,5,opt,name=color_id,json=colorId,proto3" json:"color_id,omitempty"`
KeycardPairing string `protobuf:"bytes,6,opt,name=keycard_pairing,json=keycardPairing,proto3" json:"keycard_pairing,omitempty"` KeycardPairing string `protobuf:"bytes,6,opt,name=keycard_pairing,json=keycardPairing,proto3" json:"keycard_pairing,omitempty"`
KeyUid string `protobuf:"bytes,7,opt,name=key_uid,json=keyUid,proto3" json:"key_uid,omitempty"` KeyUid string `protobuf:"bytes,7,opt,name=key_uid,json=keyUid,proto3" json:"key_uid,omitempty"`
Images []*MultiAccount_IdentityImage `protobuf:"bytes,8,rep,name=images,proto3" json:"images,omitempty"` Images []*MultiAccount_IdentityImage `protobuf:"bytes,8,rep,name=images,proto3" json:"images,omitempty"`
@ -411,9 +414,9 @@ func (m *MultiAccount) GetColorHash() []*MultiAccount_ColorHash {
return nil return nil
} }
func (m *MultiAccount) GetColorId() int64 { func (m *MultiAccount) GetColorID() int64 {
if m != nil { if m != nil {
return m.ColorId return m.ColorID
} }
return 0 return 0
} }
@ -2047,7 +2050,7 @@ type SyncAccount struct {
PublicKey []byte `protobuf:"bytes,4,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"` PublicKey []byte `protobuf:"bytes,4,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"`
Path string `protobuf:"bytes,5,opt,name=path,proto3" json:"path,omitempty"` Path string `protobuf:"bytes,5,opt,name=path,proto3" json:"path,omitempty"`
Name string `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"` Name string `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"`
Color string `protobuf:"bytes,7,opt,name=color,proto3" json:"color,omitempty"` ColorID common.CustomizationColor `protobuf:"bytes,7,opt,name=colorId,proto3" json:"colorId,omitempty"`
Emoji string `protobuf:"bytes,8,opt,name=emoji,proto3" json:"emoji,omitempty"` Emoji string `protobuf:"bytes,8,opt,name=emoji,proto3" json:"emoji,omitempty"`
Wallet bool `protobuf:"varint,9,opt,name=wallet,proto3" json:"wallet,omitempty"` Wallet bool `protobuf:"varint,9,opt,name=wallet,proto3" json:"wallet,omitempty"`
Chat bool `protobuf:"varint,10,opt,name=chat,proto3" json:"chat,omitempty"` Chat bool `protobuf:"varint,10,opt,name=chat,proto3" json:"chat,omitempty"`
@ -2125,9 +2128,9 @@ func (m *SyncAccount) GetName() string {
return "" return ""
} }
func (m *SyncAccount) GetColor() string { func (m *SyncAccount) GetColorID() common.CustomizationColor {
if m != nil { if m != nil {
return m.Color return m.ColorID
} }
return "" return ""
} }

View File

@ -231,7 +231,7 @@ message SyncAccount {
bytes public_key = 4; bytes public_key = 4;
string path = 5; string path = 5;
string name = 6; string name = 6;
string color = 7; string colorId = 7;
string emoji = 8; string emoji = 8;
bool wallet = 9; bool wallet = 9;
bool chat = 10; bool chat = 10;

View File

@ -91,7 +91,7 @@ func (s *SyncDeviceSuite) prepareBackendWithAccount(tmpdir string) *api.GethStat
PublicKey: types.Hex2Bytes(walletDerivedAccount.PublicKey), PublicKey: types.Hex2Bytes(walletDerivedAccount.PublicKey),
KeyUID: generatedAccountInfo.KeyUID, KeyUID: generatedAccountInfo.KeyUID,
Address: types.HexToAddress(walletDerivedAccount.Address), Address: types.HexToAddress(walletDerivedAccount.Address),
Color: "", ColorID: "",
Wallet: true, Wallet: true,
Path: pathDefaultWallet, Path: pathDefaultWallet,
Name: "Ethereum account", Name: "Ethereum account",

View File

@ -213,8 +213,8 @@ func (api *API) checkAccountValidity(account *accounts.Account) error {
return errors.New("`Emoji` field of an account must be set") return errors.New("`Emoji` field of an account must be set")
} }
if len(account.Color) == 0 { if len(account.ColorID) == 0 {
return errors.New("`Color` field of an account must be set") return errors.New("`ColorID` field of an account must be set")
} }
if account.Type != accounts.AccountTypeWatch { if account.Type != accounts.AccountTypeWatch {