     (fn [value]
       (let [{:keys [id error]} (types/json->clj value)]
         (if error
-          (re-frame/dispatch [:set-in [:generate-account :error] (i18n/label :t/add-account-incorrect-password)])
+          (re-frame/dispatch [::generate-new-account-error])
           (let [path (str constants/path-root "/" path-num)]
             (status/multiaccount-derive-addresses
              id

   (list-selection/open-share obj)))

(re-frame/reg-fx
 :wallet.accounts/generate-account
 (fn [{:keys [address password path-num]}]
   (status/multiaccount-load-account
    address

(fx/defn generate-new-account
  {:events [:wallet.accounts/generate-new-account]}
  [{:keys [db]} password]
  (when-not (get-in db [:generate-account :step])
    {:db (assoc-in db [:generate-account :step] :generating)
     ::generate-account {:address  (get-in db [:multiaccount :address])
                         :path-num (inc (get-in db [:multiaccount :latest-derived-path]))
                         :password password}}))

(fx/defn generate-new-account-error
  {:events [::generate-new-account-error]}
  [{:keys [db]} password]
  {:db (assoc db
              :generate-account
              {:error (i18n/label :t/add-account-incorrect-password)})})

(fx/defn account-generated
  {:events [::account-generated]}
  [{:keys [db] :as cofx} account]
  (fx/merge cofx
            {:db (assoc db :generate-account {:account account
                                              :step :generated})}
            (navigation/navigate-to-cofx :account-added nil)))

(fx/defn save-account
