diff --git a/api/backend_test.go b/api/backend_test.go index e8af59b6e..99f5a4663 100644 --- a/api/backend_test.go +++ b/api/backend_test.go @@ -832,7 +832,6 @@ func TestLoginAccount(t *testing.T) { createAccountRequest := &requests.CreateAccount{ DisplayName: "some-display-name", CustomizationColor: "#ffffff", - Emoji: "some", Password: password, RootDataDir: tmpdir, LogFilePath: tmpdir + "/log", @@ -894,7 +893,6 @@ func TestEnableInstallationAndPair(t *testing.T) { createAccountRequest := &requests.CreateAccount{ DisplayName: displayName, CustomizationColor: "#ffffff", - Emoji: "some", Password: password, RootDataDir: tmpdir, LogFilePath: tmpdir + "/log", @@ -1498,7 +1496,6 @@ func TestCreateWallet(t *testing.T) { createAccountRequest := &requests.CreateAccount{ DisplayName: "some-display-name", CustomizationColor: "#ffffff", - Emoji: "emoji", Password: password, RootDataDir: tmpdir, LogFilePath: tmpdir + "/log", @@ -1562,7 +1559,6 @@ func TestSetFleet(t *testing.T) { Password: password, RootDataDir: tmpdir, LogFilePath: tmpdir + "/log", - Emoji: "some", } c := make(chan interface{}, 10) signal.SetMobileSignalHandler(func(data []byte) { @@ -1631,7 +1627,6 @@ func TestWalletConfigOnLoginAccount(t *testing.T) { Password: password, RootDataDir: tmpdir, LogFilePath: tmpdir + "/log", - Emoji: "some", } c := make(chan interface{}, 10) signal.SetMobileSignalHandler(func(data []byte) { @@ -1695,7 +1690,6 @@ func TestTestnetEnabledSettingOnCreateAccount(t *testing.T) { createAccountRequest1 := &requests.CreateAccount{ DisplayName: "User-1", CustomizationColor: "#ffffff", - Emoji: "some", Password: "password123", RootDataDir: tmpdir, LogFilePath: tmpdir + "/log", @@ -1716,7 +1710,6 @@ func TestTestnetEnabledSettingOnCreateAccount(t *testing.T) { createAccountRequest2 := &requests.CreateAccount{ DisplayName: "User-2", CustomizationColor: "#ffffff", - Emoji: "some", Password: "password", RootDataDir: tmpdir, LogFilePath: tmpdir + "/log", diff --git a/api/defaults.go b/api/defaults.go index 628067a76..db05e8548 100644 --- a/api/defaults.go +++ b/api/defaults.go @@ -411,630 +411,28 @@ func buildSigningPhrase() (string, error) { } return dictionary[a.Int64()] + " " + dictionary[b.Int64()] + " " + dictionary[c.Int64()], nil - } -var dictionary = []string{ - "acid", - "alto", - "apse", - "arch", - "area", - "army", - "atom", - "aunt", - "babe", - "baby", - "back", - "bail", - "bait", - "bake", - "ball", - "band", - "bank", - "barn", - "base", - "bass", - "bath", - "bead", - "beak", - "beam", - "bean", - "bear", - "beat", - "beef", - "beer", - "beet", - "bell", - "belt", - "bend", - "bike", - "bill", - "bird", - "bite", - "blow", - "blue", - "boar", - "boat", - "body", - "bolt", - "bomb", - "bone", - "book", - "boot", - "bore", - "boss", - "bowl", - "brow", - "bulb", - "bull", - "burn", - "bush", - "bust", - "cafe", - "cake", - "calf", - "call", - "calm", - "camp", - "cane", - "cape", - "card", - "care", - "carp", - "cart", - "case", - "cash", - "cast", - "cave", - "cell", - "cent", - "chap", - "chef", - "chin", - "chip", - "chop", - "chub", - "chug", - "city", - "clam", - "clef", - "clip", - "club", - "clue", - "coal", - "coat", - "code", - "coil", - "coin", - "coke", - "cold", - "colt", - "comb", - "cone", - "cook", - "cope", - "copy", - "cord", - "cork", - "corn", - "cost", - "crab", - "craw", - "crew", - "crib", - "crop", - "crow", - "curl", - "cyst", - "dame", - "dare", - "dark", - "dart", - "dash", - "data", - "date", - "dead", - "deal", - "dear", - "debt", - "deck", - "deep", - "deer", - "desk", - "dhow", - "diet", - "dill", - "dime", - "dirt", - "dish", - "disk", - "dock", - "doll", - "door", - "dory", - "drag", - "draw", - "drop", - "drug", - "drum", - "duck", - "dump", - "dust", - "duty", - "ease", - "east", - "eave", - "eddy", - "edge", - "envy", - "epee", - "exam", - "exit", - "face", - "fact", - "fail", - "fall", - "fame", - "fang", - "farm", - "fawn", - "fear", - "feed", - "feel", - "feet", - "file", - "fill", - "film", - "find", - "fine", - "fire", - "fish", - "flag", - "flat", - "flax", - "flow", - "foam", - "fold", - "font", - "food", - "foot", - "fork", - "form", - "fort", - "fowl", - "frog", - "fuel", - "full", - "gain", - "gale", - "galn", - "game", - "garb", - "gate", - "gear", - "gene", - "gift", - "girl", - "give", - "glad", - "glen", - "glue", - "glut", - "goal", - "goat", - "gold", - "golf", - "gong", - "good", - "gown", - "grab", - "gram", - "gray", - "grey", - "grip", - "grit", - "gyro", - "hail", - "hair", - "half", - "hall", - "hand", - "hang", - "harm", - "harp", - "hate", - "hawk", - "head", - "heat", - "heel", - "hell", - "helo", - "help", - "hemp", - "herb", - "hide", - "high", - "hill", - "hire", - "hive", - "hold", - "hole", - "home", - "hood", - "hoof", - "hook", - "hope", - "hops", - "horn", - "hose", - "host", - "hour", - "hunt", - "hurt", - "icon", - "idea", - "inch", - "iris", - "iron", - "item", - "jail", - "jeep", - "jeff", - "joey", - "join", - "joke", - "judo", - "jump", - "junk", - "jury", - "jute", - "kale", - "keep", - "kick", - "kill", - "kilt", - "kind", - "king", - "kiss", - "kite", - "knee", - "knot", - "lace", - "lack", - "lady", - "lake", - "lamb", - "lamp", - "land", - "lark", - "lava", - "lawn", - "lead", - "leaf", - "leek", - "lier", - "life", - "lift", - "lily", - "limo", - "line", - "link", - "lion", - "lisa", - "list", - "load", - "loaf", - "loan", - "lock", - "loft", - "long", - "look", - "loss", - "lout", - "love", - "luck", - "lung", - "lute", - "lynx", - "lyre", - "maid", - "mail", - "main", - "make", - "male", - "mall", - "manx", - "many", - "mare", - "mark", - "mask", - "mass", - "mate", - "math", - "meal", - "meat", - "meet", - "menu", - "mess", - "mice", - "midi", - "mile", - "milk", - "mime", - "mind", - "mine", - "mini", - "mint", - "miss", - "mist", - "moat", - "mode", - "mole", - "mood", - "moon", - "most", - "moth", - "move", - "mule", - "mutt", - "nail", - "name", - "neat", - "neck", - "need", - "neon", - "nest", - "news", - "node", - "nose", - "note", - "oboe", - "okra", - "open", - "oval", - "oven", - "oxen", - "pace", - "pack", - "page", - "pail", - "pain", - "pair", - "palm", - "pard", - "park", - "part", - "pass", - "past", - "path", - "peak", - "pear", - "peen", - "peer", - "pelt", - "perp", - "pest", - "pick", - "pier", - "pike", - "pile", - "pimp", - "pine", - "ping", - "pink", - "pint", - "pipe", - "piss", - "pith", - "plan", - "play", - "plot", - "plow", - "poem", - "poet", - "pole", - "polo", - "pond", - "pony", - "poof", - "pool", - "port", - "post", - "prow", - "pull", - "puma", - "pump", - "pupa", - "push", - "quit", - "race", - "rack", - "raft", - "rage", - "rail", - "rain", - "rake", - "rank", - "rate", - "read", - "rear", - "reef", - "rent", - "rest", - "rice", - "rich", - "ride", - "ring", - "rise", - "risk", - "road", - "robe", - "rock", - "role", - "roll", - "roof", - "room", - "root", - "rope", - "rose", - "ruin", - "rule", - "rush", - "ruth", - "sack", - "safe", - "sage", - "sail", - "sale", - "salt", - "sand", - "sari", - "sash", - "save", - "scow", - "seal", - "seat", - "seed", - "self", - "sell", - "shed", - "shin", - "ship", - "shoe", - "shop", - "shot", - "show", - "sick", - "side", - "sign", - "silk", - "sill", - "silo", - "sing", - "sink", - "site", - "size", - "skin", - "sled", - "slip", - "smog", - "snob", - "snow", - "soap", - "sock", - "soda", - "sofa", - "soft", - "soil", - "song", - "soot", - "sort", - "soup", - "spot", - "spur", - "stag", - "star", - "stay", - "stem", - "step", - "stew", - "stop", - "stud", - "suck", - "suit", - "swan", - "swim", - "tail", - "tale", - "talk", - "tank", - "tard", - "task", - "taxi", - "team", - "tear", - "teen", - "tell", - "temp", - "tent", - "term", - "test", - "text", - "thaw", - "tile", - "till", - "time", - "tire", - "toad", - "toga", - "togs", - "tone", - "tool", - "toot", - "tote", - "tour", - "town", - "tram", - "tray", - "tree", - "trim", - "trip", - "tuba", - "tube", - "tuna", - "tune", - "turn", - "tutu", - "twig", - "type", - "unit", - "user", - "vane", - "vase", - "vast", - "veal", - "veil", - "vein", - "vest", - "vibe", - "view", - "vise", - "wait", - "wake", - "walk", - "wall", - "wash", - "wasp", - "wave", - "wear", - "weed", - "week", - "well", - "west", - "whip", - "wife", - "will", - "wind", - "wine", - "wing", - "wire", - "wish", - "wolf", - "wood", - "wool", - "word", - "work", - "worm", - "wrap", - "wren", - "yard", - "yarn", - "yawl", - "year", - "yoga", - "yoke", - "yurt", - "zinc", - "zone", +func randomWalletEmoji() (string, error) { + count := big.NewInt(int64(len(animalsAndNatureEmojis))) + index, err := rand.Int(rand.Reader, count) + if err != nil { + return "", err + } + return animalsAndNatureEmojis[index.Int64()], nil +} + +var animalsAndNatureEmojis = []string{ + "đŸĩ", "🐒", "đŸĻ", "đŸĻ§", "đŸĻŖ", "đŸĻ", "đŸĻ›", "đŸĒ", "đŸĢ", "đŸĻ™", + "🐃", "🐂", "🐄", "🐎", "đŸĻ„", "đŸĻ“", "đŸĻŒ", "🐐", "🐏", "🐑", + "đŸĻ™", "🐘", "đŸĻŖ", "đŸĻ›", "đŸĻ", "đŸĻ’", "🐁", "🐀", "🐹", "🐰", + "🐇", "đŸŋī¸", "đŸĻ”", "đŸĻ‡", "đŸģ", "đŸģ‍❄ī¸", "🐨", "đŸŧ", "đŸĻĨ", "đŸĻĻ", + "đŸĻ¨", "đŸĻ˜", "đŸĻĄ", "🐾", "🐉", "🐲", "đŸŒĩ", "🎄", "🌲", "đŸŒŗ", + "🌴", "🌱", "đŸŒŋ", "☘ī¸", "🍀", "🎍", "🎋", "🍃", "🍂", "🍁", + "🍄", "🐚", "đŸĒ¨", "🌾", "💐", "🌷", "🌹", "đŸĨ€", "đŸŒē", "🌸", + "đŸŒŧ", "đŸŒģ", "🌞", "🌝", "🌛", "🌜", "🌚", "🌕", "🌖", "🌗", + "🌘", "🌑", "🌒", "🌓", "🌔", "🌙", "🌎", "🌍", "🌏", "đŸĒ", + "đŸ’Ģ", "⭐", "🌟", "✨", "⚡", "☄ī¸", "đŸ’Ĩ", "đŸ”Ĩ", "đŸŒĒī¸", "🌈", + "☀ī¸", "🌤ī¸", "⛅", "đŸŒĨī¸", "☁ī¸", "đŸŒĻī¸", "🌧ī¸", "⛈ī¸", "🌩ī¸", "🌨ī¸", + "❄ī¸", "☃ī¸", "⛄", "đŸŒŦī¸", "💨", "💧", "đŸ’Ļ", "🌊", } diff --git a/api/geth_backend.go b/api/geth_backend.go index dc751c17d..359f6094c 100644 --- a/api/geth_backend.go +++ b/api/geth_backend.go @@ -1643,13 +1643,18 @@ func (b *GethStatusBackend) prepareConfig(request *requests.CreateAccount, input } func (b *GethStatusBackend) prepareSubAccounts(request *requests.CreateAccount, input *prepareAccountInput) ([]*accounts.Account, error) { + emoji, err := randomWalletEmoji() + if err != nil { + return nil, errors.Wrap(err, "failed to generate random emoji") + } + walletDerivedAccount := input.derivedAddresses[pathDefaultWallet] walletAccount := &accounts.Account{ PublicKey: types.Hex2Bytes(walletDerivedAccount.PublicKey), KeyUID: input.keyUID, Address: types.HexToAddress(walletDerivedAccount.Address), ColorID: multiacccommon.CustomizationColor(request.CustomizationColor), - Emoji: request.Emoji, + Emoji: emoji, Wallet: true, Path: pathDefaultWallet, Name: walletAccountDefaultName, diff --git a/api/seed_phrase_dictionary.go b/api/seed_phrase_dictionary.go new file mode 100644 index 000000000..15ba1907a --- /dev/null +++ b/api/seed_phrase_dictionary.go @@ -0,0 +1,626 @@ +package api + +var dictionary = []string{ + "acid", + "alto", + "apse", + "arch", + "area", + "army", + "atom", + "aunt", + "babe", + "baby", + "back", + "bail", + "bait", + "bake", + "ball", + "band", + "bank", + "barn", + "base", + "bass", + "bath", + "bead", + "beak", + "beam", + "bean", + "bear", + "beat", + "beef", + "beer", + "beet", + "bell", + "belt", + "bend", + "bike", + "bill", + "bird", + "bite", + "blow", + "blue", + "boar", + "boat", + "body", + "bolt", + "bomb", + "bone", + "book", + "boot", + "bore", + "boss", + "bowl", + "brow", + "bulb", + "bull", + "burn", + "bush", + "bust", + "cafe", + "cake", + "calf", + "call", + "calm", + "camp", + "cane", + "cape", + "card", + "care", + "carp", + "cart", + "case", + "cash", + "cast", + "cave", + "cell", + "cent", + "chap", + "chef", + "chin", + "chip", + "chop", + "chub", + "chug", + "city", + "clam", + "clef", + "clip", + "club", + "clue", + "coal", + "coat", + "code", + "coil", + "coin", + "coke", + "cold", + "colt", + "comb", + "cone", + "cook", + "cope", + "copy", + "cord", + "cork", + "corn", + "cost", + "crab", + "craw", + "crew", + "crib", + "crop", + "crow", + "curl", + "cyst", + "dame", + "dare", + "dark", + "dart", + "dash", + "data", + "date", + "dead", + "deal", + "dear", + "debt", + "deck", + "deep", + "deer", + "desk", + "dhow", + "diet", + "dill", + "dime", + "dirt", + "dish", + "disk", + "dock", + "doll", + "door", + "dory", + "drag", + "draw", + "drop", + "drug", + "drum", + "duck", + "dump", + "dust", + "duty", + "ease", + "east", + "eave", + "eddy", + "edge", + "envy", + "epee", + "exam", + "exit", + "face", + "fact", + "fail", + "fall", + "fame", + "fang", + "farm", + "fawn", + "fear", + "feed", + "feel", + "feet", + "file", + "fill", + "film", + "find", + "fine", + "fire", + "fish", + "flag", + "flat", + "flax", + "flow", + "foam", + "fold", + "font", + "food", + "foot", + "fork", + "form", + "fort", + "fowl", + "frog", + "fuel", + "full", + "gain", + "gale", + "galn", + "game", + "garb", + "gate", + "gear", + "gene", + "gift", + "girl", + "give", + "glad", + "glen", + "glue", + "glut", + "goal", + "goat", + "gold", + "golf", + "gong", + "good", + "gown", + "grab", + "gram", + "gray", + "grey", + "grip", + "grit", + "gyro", + "hail", + "hair", + "half", + "hall", + "hand", + "hang", + "harm", + "harp", + "hate", + "hawk", + "head", + "heat", + "heel", + "hell", + "helo", + "help", + "hemp", + "herb", + "hide", + "high", + "hill", + "hire", + "hive", + "hold", + "hole", + "home", + "hood", + "hoof", + "hook", + "hope", + "hops", + "horn", + "hose", + "host", + "hour", + "hunt", + "hurt", + "icon", + "idea", + "inch", + "iris", + "iron", + "item", + "jail", + "jeep", + "jeff", + "joey", + "join", + "joke", + "judo", + "jump", + "junk", + "jury", + "jute", + "kale", + "keep", + "kick", + "kill", + "kilt", + "kind", + "king", + "kiss", + "kite", + "knee", + "knot", + "lace", + "lack", + "lady", + "lake", + "lamb", + "lamp", + "land", + "lark", + "lava", + "lawn", + "lead", + "leaf", + "leek", + "lier", + "life", + "lift", + "lily", + "limo", + "line", + "link", + "lion", + "lisa", + "list", + "load", + "loaf", + "loan", + "lock", + "loft", + "long", + "look", + "loss", + "lout", + "love", + "luck", + "lung", + "lute", + "lynx", + "lyre", + "maid", + "mail", + "main", + "make", + "male", + "mall", + "manx", + "many", + "mare", + "mark", + "mask", + "mass", + "mate", + "math", + "meal", + "meat", + "meet", + "menu", + "mess", + "mice", + "midi", + "mile", + "milk", + "mime", + "mind", + "mine", + "mini", + "mint", + "miss", + "mist", + "moat", + "mode", + "mole", + "mood", + "moon", + "most", + "moth", + "move", + "mule", + "mutt", + "nail", + "name", + "neat", + "neck", + "need", + "neon", + "nest", + "news", + "node", + "nose", + "note", + "oboe", + "okra", + "open", + "oval", + "oven", + "oxen", + "pace", + "pack", + "page", + "pail", + "pain", + "pair", + "palm", + "pard", + "park", + "part", + "pass", + "past", + "path", + "peak", + "pear", + "peen", + "peer", + "pelt", + "perp", + "pest", + "pick", + "pier", + "pike", + "pile", + "pimp", + "pine", + "ping", + "pink", + "pint", + "pipe", + "piss", + "pith", + "plan", + "play", + "plot", + "plow", + "poem", + "poet", + "pole", + "polo", + "pond", + "pony", + "poof", + "pool", + "port", + "post", + "prow", + "pull", + "puma", + "pump", + "pupa", + "push", + "quit", + "race", + "rack", + "raft", + "rage", + "rail", + "rain", + "rake", + "rank", + "rate", + "read", + "rear", + "reef", + "rent", + "rest", + "rice", + "rich", + "ride", + "ring", + "rise", + "risk", + "road", + "robe", + "rock", + "role", + "roll", + "roof", + "room", + "root", + "rope", + "rose", + "ruin", + "rule", + "rush", + "ruth", + "sack", + "safe", + "sage", + "sail", + "sale", + "salt", + "sand", + "sari", + "sash", + "save", + "scow", + "seal", + "seat", + "seed", + "self", + "sell", + "shed", + "shin", + "ship", + "shoe", + "shop", + "shot", + "show", + "sick", + "side", + "sign", + "silk", + "sill", + "silo", + "sing", + "sink", + "site", + "size", + "skin", + "sled", + "slip", + "smog", + "snob", + "snow", + "soap", + "sock", + "soda", + "sofa", + "soft", + "soil", + "song", + "soot", + "sort", + "soup", + "spot", + "spur", + "stag", + "star", + "stay", + "stem", + "step", + "stew", + "stop", + "stud", + "suck", + "suit", + "swan", + "swim", + "tail", + "tale", + "talk", + "tank", + "tard", + "task", + "taxi", + "team", + "tear", + "teen", + "tell", + "temp", + "tent", + "term", + "test", + "text", + "thaw", + "tile", + "till", + "time", + "tire", + "toad", + "toga", + "togs", + "tone", + "tool", + "toot", + "tote", + "tour", + "town", + "tram", + "tray", + "tree", + "trim", + "trip", + "tuba", + "tube", + "tuna", + "tune", + "turn", + "tutu", + "twig", + "type", + "unit", + "user", + "vane", + "vase", + "vast", + "veal", + "veil", + "vein", + "vest", + "vibe", + "view", + "vise", + "wait", + "wake", + "walk", + "wall", + "wash", + "wasp", + "wave", + "wear", + "weed", + "week", + "well", + "west", + "whip", + "wife", + "will", + "wind", + "wine", + "wing", + "wire", + "wish", + "wolf", + "wood", + "wool", + "word", + "work", + "worm", + "wrap", + "wren", + "yard", + "yarn", + "yawl", + "year", + "yoga", + "yoke", + "yurt", + "zinc", + "zone", +} diff --git a/cmd/status-cli/util.go b/cmd/status-cli/util.go index 8f6b1d343..754f49cfe 100644 --- a/cmd/status-cli/util.go +++ b/cmd/status-cli/util.go @@ -144,7 +144,6 @@ func createAccountAndLogin(b *api.GethStatusBackend, rootDataDir, password strin req := &requests.CreateAccount{ DisplayName: p.Name, CustomizationColor: "#ffffff", - Emoji: "some", Password: password, RootDataDir: rootDataDir, LogFilePath: "log", diff --git a/protocol/requests/create_account.go b/protocol/requests/create_account.go index f989c9d47..4384dcbe2 100644 --- a/protocol/requests/create_account.go +++ b/protocol/requests/create_account.go @@ -47,7 +47,6 @@ type CreateAccount struct { ImagePath string `json:"imagePath"` ImageCropRectangle *ImageCropRectangle `json:"imageCropRectangle"` CustomizationColor string `json:"customizationColor"` - Emoji string `json:"emoji"` WakuV2Nameserver *string `json:"wakuV2Nameserver"` WakuV2LightClient bool `json:"wakuV2LightClient"` diff --git a/wakuv2/message_publishing.go b/wakuv2/message_publishing.go index 2d16f6f23..afb8b55ae 100644 --- a/wakuv2/message_publishing.go +++ b/wakuv2/message_publishing.go @@ -5,13 +5,14 @@ import ( "go.uber.org/zap" - gethcommon "github.com/ethereum/go-ethereum/common" - "github.com/status-im/status-go/wakuv2/common" "github.com/waku-org/go-waku/waku/v2/api/publish" "github.com/waku-org/go-waku/waku/v2/protocol" "github.com/waku-org/go-waku/waku/v2/protocol/lightpush" "github.com/waku-org/go-waku/waku/v2/protocol/pb" "github.com/waku-org/go-waku/waku/v2/protocol/relay" + + gethcommon "github.com/ethereum/go-ethereum/common" + "github.com/status-im/status-go/wakuv2/common" ) type PublishMethod int