feature #1585 generate signing phrase, show it to the user during on-boarding, store in the account; account schema updated, added migration, generating a new signing phrase on recovery
This commit is contained in:
parent
d8a641d483
commit
d2530517c4
|
@ -12,5 +12,6 @@
|
||||||
(def crazy-math-message-id "crazy-math-message")
|
(def crazy-math-message-id "crazy-math-message")
|
||||||
(def move-to-internal-failure-message-id "move-to-internal-failure-message")
|
(def move-to-internal-failure-message-id "move-to-internal-failure-message")
|
||||||
(def passphrase-message-id "passphraze-message")
|
(def passphrase-message-id "passphraze-message")
|
||||||
|
(def signing-phrase-message-id "signing-phrase-message")
|
||||||
(def intro-status-message-id "intro-status")
|
(def intro-status-message-id "intro-status")
|
||||||
(def intro-message1-id "intro-message1")
|
(def intro-message1-id "intro-message1")
|
||||||
|
|
|
@ -139,9 +139,9 @@
|
||||||
|
|
||||||
(register-handler :show-mnemonic
|
(register-handler :show-mnemonic
|
||||||
(u/side-effect!
|
(u/side-effect!
|
||||||
(fn [_ [_ mnemonic]]
|
(fn [_ [_ mnemonic signing-phrase]]
|
||||||
(let [crazy-math-message? (messages/get-by-id chat-consts/crazy-math-message-id)]
|
(let [crazy-math-message? (messages/get-by-id chat-consts/crazy-math-message-id)]
|
||||||
(sign-up-service/passphrase-messages mnemonic crazy-math-message?)))))
|
(sign-up-service/passphrase-messages mnemonic signing-phrase crazy-math-message?)))))
|
||||||
|
|
||||||
(defn- handle-sms [{body :body}]
|
(defn- handle-sms [{body :body}]
|
||||||
(when-let [matches (re-matches #"(\d{4})" body)]
|
(when-let [matches (re-matches #"(\d{4})" body)]
|
||||||
|
|
|
@ -137,7 +137,8 @@
|
||||||
:from console-chat-id
|
:from console-chat-id
|
||||||
:to "me"}]))
|
:to "me"}]))
|
||||||
|
|
||||||
(defn passphrase-messages [mnemonic crazy-math-message?]
|
|
||||||
|
(defn passphrase-messages [mnemonic signing-phrase crazy-math-message?]
|
||||||
(dispatch [:received-message
|
(dispatch [:received-message
|
||||||
{:message-id const/passphrase-message-id
|
{:message-id const/passphrase-message-id
|
||||||
:content (if crazy-math-message?
|
:content (if crazy-math-message?
|
||||||
|
@ -156,6 +157,22 @@
|
||||||
:chat-id console-chat-id
|
:chat-id console-chat-id
|
||||||
:from console-chat-id
|
:from console-chat-id
|
||||||
:to "me"}])
|
:to "me"}])
|
||||||
|
(dispatch [:received-message
|
||||||
|
{:message-id const/signing-phrase-message-id
|
||||||
|
:content (label :t/here-is-your-signing-phrase)
|
||||||
|
:content-type text-content-type
|
||||||
|
:outgoing false
|
||||||
|
:chat-id console-chat-id
|
||||||
|
:from console-chat-id
|
||||||
|
:to "me"}])
|
||||||
|
(dispatch [:received-message
|
||||||
|
{:message-id (random/id)
|
||||||
|
:content signing-phrase
|
||||||
|
:content-type text-content-type
|
||||||
|
:outgoing false
|
||||||
|
:chat-id console-chat-id
|
||||||
|
:from console-chat-id
|
||||||
|
:to "me"}])
|
||||||
(start-signup))
|
(start-signup))
|
||||||
|
|
||||||
(def intro-status
|
(def intro-status
|
||||||
|
|
|
@ -1,11 +1,15 @@
|
||||||
(ns status-im.data-store.realm.schemas.base.core
|
(ns status-im.data-store.realm.schemas.base.core
|
||||||
(:require [status-im.data-store.realm.schemas.base.v1.core :as v1]
|
(:require [status-im.data-store.realm.schemas.base.v1.core :as v1]
|
||||||
[status-im.data-store.realm.schemas.base.v2.core :as v2]))
|
[status-im.data-store.realm.schemas.base.v2.core :as v2]
|
||||||
|
[status-im.data-store.realm.schemas.base.v3.core :as v3]))
|
||||||
|
|
||||||
; put schemas ordered by version
|
; put schemas ordered by version
|
||||||
(def schemas [{:schema v1/schema
|
(def schemas [{:schema v1/schema
|
||||||
:schemaVersion 1
|
:schemaVersion 1
|
||||||
:migration v1/migration}
|
:migration v1/migration}
|
||||||
{:schema v2/schema
|
{:schema v2/schema
|
||||||
:schemaVersion 2
|
:schemaVersion 2
|
||||||
:migration v2/migration}])
|
:migration v2/migration}
|
||||||
|
{:schema v3/schema
|
||||||
|
:schemaVersion 3
|
||||||
|
:migration v3/migration}])
|
||||||
|
|
|
@ -0,0 +1,35 @@
|
||||||
|
(ns status-im.data-store.realm.schemas.base.v3.account
|
||||||
|
(:require [taoensso.timbre :as log]
|
||||||
|
[status-im.utils.signing-phrase.core :as signing-phrase]))
|
||||||
|
|
||||||
|
(def schema {:name :account
|
||||||
|
:primaryKey :address
|
||||||
|
:properties {:address :string
|
||||||
|
:public-key :string
|
||||||
|
:updates-public-key {:type :string
|
||||||
|
:optional true}
|
||||||
|
:updates-private-key {:type :string
|
||||||
|
:optional true}
|
||||||
|
:name {:type :string :optional true}
|
||||||
|
:phone {:type :string :optional true}
|
||||||
|
:email {:type :string :optional true}
|
||||||
|
:status {:type :string :optional true}
|
||||||
|
:debug? {:type :bool :default false}
|
||||||
|
:photo-path :string
|
||||||
|
:signing-phrase {:type :string}
|
||||||
|
:last-updated {:type :int :default 0}
|
||||||
|
:signed-up? {:type :bool
|
||||||
|
:default false}
|
||||||
|
:network :string}})
|
||||||
|
|
||||||
|
(defn migration [_old-realm new-realm]
|
||||||
|
(log/debug "migrating account schema v3")
|
||||||
|
;; make sure that console chat has `:unremovable?` set to true
|
||||||
|
(let [accounts (.objects new-realm "account")]
|
||||||
|
(dotimes [i (.-length accounts)]
|
||||||
|
(let [account (aget accounts i)
|
||||||
|
phrase (aget account "signing-phrase")]
|
||||||
|
(when (empty? phrase)
|
||||||
|
(log/debug (js->clj account))
|
||||||
|
(aset account "signing-phrase" (signing-phrase/generate)))))))
|
||||||
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
(ns status-im.data-store.realm.schemas.base.v3.core
|
||||||
|
(:require [status-im.data-store.realm.schemas.base.v3.account :as account]
|
||||||
|
[status-im.data-store.realm.schemas.base.v1.kv-store :as kv-store]
|
||||||
|
[taoensso.timbre :as log]))
|
||||||
|
|
||||||
|
(def schema [account/schema
|
||||||
|
kv-store/schema])
|
||||||
|
|
||||||
|
(defn migration [old-realm new-realm]
|
||||||
|
(log/debug "migrating v3 base database: " old-realm new-realm)
|
||||||
|
(account/migration old-realm new-realm))
|
||||||
|
|
|
@ -123,6 +123,7 @@
|
||||||
"access or log in from another device")
|
"access or log in from another device")
|
||||||
:phew-here-is-your-passphrase "*Phew* that was hard, here is your passphrase, *write this down and keep this safe!* You will need it to recover your account."
|
:phew-here-is-your-passphrase "*Phew* that was hard, here is your passphrase, *write this down and keep this safe!* You will need it to recover your account."
|
||||||
:here-is-your-passphrase "Here is your passphrase, *write this down and keep this safe!* You will need it to recover your account."
|
:here-is-your-passphrase "Here is your passphrase, *write this down and keep this safe!* You will need it to recover your account."
|
||||||
|
:here-is-your-signing-phrase "Here is your signing phrase. You will use it to verify your transactions. *Write it down and keep it safe!*"
|
||||||
:written-down "Make sure you had securely written it down"
|
:written-down "Make sure you had securely written it down"
|
||||||
:phone-number-required "Tap here to enter your phone number & I'll find your friends"
|
:phone-number-required "Tap here to enter your phone number & I'll find your friends"
|
||||||
:shake-your-phone "Find a bug or have a suggestion? Just ~shake~ your phone!"
|
:shake-your-phone "Find a bug or have a suggestion? Just ~shake~ your phone!"
|
||||||
|
|
|
@ -17,10 +17,11 @@
|
||||||
(spec/def :account/status (spec/nilable string?))
|
(spec/def :account/status (spec/nilable string?))
|
||||||
(spec/def :account/network (spec/nilable string?))
|
(spec/def :account/network (spec/nilable string?))
|
||||||
(spec/def :account/phone (spec/nilable string?))
|
(spec/def :account/phone (spec/nilable string?))
|
||||||
|
(spec/def :account/signing-phrase :global/not-empty-string)
|
||||||
|
|
||||||
(spec/def :accounts/account (allowed-keys
|
(spec/def :accounts/account (allowed-keys
|
||||||
:req-un [:account/name :account/address :account/public-key
|
:req-un [:account/name :account/address :account/public-key
|
||||||
:account/photo-path]
|
:account/photo-path :account/signing-phrase]
|
||||||
:opt-un [:account/debug? :account/status :account/last-updated
|
:opt-un [:account/debug? :account/status :account/last-updated
|
||||||
:account/updates-private-key :account/updates-public-key
|
:account/updates-private-key :account/updates-public-key
|
||||||
:account/email :account/signed-up? :account/network
|
:account/email :account/signed-up? :account/network
|
||||||
|
|
|
@ -15,6 +15,7 @@
|
||||||
[status-im.utils.datetime :as time]
|
[status-im.utils.datetime :as time]
|
||||||
[status-im.utils.handlers :refer [register-handler-db register-handler-fx get-hashtags] :as handlers]
|
[status-im.utils.handlers :refer [register-handler-db register-handler-fx get-hashtags] :as handlers]
|
||||||
[status-im.ui.screens.accounts.statuses :as statuses]
|
[status-im.ui.screens.accounts.statuses :as statuses]
|
||||||
|
[status-im.utils.signing-phrase.core :as signing-phrase]
|
||||||
[status-im.utils.gfycat.core :refer [generate-gfy]]))
|
[status-im.utils.gfycat.core :refer [generate-gfy]]))
|
||||||
|
|
||||||
;;;; COFX
|
;;;; COFX
|
||||||
|
@ -37,10 +38,11 @@
|
||||||
(accounts-store/save account true)))
|
(accounts-store/save account true)))
|
||||||
|
|
||||||
(defn account-created [result password]
|
(defn account-created [result password]
|
||||||
(let [data (json->clj result)
|
(let [data (json->clj result)
|
||||||
public-key (:pubkey data)
|
public-key (:pubkey data)
|
||||||
address (:address data)
|
address (:address data)
|
||||||
mnemonic (:mnemonic data)
|
mnemonic (:mnemonic data)
|
||||||
|
phrase (signing-phrase/generate)
|
||||||
{:keys [public private]} (protocol/new-keypair!)
|
{:keys [public private]} (protocol/new-keypair!)
|
||||||
account {:public-key public-key
|
account {:public-key public-key
|
||||||
:address address
|
:address address
|
||||||
|
@ -49,10 +51,11 @@
|
||||||
:signed-up? true
|
:signed-up? true
|
||||||
:updates-public-key public
|
:updates-public-key public
|
||||||
:updates-private-key private
|
:updates-private-key private
|
||||||
:photo-path (identicon public-key)}]
|
:photo-path (identicon public-key)
|
||||||
|
:signing-phrase phrase}]
|
||||||
(log/debug "account-created")
|
(log/debug "account-created")
|
||||||
(when-not (str/blank? public-key)
|
(when-not (str/blank? public-key)
|
||||||
(dispatch [:show-mnemonic mnemonic])
|
(dispatch [:show-mnemonic mnemonic phrase])
|
||||||
(dispatch [:add-account account])
|
(dispatch [:add-account account])
|
||||||
(dispatch [:login-account address password true]))))
|
(dispatch [:login-account address password true]))))
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,8 @@
|
||||||
[taoensso.timbre :as log]
|
[taoensso.timbre :as log]
|
||||||
[clojure.string :as str]
|
[clojure.string :as str]
|
||||||
[status-im.utils.handlers :refer [register-handler-fx]]
|
[status-im.utils.handlers :refer [register-handler-fx]]
|
||||||
[status-im.utils.gfycat.core :refer [generate-gfy]]))
|
[status-im.utils.gfycat.core :refer [generate-gfy]]
|
||||||
|
[status-im.utils.signing-phrase.core :as signing-phrase]))
|
||||||
|
|
||||||
;;;; FX
|
;;;; FX
|
||||||
|
|
||||||
|
@ -27,9 +28,10 @@
|
||||||
:account-recovered
|
:account-recovered
|
||||||
[(inject-cofx :get-new-keypair!)]
|
[(inject-cofx :get-new-keypair!)]
|
||||||
(fn [{:keys [db keypair]} [_ result]]
|
(fn [{:keys [db keypair]} [_ result]]
|
||||||
(let [data (json->clj result)
|
(let [data (json->clj result)
|
||||||
public-key (:pubkey data)
|
public-key (:pubkey data)
|
||||||
address (:address data)
|
address (:address data)
|
||||||
|
phrase (signing-phrase/generate)
|
||||||
{:keys [public private]} keypair
|
{:keys [public private]} keypair
|
||||||
account {:public-key public-key
|
account {:public-key public-key
|
||||||
:address address
|
:address address
|
||||||
|
@ -37,7 +39,8 @@
|
||||||
:photo-path (identicon public-key)
|
:photo-path (identicon public-key)
|
||||||
:updates-public-key public
|
:updates-public-key public
|
||||||
:updates-private-key private
|
:updates-private-key private
|
||||||
:signed-up? true}]
|
:signed-up? true
|
||||||
|
:signing-phrase phrase}]
|
||||||
(log/debug "account-recovered")
|
(log/debug "account-recovered")
|
||||||
(when-not (str/blank? public-key)
|
(when-not (str/blank? public-key)
|
||||||
{:db (update db :accounts/recover assoc :passphrase "" :password "")
|
{:db (update db :accounts/recover assoc :passphrase "" :password "")
|
||||||
|
|
|
@ -0,0 +1,28 @@
|
||||||
|
(ns status-im.utils.signing-phrase.core
|
||||||
|
(:require [status-im.utils.signing-phrase.dictionaries.en :as en]
|
||||||
|
[clojure.string :as string]))
|
||||||
|
|
||||||
|
|
||||||
|
; In order to reduce phishing threat for Status.im users we want to have them
|
||||||
|
; recognize 3 predefined words when they sign transactions or make other sensitive operations.
|
||||||
|
;
|
||||||
|
; Onboarding flow needs to generate the 3 words for the user and store it in the profile.
|
||||||
|
; In order to reduce phishing threat for users we want to have them recognize 3
|
||||||
|
; predefined words when they sign transactions or make other sensitive operations.
|
||||||
|
; Onboarding flow needs to generate the 3 words for the user and store it in the profile.
|
||||||
|
;
|
||||||
|
; As a user, I want to accept 3 generated words when creating my account so that I can recognize these words when signing transactions
|
||||||
|
; and thus make it hard to create a phishing page and protect myself from phishing attack.
|
||||||
|
;
|
||||||
|
; See more info at: https://github.com/status-im/status-react/issues/1585
|
||||||
|
;
|
||||||
|
; Currently only English is supported (as the default language),
|
||||||
|
; for more details see #https://github.com/status-im/status-react/issues/1679
|
||||||
|
|
||||||
|
(defn pick-words [dictionary]
|
||||||
|
(repeatedly 3 #(rand-nth dictionary)))
|
||||||
|
|
||||||
|
(defn generate []
|
||||||
|
(string/join " " (pick-words en/dictionary)))
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,625 @@
|
||||||
|
(ns status-im.utils.signing-phrase.dictionaries.en)
|
||||||
|
|
||||||
|
(def dictionary
|
||||||
|
["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"])
|
|
@ -9,29 +9,31 @@
|
||||||
[status-im.ui.screens.accounts.events :as account-events]))
|
[status-im.ui.screens.accounts.events :as account-events]))
|
||||||
|
|
||||||
(def account-from-realm
|
(def account-from-realm
|
||||||
{:last-updated 1502965625859
|
{:last-updated 1502965625859
|
||||||
:address "f8fa50a736618badf21c9d0e9a7605a2b268789b"
|
:address "f8fa50a736618badf21c9d0e9a7605a2b268789b"
|
||||||
:email nil
|
:email nil
|
||||||
:signed-up? true
|
:signed-up? true
|
||||||
:phone nil
|
:phone nil
|
||||||
:name "Sleepy Serene Leopardseal"
|
:name "Sleepy Serene Leopardseal"
|
||||||
:updates-private-key "3849320857de8efe1e1ec57e08e92ed2bce196cb8763756ae4e6e7e011c1d857de0a115b3dc7eff066afe75a8794ea9905b"
|
:updates-private-key "3849320857de8efe1e1ec57e08e92ed2bce196cb8763756ae4e6e7e011c1d857de0a115b3dc7eff066afe75a8794ea9905b"
|
||||||
:updates-public-key "384975d68aec6426faacf8b4ba2c55d5a84b70a8a26eb616e06e9c9e63f95dfdf1c1c165773e1cdca2d198a0bc5386d8a6f2079414e073b4730c8f4745292a6cdfb3fa28143ad5937128643c6addf356b66962376dc8b12274d9abfb2e1c6447ac3"
|
:updates-public-key "384975d68aec6426faacf8b4ba2c55d5a84b70a8a26eb616e06e9c9e63f95dfdf1c1c165773e1cdca2d198a0bc5386d8a6f2079414e073b4730c8f4745292a6cdfb3fa28143ad5937128643c6addf356b66962376dc8b12274d9abfb2e1c6447ac3"
|
||||||
:photo-path "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAMAAAC7IEhfAAADAFBMVEXw8PCM2JYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADWF3ggAAABAHRSTlP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKmfXxgAABnNJREFUeNoBaAaX+QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEAAAAAAAABAQEBAQEAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAEBAQEBAQAAAAAAAAEBAQEBAQAAAAAAAAEBAQEBAQAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAQEBAQEBAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAABAQEBAQEAAAAAAAABAQEBAQEAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAEBAQEBAQAAAAAAAAEBAQEBAQAAAAAAAAEBAQEBAQAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAQEBAQEBAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAABAQEBAQEAAAAAAAABAQEBAQEAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAEBAQEBAQAAAAAAAAEBAQEBAQAAAAAAAAEBAQEBAQAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAQEBAQEBAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAABAQEBAQEAAAAAAAABAQEBAQEAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAEBAQEBAQAAAAAAAAEBAQEBAQAAAAAAAAEBAQEBAQAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAQEBAQEBAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEAAAAAAAABAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQAAAAAAAAEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAAAAAAAAAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEAAAAAAAABAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQAAAAAAAAEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAAAAAAAAAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmBECiQccq18AAAAASUVORK5CYII="
|
:photo-path "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAMAAAC7IEhfAAADAFBMVEXw8PCM2JYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADWF3ggAAABAHRSTlP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKmfXxgAABnNJREFUeNoBaAaX+QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEAAAAAAAABAQEBAQEAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAEBAQEBAQAAAAAAAAEBAQEBAQAAAAAAAAEBAQEBAQAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAQEBAQEBAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAABAQEBAQEAAAAAAAABAQEBAQEAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAEBAQEBAQAAAAAAAAEBAQEBAQAAAAAAAAEBAQEBAQAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAQEBAQEBAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAABAQEBAQEAAAAAAAABAQEBAQEAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAEBAQEBAQAAAAAAAAEBAQEBAQAAAAAAAAEBAQEBAQAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAQEBAQEBAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAABAQEBAQEAAAAAAAABAQEBAQEAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAEBAQEBAQAAAAAAAAEBAQEBAQAAAAAAAAEBAQEBAQAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAQEBAQEBAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEAAAAAAAABAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQAAAAAAAAEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAAAAAAAAAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEAAAAAAAABAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQAAAAAAAAEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAAAAAAAAAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmBECiQccq18AAAAASUVORK5CYII="
|
||||||
:debug? false
|
:debug? false
|
||||||
:status "be the hero of your own journey"
|
:signing-phrase "baby atom base"
|
||||||
:network "testnet"
|
:status "be the hero of your own journey"
|
||||||
:public-key "0x049b3a8c04f2c5bccda91c1f5e6434ae72957e93a31c0301b4563eda1d6ce419f63c503ebaee143115f96c1f04f232a7a22ca0454e9ee3d579ad1f870315b151d0"})
|
:network "testnet"
|
||||||
|
:public-key "0x049b3a8c04f2c5bccda91c1f5e6434ae72957e93a31c0301b4563eda1d6ce419f63c503ebaee143115f96c1f04f232a7a22ca0454e9ee3d579ad1f870315b151d0"})
|
||||||
|
|
||||||
(def new-account
|
(def new-account
|
||||||
{:address "c296367a939e0957500a25ca89b70bd64b03004e"
|
{:address "c296367a939e0957500a25ca89b70bd64b03004e"
|
||||||
:signed-up? true
|
:signed-up? true
|
||||||
:name "Disloyal Trusting Rainbowfish"
|
:name "Disloyal Trusting Rainbowfish"
|
||||||
:updates-private-key "3849071831f581f5e2a4f095a53e0a697144b32ea6de9e92cc08936f2efa40d2f1702bdb131356df0930a3a0d301221f2b5"
|
:updates-private-key "3849071831f581f5e2a4f095a53e0a697144b32ea6de9e92cc08936f2efa40d2f1702bdb131356df0930a3a0d301221f2b5"
|
||||||
:updates-public-key "38453ecc298b8b35de00c85d3217f00aa7040a7d3053dbbf6831d03c750df40b27977906692b3b5d6fec8134706b2bf65900c61130047488520cb60080a59b118cb281f3aaf65ba704c7efde8f9357d2b22fe8110b38a4dd714c1c9e108a8b067fe"
|
:updates-public-key "38453ecc298b8b35de00c85d3217f00aa7040a7d3053dbbf6831d03c750df40b27977906692b3b5d6fec8134706b2bf65900c61130047488520cb60080a59b118cb281f3aaf65ba704c7efde8f9357d2b22fe8110b38a4dd714c1c9e108a8b067fe"
|
||||||
:photo-path "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAMAAAC7IEhfAAADAFBMVEXw8PDYjLoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG2YFqAAABAHRSTlP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKmfXxgAABnNJREFUeNoBaAaX+QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEAAAAAAAABAQEBAQEAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAEBAQEBAQAAAAAAAAEBAQEBAQAAAAAAAAEBAQEBAQAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAQEBAQEBAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAABAQEBAQEAAAAAAAABAQEBAQEAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAEBAQEBAQAAAAAAAAEBAQEBAQAAAAAAAAEBAQEBAQAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAQEBAQEBAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKUMBsXBa1BAAAAAASUVORK5CYII="
|
:photo-path "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAMAAAC7IEhfAAADAFBMVEXw8PDYjLoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG2YFqAAABAHRSTlP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKmfXxgAABnNJREFUeNoBaAaX+QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEAAAAAAAABAQEBAQEAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAEBAQEBAQAAAAAAAAEBAQEBAQAAAAAAAAEBAQEBAQAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAQEBAQEBAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAABAQEBAQEAAAAAAAABAQEBAQEAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAEBAQEBAQAAAAAAAAEBAQEBAQAAAAAAAAEBAQEBAQAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAQEBAQEBAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKUMBsXBa1BAAAAAASUVORK5CYII="
|
||||||
:status "the future starts today, not tomorrow"
|
:status "the future starts today, not tomorrow"
|
||||||
:public-key "0x04f5722fba79eb36d73263417531007f43d13af76c6233573a8e3e60f667710611feba0785d751b50609bfc0b7cef35448875c5392c0a91948c95798a0ce600847"})
|
:signing-phrase "long loan limo"
|
||||||
|
:public-key "0x04f5722fba79eb36d73263417531007f43d13af76c6233573a8e3e60f667710611feba0785d751b50609bfc0b7cef35448875c5392c0a91948c95798a0ce600847"})
|
||||||
|
|
||||||
(defn test-fixtures []
|
(defn test-fixtures []
|
||||||
(rf/reg-fx ::events/init-store #())
|
(rf/reg-fx ::events/init-store #())
|
||||||
|
|
|
@ -9,14 +9,15 @@
|
||||||
[status-im.ui.screens.accounts.events :as account-events]))
|
[status-im.ui.screens.accounts.events :as account-events]))
|
||||||
|
|
||||||
(def new-account
|
(def new-account
|
||||||
{:address "c296367a939e0957500a25ca89b70bd64b03004e"
|
{:address "c296367a939e0957500a25ca89b70bd64b03004e"
|
||||||
:signed-up? true
|
:signed-up? true
|
||||||
:name "Disloyal Trusting Rainbowfish"
|
:name "Disloyal Trusting Rainbowfish"
|
||||||
:updates-private-key "3849071831f581f5e2a4f095a53e0a697144b32ea6de9e92cc08936f2efa40d2f1702bdb131356df0930a3a0d301221f2b5"
|
:updates-private-key "3849071831f581f5e2a4f095a53e0a697144b32ea6de9e92cc08936f2efa40d2f1702bdb131356df0930a3a0d301221f2b5"
|
||||||
:updates-public-key "38453ecc298b8b35de00c85d3217f00aa7040a7d3053dbbf6831d03c750df40b27977906692b3b5d6fec8134706b2bf65900c61130047488520cb60080a59b118cb281f3aaf65ba704c7efde8f9357d2b22fe8110b38a4dd714c1c9e108a8b067fe"
|
:updates-public-key "38453ecc298b8b35de00c85d3217f00aa7040a7d3053dbbf6831d03c750df40b27977906692b3b5d6fec8134706b2bf65900c61130047488520cb60080a59b118cb281f3aaf65ba704c7efde8f9357d2b22fe8110b38a4dd714c1c9e108a8b067fe"
|
||||||
:photo-path "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAMAAAC7IEhfAAADAFBMVEXw8PDYjLoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG2YFqAAABAHRSTlP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKmfXxgAABnNJREFUeNoBaAaX+QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEAAAAAAAABAQEBAQEAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAEBAQEBAQAAAAAAAAEBAQEBAQAAAAAAAAEBAQEBAQAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAQEBAQEBAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAABAQEBAQEAAAAAAAABAQEBAQEAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAEBAQEBAQAAAAAAAAEBAQEBAQAAAAAAAAEBAQEBAQAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAQEBAQEBAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKUMBsXBa1BAAAAAASUVORK5CYII="
|
:photo-path "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAMAAAC7IEhfAAADAFBMVEXw8PDYjLoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG2YFqAAABAHRSTlP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKmfXxgAABnNJREFUeNoBaAaX+QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEAAAAAAAABAQEBAQEAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAEBAQEBAQAAAAAAAAEBAQEBAQAAAAAAAAEBAQEBAQAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAQEBAQEBAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAABAQEBAQEAAAAAAAABAQEBAQEAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAEBAQEBAQAAAAAAAAEBAQEBAQAAAAAAAAEBAQEBAQAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAQEBAQEBAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKUMBsXBa1BAAAAAASUVORK5CYII="
|
||||||
:status "the future starts today, not tomorrow"
|
:status "the future starts today, not tomorrow"
|
||||||
:public-key "0x04f5722fba79eb36d73263417531007f43d13af76c6233573a8e3e60f667710611feba0785d751b50609bfc0b7cef35448875c5392c0a91948c95798a0ce600847"})
|
:signing-phrase "baby atom limo"
|
||||||
|
:public-key "0x04f5722fba79eb36d73263417531007f43d13af76c6233573a8e3e60f667710611feba0785d751b50609bfc0b7cef35448875c5392c0a91948c95798a0ce600847"})
|
||||||
|
|
||||||
|
|
||||||
(defn test-fixtures []
|
(defn test-fixtures []
|
||||||
|
|
|
@ -11,7 +11,8 @@
|
||||||
[status-im.test.utils.clocks]
|
[status-im.test.utils.clocks]
|
||||||
[status-im.test.utils.erc20]
|
[status-im.test.utils.erc20]
|
||||||
[status-im.test.utils.random]
|
[status-im.test.utils.random]
|
||||||
[status-im.test.utils.gfycat.core]))
|
[status-im.test.utils.gfycat.core]
|
||||||
|
[status-im.test.utils.signing-phrase.core]))
|
||||||
|
|
||||||
(enable-console-print!)
|
(enable-console-print!)
|
||||||
|
|
||||||
|
@ -22,15 +23,16 @@
|
||||||
(set! goog.DEBUG false)
|
(set! goog.DEBUG false)
|
||||||
|
|
||||||
(doo-tests
|
(doo-tests
|
||||||
'status-im.test.accounts.events
|
'status-im.test.accounts.events
|
||||||
'status-im.test.contacts.events
|
'status-im.test.contacts.events
|
||||||
'status-im.test.profile.events
|
'status-im.test.profile.events
|
||||||
'status-im.test.chat.models.input
|
'status-im.test.chat.models.input
|
||||||
'status-im.test.components.main-tabs
|
'status-im.test.components.main-tabs
|
||||||
'status-im.test.handlers
|
'status-im.test.handlers
|
||||||
'status-im.test.utils.utils
|
'status-im.test.utils.utils
|
||||||
'status-im.test.utils.money
|
'status-im.test.utils.money
|
||||||
'status-im.test.utils.clocks
|
'status-im.test.utils.clocks
|
||||||
'status-im.test.utils.erc20
|
'status-im.test.utils.erc20
|
||||||
'status-im.test.utils.random
|
'status-im.test.utils.random
|
||||||
'status-im.test.utils.gfycat.core)
|
'status-im.test.utils.gfycat.core
|
||||||
|
'status-im.test.utils.signing-phrase.core)
|
||||||
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
(ns status-im.test.utils.signing-phrase.core
|
||||||
|
(:require [cljs.test :refer-macros [deftest is testing]]
|
||||||
|
[status-im.utils.signing-phrase.core :refer [generate]]
|
||||||
|
[clojure.string :as string]))
|
||||||
|
|
||||||
|
(deftest test-generate
|
||||||
|
(doseq [_ (range 30)]
|
||||||
|
(let [result (generate)]
|
||||||
|
(is (not (string/starts-with? result " ")))
|
||||||
|
(is (not (string/ends-with? result " ")))
|
||||||
|
(is (= (get (frequencies result) " ")) 2))))
|
Loading…
Reference in New Issue