rename to wallet-legacy (#17673)
This commit is contained in:
parent
e71c167e8a
commit
4a8a23a4c4
|
@ -9,7 +9,7 @@
|
|||
(get-in db [:profile/profile :currency] :usd))
|
||||
|
||||
(rf/defn set-currency
|
||||
{:events [:wallet.settings.ui/currency-selected]}
|
||||
{:events [:wallet-legacy.settings.ui/currency-selected]}
|
||||
[{:keys [db] :as cofx} currency]
|
||||
(rf/merge cofx
|
||||
(multiaccounts.update/multiaccount-update
|
||||
|
|
|
@ -42,7 +42,7 @@
|
|||
(update :address eip55/address->checksum)
|
||||
(update :networks/networks rpc->networks)
|
||||
(update :networks/current-network #(if (seq %) % config/default-network))
|
||||
(update :wallet/visible-tokens rpc->visible-tokens)
|
||||
(update :wallet-legacy/visible-tokens rpc->visible-tokens)
|
||||
(update :pinned-mailservers rpc->pinned-mailservers)
|
||||
(update :link-previews-enabled-sites set)
|
||||
(update :custom-bootnodes rpc->custom-bootnodes)
|
||||
|
|
|
@ -19,11 +19,11 @@
|
|||
(log/debug "[wallet-subs] recent-history-fetching-started"
|
||||
"accounts"
|
||||
accounts)
|
||||
(let [event (get db :wallet/on-recent-history-fetching)]
|
||||
(let [event (get db :wallet-legacy/on-recent-history-fetching)]
|
||||
(cond-> {:db (-> db
|
||||
(transactions/update-fetching-status accounts :recent? true)
|
||||
(assoc :wallet/recent-history-fetching-started? true)
|
||||
(dissoc :wallet/on-recent-history-fetching))}
|
||||
(assoc :wallet-legacy/recent-history-fetching-started? true)
|
||||
(dissoc :wallet-legacy/on-recent-history-fetching))}
|
||||
event
|
||||
(assoc :dispatch event))))
|
||||
|
||||
|
@ -34,16 +34,16 @@
|
|||
"block" blockNumber)
|
||||
{:db (-> db
|
||||
(assoc :ethereum/current-block blockNumber)
|
||||
(update-in [:wallet :accounts]
|
||||
(update-in [:wallet-legacy :accounts]
|
||||
wallet/remove-transactions-since-block
|
||||
blockNumber)
|
||||
(transactions/update-fetching-status accounts :recent? false)
|
||||
(dissoc :wallet/waiting-for-recent-history?
|
||||
:wallet/refreshing-history?
|
||||
:wallet/fetching-error
|
||||
:wallet/recent-history-fetching-started?))
|
||||
(dissoc :wallet-legacy/waiting-for-recent-history?
|
||||
:wallet-legacy/refreshing-history?
|
||||
:wallet-legacy/fetching-error
|
||||
:wallet-legacy/recent-history-fetching-started?))
|
||||
:transactions/get-transfers
|
||||
{:chain-tokens (:wallet/all-tokens db)
|
||||
{:chain-tokens (:wallet-legacy/all-tokens db)
|
||||
:addresses (reduce
|
||||
(fn [v address]
|
||||
(let [normalized-address
|
||||
|
@ -60,12 +60,12 @@
|
|||
[{:keys [db] :as cofx} {:keys [message]}]
|
||||
(rf/merge
|
||||
cofx
|
||||
{:db (assoc db :wallet/fetching-error message)}
|
||||
{:db (assoc db :wallet-legacy/fetching-error message)}
|
||||
(wallet.core/after-checking-history)))
|
||||
|
||||
(rf/defn non-archival-node-detected
|
||||
[{:keys [db]} _]
|
||||
{:db (assoc db :wallet/non-archival-node true)})
|
||||
{:db (assoc db :wallet-legacy/non-archival-node true)})
|
||||
|
||||
(rf/defn new-wallet-event
|
||||
[cofx {:keys [type blockNumber accounts] :as event}]
|
||||
|
|
|
@ -142,7 +142,7 @@
|
|||
(select-keys transactions
|
||||
(keys (get db :ethereum/watched-transactions)))))
|
||||
{}
|
||||
(get-in db [:wallet :accounts]))]
|
||||
(get-in db [:wallet-legacy :accounts]))]
|
||||
(apply rf/merge
|
||||
cofx
|
||||
(map (fn [[_ transaction]]
|
||||
|
@ -154,7 +154,7 @@
|
|||
transaction can contain multiple transfers and they would overwrite each other
|
||||
in the transfer map if identified by hash"
|
||||
[{:keys [db] :as cofx} {:keys [hash id address] :as transfer}]
|
||||
(let [transfer-by-hash (get-in db [:wallet :accounts address :transactions hash])]
|
||||
(let [transfer-by-hash (get-in db [:wallet-legacy :accounts address :transactions hash])]
|
||||
(when-let [unique-id (when-not (= transfer transfer-by-hash)
|
||||
(if (and transfer-by-hash
|
||||
(not (= :pending
|
||||
|
@ -163,22 +163,22 @@
|
|||
hash))]
|
||||
(rf/merge cofx
|
||||
{:db (assoc-in db
|
||||
[:wallet :accounts address :transactions unique-id]
|
||||
[:wallet-legacy :accounts address :transactions unique-id]
|
||||
(assoc transfer :hash unique-id))}
|
||||
(check-transaction transfer)))))
|
||||
|
||||
(defn get-min-known-block
|
||||
[db address]
|
||||
(get-in db [:wallet :accounts (eip55/address->checksum address) :min-block]))
|
||||
(get-in db [:wallet-legacy :accounts (eip55/address->checksum address) :min-block]))
|
||||
|
||||
(defn get-max-block-with-transfers
|
||||
[db address]
|
||||
(get-in db [:wallet :accounts (eip55/address->checksum address) :max-block]))
|
||||
(get-in db [:wallet-legacy :accounts (eip55/address->checksum address) :max-block]))
|
||||
|
||||
(defn min-block-transfers-count
|
||||
[db address]
|
||||
(get-in db
|
||||
[:wallet :accounts
|
||||
[:wallet-legacy :accounts
|
||||
(eip55/address->checksum address)
|
||||
:min-block-transfers-count]))
|
||||
|
||||
|
@ -195,7 +195,7 @@
|
|||
:min-block-transfers-count 1}
|
||||
|
||||
(and (= min-block block)
|
||||
(nil? (get-in db [:wallet :accounts checksum :transactions hash])))
|
||||
(nil? (get-in db [:wallet-legacy :accounts checksum :transactions hash])))
|
||||
(update acc :min-block-transfers-count inc)
|
||||
|
||||
:else acc))
|
||||
|
@ -211,7 +211,7 @@
|
|||
"min-block" min-block
|
||||
"min-block-transfers-count" min-block-transfers-count)
|
||||
{:db (update-in db
|
||||
[:wallet :accounts checksum]
|
||||
[:wallet-legacy :accounts checksum]
|
||||
assoc
|
||||
:min-block min-block
|
||||
:min-block-transfers-count min-block-transfers-count)}))
|
||||
|
@ -220,7 +220,7 @@
|
|||
[db addresses fetching-type state]
|
||||
(update-in
|
||||
db
|
||||
[:wallet :fetching]
|
||||
[:wallet-legacy :fetching]
|
||||
(fn [accounts]
|
||||
(reduce
|
||||
(fn [accounts address]
|
||||
|
@ -242,7 +242,7 @@
|
|||
[{:keys [db] :as cofx} address]
|
||||
(let [syncing-allowed? (utils.mobile-sync/syncing-allowed? cofx)]
|
||||
{:db (assoc-in db
|
||||
[:wallet :fetching address :all-fetched?]
|
||||
[:wallet-legacy :fetching address :all-fetched?]
|
||||
(if syncing-allowed?
|
||||
:all
|
||||
:all-preloaded))}))
|
||||
|
@ -326,7 +326,7 @@
|
|||
|
||||
(defn some-transactions-loaded?
|
||||
[db address]
|
||||
(not-empty (get-in db [:wallet :accounts address :transactions])))
|
||||
(not-empty (get-in db [:wallet-legacy :accounts address :transactions])))
|
||||
|
||||
(rf/defn fetch-more-tx
|
||||
{:events [:transactions/fetch-more]}
|
||||
|
@ -337,7 +337,7 @@
|
|||
(rf/merge
|
||||
cofx
|
||||
{:transactions/get-transfers
|
||||
{:chain-tokens (:wallet/all-tokens db)
|
||||
{:chain-tokens (:wallet-legacy/all-tokens db)
|
||||
:addresses [address]
|
||||
:before-block min-known-block
|
||||
:fetch-more? (utils.mobile-sync/syncing-allowed? cofx)
|
||||
|
@ -353,6 +353,6 @@
|
|||
{:events [:transaction/get-fetched-transfers]}
|
||||
[{:keys [db]}]
|
||||
{:transactions/get-transfers
|
||||
{:chain-tokens (:wallet/all-tokens db)
|
||||
{:chain-tokens (:wallet-legacy/all-tokens db)
|
||||
:addresses (map :address (get db :profile/wallet-accounts))
|
||||
:fetch-more? false}})
|
||||
|
|
|
@ -206,7 +206,7 @@
|
|||
:add-new-account-pin (keycard/enter-pin-screen-did-load %)
|
||||
:keycard-authentication-method (keycard/authentication-method-screen-did-load %)
|
||||
:multiaccounts (keycard/multiaccounts-screen-did-load %)
|
||||
:wallet (wallet/wallet-will-focus %)
|
||||
:wallet-legacy (wallet/wallet-will-focus %)
|
||||
nil)))
|
||||
|
||||
;;TODO :replace by named events
|
||||
|
@ -252,5 +252,5 @@
|
|||
|
||||
(re-frame/reg-event-fx :buy-crypto.ui/open-screen
|
||||
(fn []
|
||||
{:fx [[:dispatch [:wallet/keep-watching]]
|
||||
{:fx [[:dispatch [:wallet-legacy/keep-watching]]
|
||||
[:dispatch [:open-modal :buy-crypto nil]]]}))
|
||||
|
|
|
@ -52,9 +52,9 @@
|
|||
|
||||
(defn create-new-account!
|
||||
[]
|
||||
(rf/dispatch-sync [:wallet.accounts/start-adding-new-account {:type :generate}])
|
||||
(rf/dispatch-sync [:wallet-legacy.accounts/start-adding-new-account {:type :generate}])
|
||||
(rf/dispatch-sync [:set-in [:add-account :account :name] account-name])
|
||||
(rf/dispatch [:wallet.accounts/add-new-account (native-module/sha3 password)]))
|
||||
(rf/dispatch [:wallet-legacy.accounts/add-new-account (native-module/sha3 password)]))
|
||||
|
||||
(defn assert-new-account-created
|
||||
[]
|
||||
|
@ -120,7 +120,7 @@
|
|||
(assert-messenger-started)
|
||||
(create-new-account!) ; create a new account
|
||||
(rf-test/wait-for
|
||||
[:wallet.accounts/account-stored]
|
||||
[:wallet-legacy.accounts/account-stored]
|
||||
(assert-new-account-created) ; assert account was created
|
||||
(logout!)
|
||||
(rf-test/wait-for [::logout/logout-method]))))))
|
||||
|
|
|
@ -227,7 +227,7 @@
|
|||
;; now for simplicity do not hide bottom sheet when generating key
|
||||
;; and exporting key but should be refactored.
|
||||
(when-not (contains? #{:keycard/generate-and-load-key
|
||||
:wallet.accounts/generate-new-keycard-account
|
||||
:wallet-legacy.accounts/generate-new-keycard-account
|
||||
:keycard/remove-key-with-unpair
|
||||
:keycard/unpair-and-delete}
|
||||
on-verified)
|
||||
|
@ -236,7 +236,7 @@
|
|||
:keycard/generate-and-load-key
|
||||
:keycard/remove-key-with-unpair
|
||||
:keycard/unpair-and-delete
|
||||
:wallet.accounts/generate-new-keycard-account}
|
||||
:wallet-legacy.accounts/generate-new-keycard-account}
|
||||
on-verified)
|
||||
(common/get-application-info nil))
|
||||
(when on-verified
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
tag-was-lost?
|
||||
(rf/merge cofx
|
||||
{:db (assoc-in db [:keycard :pin :status] nil)}
|
||||
(common/set-on-card-connected :wallet.accounts/generate-new-keycard-account))
|
||||
(common/set-on-card-connected :wallet-legacy.accounts/generate-new-keycard-account))
|
||||
|
||||
(not (nil? pin-retries))
|
||||
(rf/merge cofx
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
{:utils/dispatch-later
|
||||
;; We need to give previous sheet some time to be fully hidden
|
||||
[{:ms 200
|
||||
:dispatch [:wallet.accounts/verify-pin]}]})
|
||||
:dispatch [:wallet-legacy.accounts/verify-pin]}]})
|
||||
|
||||
(rf/defn hide-pin-sheet
|
||||
{:events [:keycard/new-account-pin-sheet-hide]}
|
||||
|
@ -44,7 +44,7 @@
|
|||
(subs (native-module/sha3 normalized-key) 26))))
|
||||
|
||||
(rf/defn generate-new-keycard-account
|
||||
{:events [:wallet.accounts/generate-new-keycard-account]}
|
||||
{:events [:wallet-legacy.accounts/generate-new-keycard-account]}
|
||||
[{:keys [db]}]
|
||||
(let [path-num (inc (get-in db [:profile/profile :latest-derived-path]))
|
||||
path (str constants/path-wallet-root "/" path-num)
|
||||
|
@ -53,7 +53,7 @@
|
|||
(assoc-in
|
||||
db
|
||||
[:keycard :on-export-success]
|
||||
#(vector :wallet.accounts/account-stored
|
||||
#(vector :wallet-legacy.accounts/account-stored
|
||||
(let [public-key (utils.hex/normalize-hex %)]
|
||||
{;; Strip leading 04 prefix denoting uncompressed key format
|
||||
:address (eip55/address->checksum
|
||||
|
@ -66,11 +66,11 @@
|
|||
:keycard/export-key {:pin pin :path path}}))
|
||||
|
||||
(rf/defn verify-pin
|
||||
{:events [:wallet.accounts/verify-pin]}
|
||||
{:events [:wallet-legacy.accounts/verify-pin]}
|
||||
[cofx]
|
||||
(common/verify-pin
|
||||
cofx
|
||||
{:pin-step :export-key
|
||||
:on-card-connected :wallet.accounts/verify-pin
|
||||
:on-success :wallet.accounts/generate-new-keycard-account
|
||||
:on-card-connected :wallet-legacy.accounts/verify-pin
|
||||
:on-success :wallet-legacy.accounts/generate-new-keycard-account
|
||||
:on-failure :keycard/new-account-pin-sheet}))
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
(rf/merge cofx
|
||||
{:db (assoc db :network-status (if is-connected? :online :offline))}
|
||||
(when (and is-connected?
|
||||
(or (not= (count (get-in db [:wallet :accounts]))
|
||||
(or (not= (count (get-in db [:wallet-legacy :accounts]))
|
||||
(count (get db :profile/wallet-accounts)))
|
||||
(wallet/has-empty-balances? db)))
|
||||
(wallet/update-balances nil nil))))
|
||||
|
|
|
@ -48,7 +48,7 @@
|
|||
:as notification}]
|
||||
(let [token (if erc20
|
||||
(get-in db
|
||||
[:wallet/all-tokens (string/lower-case contract)]
|
||||
[:wallet-legacy/all-tokens (string/lower-case contract)]
|
||||
default-erc20-token)
|
||||
(tokens/native-currency network))
|
||||
amount (money/wei->ether (decode/uint value))
|
||||
|
|
|
@ -79,7 +79,7 @@
|
|||
(rf/defn handle-eip681
|
||||
[cofx data]
|
||||
(rf/merge cofx
|
||||
{:dispatch [:wallet/parse-eip681-uri-and-resolve-ens data]}
|
||||
{:dispatch [:wallet-legacy/parse-eip681-uri-and-resolve-ens data]}
|
||||
(navigation/change-tab :wallet-stack)
|
||||
(navigation/pop-to-root :shell-stack)))
|
||||
|
||||
|
|
|
@ -8,11 +8,11 @@
|
|||
{:db (assoc-in (:db cofx) [:ui/search :currency-filter] search-filter)})
|
||||
|
||||
(rf/defn token-filter-changed
|
||||
{:events [:search/token-filter-changed]}
|
||||
{:events [:wallet-legacy/search-token-filter-changed]}
|
||||
[cofx search-filter]
|
||||
{:db (assoc-in (:db cofx) [:ui/search :token-filter] search-filter)})
|
||||
|
||||
(rf/defn recipient-filter-changed
|
||||
{:events [:search/recipient-filter-changed]}
|
||||
{:events [:wallet-legacy/search-recipient-filter-changed]}
|
||||
[cofx search-filter]
|
||||
{:db (assoc-in (:db cofx) [:ui/search :recipient-filter] search-filter)})
|
||||
|
|
|
@ -184,7 +184,7 @@
|
|||
(rf/defn prepare-unconfirmed-transaction
|
||||
[{:keys [db now]} new-tx-hash
|
||||
{:keys [value gasPrice maxFeePerGas maxPriorityFeePerGas gas data to from hash]} symbol amount]
|
||||
(let [token (tokens/symbol->token (:wallet/all-tokens db) symbol)
|
||||
(let [token (tokens/symbol->token (:wallet-legacy/all-tokens db) symbol)
|
||||
from (eip55/address->checksum from)
|
||||
;;if there is a hash in the tx object that means we resending transaction
|
||||
old-tx-hash hash
|
||||
|
@ -208,8 +208,8 @@
|
|||
(log/info "[signing] prepare-unconfirmed-transaction" tx)
|
||||
{:db (-> db
|
||||
;;remove old transaction, because we replace it with the new one
|
||||
(update-in [:wallet :accounts from :transactions] dissoc old-tx-hash)
|
||||
(assoc-in [:wallet :accounts from :transactions new-tx-hash] tx))}))
|
||||
(update-in [:wallet-legacy :accounts from :transactions] dissoc old-tx-hash)
|
||||
(assoc-in [:wallet-legacy :accounts from :transactions new-tx-hash] tx))}))
|
||||
|
||||
(defn get-method-type
|
||||
[data]
|
||||
|
@ -223,7 +223,7 @@
|
|||
|
||||
(defn get-transfer-token
|
||||
[db to data]
|
||||
(let [{:keys [decimals] :as token} (tokens/address->token (:wallet/all-tokens db) to)]
|
||||
(let [{:keys [decimals] :as token} (tokens/address->token (:wallet-legacy/all-tokens db) to)]
|
||||
(when (and token data (string? data))
|
||||
(when-let [type (get-method-type data)]
|
||||
(let [[address value _] (native-module/decode-parameters
|
||||
|
@ -258,7 +258,7 @@
|
|||
:symbol :ETH
|
||||
:value value
|
||||
:amount (str eth-amount)
|
||||
:token (tokens/asset-for (:wallet/all-tokens db)
|
||||
:token (tokens/asset-for (:wallet-legacy/all-tokens db)
|
||||
(chain/get-current-network db)
|
||||
:ETH)}
|
||||
(not (nil? token))
|
||||
|
@ -352,7 +352,7 @@
|
|||
{:db (assoc-in (:db cofx) [:signing/edit-fee :gas-price-loading?] true)
|
||||
:signing/update-gas-price
|
||||
{:success-callback #(re-frame/dispatch
|
||||
[:wallet.send/update-gas-price-success :signing/tx % tx-obj])
|
||||
[:wallet-legacy.send/update-gas-price-success :signing/tx % tx-obj])
|
||||
:error-callback #(re-frame/dispatch [:signing/update-gas-price-error %])
|
||||
:network-id (get-in (chain/current-network db)
|
||||
[:config :NetworkId])}})))))
|
||||
|
@ -528,14 +528,14 @@
|
|||
(check-queue)))
|
||||
|
||||
(rf/defn sign-transaction-button-clicked-from-chat
|
||||
{:events [:wallet.ui/sign-transaction-button-clicked-from-chat]}
|
||||
{:events [:wallet-legacy.ui/sign-transaction-button-clicked-from-chat]}
|
||||
[{:keys [db] :as cofx} {:keys [to amount from token]}]
|
||||
(let [{:keys [symbol address]} token
|
||||
amount-hex (str "0x" (native-module/number-to-hex amount))
|
||||
to-norm (address/normalized-hex (if (string? to) to (:address to)))
|
||||
from-address (:address from)
|
||||
identity (:current-chat-id db)
|
||||
db (dissoc db :wallet/prepare-transaction :signing/edit-fee)]
|
||||
db (dissoc db :wallet-legacy/prepare-transaction :signing/edit-fee)]
|
||||
(if to-norm
|
||||
(rf/merge
|
||||
cofx
|
||||
|
@ -563,15 +563,15 @@
|
|||
:on-success #(re-frame/dispatch [:transport/message-sent %])}]})))
|
||||
|
||||
(rf/defn sign-transaction-button-clicked-from-request
|
||||
{:events [:wallet.ui/sign-transaction-button-clicked-from-request]}
|
||||
{:events [:wallet-legacy.ui/sign-transaction-button-clicked-from-request]}
|
||||
[{:keys [db] :as cofx} {:keys [amount from token]}]
|
||||
(let [{:keys [request-parameters chat-id]} (:wallet/prepare-transaction db)
|
||||
(let [{:keys [request-parameters chat-id]} (:wallet-legacy/prepare-transaction db)
|
||||
{:keys [symbol address]} token
|
||||
amount-hex (str "0x" (native-module/number-to-hex amount))
|
||||
to-norm (:address request-parameters)
|
||||
from-address (:address from)]
|
||||
(rf/merge cofx
|
||||
{:db (dissoc db :wallet/prepare-transaction :signing/edit-fee)}
|
||||
{:db (dissoc db :wallet-legacy/prepare-transaction :signing/edit-fee)}
|
||||
(fn [cofx]
|
||||
(sign
|
||||
cofx
|
||||
|
@ -590,14 +590,14 @@
|
|||
:data (native-module/encode-transfer to-norm amount-hex)})})))))
|
||||
|
||||
(rf/defn sign-transaction-button-clicked
|
||||
{:events [:wallet.ui/sign-transaction-button-clicked]}
|
||||
{:events [:wallet-legacy.ui/sign-transaction-button-clicked]}
|
||||
[{:keys [db] :as cofx} {:keys [to amount from token gas gasPrice maxFeePerGas maxPriorityFeePerGas]}]
|
||||
(let [{:keys [symbol address]} token
|
||||
amount-hex (str "0x" (native-module/number-to-hex amount))
|
||||
to-norm (address/normalized-hex (if (string? to) to (:address to)))
|
||||
from-address (:address from)]
|
||||
(rf/merge cofx
|
||||
{:db (dissoc db :wallet/prepare-transaction :signing/edit-fee)}
|
||||
{:db (dissoc db :wallet-legacy/prepare-transaction :signing/edit-fee)}
|
||||
(sign
|
||||
{:tx-obj (merge (if (eip1559/sync-enabled?)
|
||||
{:from from-address
|
||||
|
|
|
@ -102,7 +102,7 @@
|
|||
(let [{:keys [maxFeePerGas maxPriorityFeePerGas]} (get db :signing/edit-fee)
|
||||
latest-base-fee (money/wei->gwei
|
||||
(money/bignumber
|
||||
(get db :wallet/current-base-fee)))
|
||||
(get db :wallet-legacy/current-base-fee)))
|
||||
fee-error (cond
|
||||
(or (:error maxFeePerGas)
|
||||
(:error maxPriorityFeePerGas))
|
||||
|
@ -119,7 +119,7 @@
|
|||
(defn validate-max-priority-fee
|
||||
[db]
|
||||
(let [{:keys [maxPriorityFeePerGas]} (get db :signing/edit-fee)
|
||||
latest-priority-fee (get db :wallet/current-priority-fee)
|
||||
latest-priority-fee (get db :wallet-legacy/current-priority-fee)
|
||||
fee-error (cond
|
||||
(:error maxPriorityFeePerGas)
|
||||
nil
|
||||
|
@ -182,10 +182,10 @@
|
|||
(rf/defn set-fee-option
|
||||
{:events [:signing.edit-fee.ui/set-option]}
|
||||
[{:keys [db] :as cofx} option]
|
||||
(let [tip (get db :wallet/current-priority-fee)
|
||||
slow (get db :wallet/slow-base-fee)
|
||||
normal (get db :wallet/normal-base-fee)
|
||||
fast (get db :wallet/fast-base-fee)
|
||||
(let [tip (get db :wallet-legacy/current-priority-fee)
|
||||
slow (get db :wallet-legacy/slow-base-fee)
|
||||
normal (get db :wallet-legacy/normal-base-fee)
|
||||
fast (get db :wallet-legacy/fast-base-fee)
|
||||
{:keys [fee tip]} (get (get-fee-options tip slow normal fast) option)]
|
||||
{:db (-> db
|
||||
(assoc-in [:signing/edit-fee :selected-fee-option] option)
|
||||
|
@ -201,7 +201,7 @@
|
|||
[{:keys [db]} value]
|
||||
(let [{:keys [maxFeePerGas maxPriorityFeePerGas]}
|
||||
(get db :signing/edit-fee)
|
||||
latest-base-fee (get db :wallet/current-base-fee)
|
||||
latest-base-fee (get db :wallet-legacy/current-base-fee)
|
||||
max-fee-value (:value-number maxFeePerGas)
|
||||
max-priority-fee-value (:value-number maxPriorityFeePerGas)
|
||||
new-value (money/bignumber value)
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
:<- [:multiaccount/default-account]
|
||||
:<- [:multiaccount/public-key]
|
||||
:<- [:chain-id]
|
||||
:<- [:wallet]
|
||||
:<- [:wallet-legacy]
|
||||
(fn [[{:keys [custom-domain? username address]}
|
||||
chain default-account public-key chain-id wallet]]
|
||||
(let [address (or address (address/normalized-hex (:address default-account)))
|
||||
|
|
|
@ -67,38 +67,40 @@
|
|||
(reg-root-key-sub :contacts/search-query :contacts/search-query)
|
||||
|
||||
;;wallet
|
||||
(reg-root-key-sub :wallet :wallet)
|
||||
(reg-root-key-sub :prices :prices)
|
||||
(reg-root-key-sub :prices-loading? :prices-loading?)
|
||||
(reg-root-key-sub :wallet.transactions :wallet.transactions)
|
||||
(reg-root-key-sub :wallet/custom-token-screen :wallet/custom-token-screen)
|
||||
(reg-root-key-sub :wallet/prepare-transaction :wallet/prepare-transaction)
|
||||
(reg-root-key-sub :wallet-service/manual-setting :wallet-service/manual-setting)
|
||||
(reg-root-key-sub :wallet/recipient :wallet/recipient)
|
||||
(reg-root-key-sub :wallet/favourites :wallet/favourites)
|
||||
(reg-root-key-sub :wallet/refreshing-history? :wallet/refreshing-history?)
|
||||
(reg-root-key-sub :wallet/fetching-error :wallet/fetching-error)
|
||||
(reg-root-key-sub :wallet/non-archival-node :wallet/non-archival-node)
|
||||
(reg-root-key-sub :wallet/current-base-fee :wallet/current-base-fee)
|
||||
(reg-root-key-sub :wallet/slow-base-fee :wallet/slow-base-fee)
|
||||
(reg-root-key-sub :wallet/normal-base-fee :wallet/normal-base-fee)
|
||||
(reg-root-key-sub :wallet/fast-base-fee :wallet/fast-base-fee)
|
||||
(reg-root-key-sub :wallet/current-priority-fee :wallet/current-priority-fee)
|
||||
(reg-root-key-sub :wallet/transactions-management-enabled? :wallet/transactions-management-enabled?)
|
||||
(reg-root-key-sub :wallet/all-tokens :wallet/all-tokens)
|
||||
(reg-root-key-sub :wallet/collectible-collections :wallet/collectible-collections)
|
||||
(reg-root-key-sub :wallet/fetching-collection-assets :wallet/fetching-collection-assets)
|
||||
(reg-root-key-sub :wallet/collectible-assets :wallet/collectible-assets)
|
||||
(reg-root-key-sub :wallet/selected-collectible :wallet/selected-collectible)
|
||||
(reg-root-key-sub :wallet/modal-selecting-source-token? :wallet/modal-selecting-source-token?)
|
||||
(reg-root-key-sub :wallet/swap-from-token :wallet/swap-from-token)
|
||||
(reg-root-key-sub :wallet/swap-to-token :wallet/swap-to-token)
|
||||
(reg-root-key-sub :wallet/swap-from-token-amount :wallet/swap-from-token-amount)
|
||||
(reg-root-key-sub :wallet/swap-to-token-amount :wallet/swap-to-token-amount)
|
||||
(reg-root-key-sub :wallet/swap-advanced-mode? :wallet/swap-advanced-mode?)
|
||||
(reg-root-key-sub :add-account :add-account)
|
||||
(reg-root-key-sub :buy-crypto/on-ramps :buy-crypto/on-ramps)
|
||||
|
||||
(reg-root-key-sub :wallet-legacy :wallet-legacy)
|
||||
(reg-root-key-sub :wallet-legacy.transactions :wallet-legacy.transactions)
|
||||
(reg-root-key-sub :wallet-legacy/custom-token-screen :wallet-legacy/custom-token-screen)
|
||||
(reg-root-key-sub :wallet-legacy/prepare-transaction :wallet-legacy/prepare-transaction)
|
||||
(reg-root-key-sub :wallet-legacy/recipient :wallet-legacy/recipient)
|
||||
(reg-root-key-sub :wallet-legacy/favourites :wallet-legacy/favourites)
|
||||
(reg-root-key-sub :wallet-legacy/refreshing-history? :wallet-legacy/refreshing-history?)
|
||||
(reg-root-key-sub :wallet-legacy/fetching-error :wallet-legacy/fetching-error)
|
||||
(reg-root-key-sub :wallet-legacy/non-archival-node :wallet-legacy/non-archival-node)
|
||||
(reg-root-key-sub :wallet-legacy/current-base-fee :wallet-legacy/current-base-fee)
|
||||
(reg-root-key-sub :wallet-legacy/slow-base-fee :wallet-legacy/slow-base-fee)
|
||||
(reg-root-key-sub :wallet-legacy/normal-base-fee :wallet-legacy/normal-base-fee)
|
||||
(reg-root-key-sub :wallet-legacy/fast-base-fee :wallet-legacy/fast-base-fee)
|
||||
(reg-root-key-sub :wallet-legacy/current-priority-fee :wallet-legacy/current-priority-fee)
|
||||
(reg-root-key-sub :wallet-legacy/transactions-management-enabled?
|
||||
:wallet-legacy/transactions-management-enabled?)
|
||||
(reg-root-key-sub :wallet-legacy/all-tokens :wallet-legacy/all-tokens)
|
||||
(reg-root-key-sub :wallet-legacy/collectible-collections :wallet-legacy/collectible-collections)
|
||||
(reg-root-key-sub :wallet-legacy/fetching-collection-assets :wallet-legacy/fetching-collection-assets)
|
||||
(reg-root-key-sub :wallet-legacy/collectible-assets :wallet-legacy/collectible-assets)
|
||||
(reg-root-key-sub :wallet-legacy/selected-collectible :wallet-legacy/selected-collectible)
|
||||
(reg-root-key-sub :wallet-legacy/modal-selecting-source-token?
|
||||
:wallet-legacy/modal-selecting-source-token?)
|
||||
(reg-root-key-sub :wallet-legacy/swap-from-token :wallet-legacy/swap-from-token)
|
||||
(reg-root-key-sub :wallet-legacy/swap-to-token :wallet-legacy/swap-to-token)
|
||||
(reg-root-key-sub :wallet-legacy/swap-from-token-amount :wallet-legacy/swap-from-token-amount)
|
||||
(reg-root-key-sub :wallet-legacy/swap-to-token-amount :wallet-legacy/swap-to-token-amount)
|
||||
(reg-root-key-sub :wallet-legacy/swap-advanced-mode? :wallet-legacy/swap-advanced-mode?)
|
||||
|
||||
;;; Link previews
|
||||
(reg-root-key-sub :link-previews-whitelist :link-previews-whitelist)
|
||||
(reg-root-key-sub :chat/link-previews :chat/link-previews)
|
||||
|
|
|
@ -41,7 +41,7 @@
|
|||
[code display-name]))
|
||||
|
||||
(re-frame/reg-sub
|
||||
:search/filtered-currencies
|
||||
:wallet-legacy/search-filtered-currencies
|
||||
:<- [:search/currency-filter]
|
||||
(fn [search-currency-filter]
|
||||
{:search-filter search-currency-filter
|
||||
|
@ -55,9 +55,15 @@
|
|||
[(:symbol token) (:name token)])
|
||||
|
||||
(re-frame/reg-sub
|
||||
:wallet/filtered-grouped-chain-tokens
|
||||
:<- [:wallet/grouped-chain-tokens]
|
||||
:<- [:search/token-filter]
|
||||
:wallet-legacy/search-token-filter
|
||||
:<- [:ui/search]
|
||||
(fn [search]
|
||||
(get search :token-filter)))
|
||||
|
||||
(re-frame/reg-sub
|
||||
:wallet-legacy/filtered-grouped-chain-tokens
|
||||
:<- [:wallet-legacy/grouped-chain-tokens]
|
||||
:<- [:wallet-legacy/search-token-filter]
|
||||
(fn [[{custom-tokens true default-tokens nil} search-token-filter]]
|
||||
{:search-filter search-token-filter
|
||||
:tokens {true (apply-filter search-token-filter custom-tokens extract-token-attributes false)
|
||||
|
|
|
@ -11,35 +11,35 @@
|
|||
|
||||
(re-frame/reg-sub
|
||||
::send-transaction
|
||||
:<- [:wallet]
|
||||
:<- [:wallet-legacy]
|
||||
(fn [wallet]
|
||||
(:send-transaction wallet)))
|
||||
|
||||
(re-frame/reg-sub
|
||||
:wallet.send/symbol
|
||||
:wallet-legacy.send/symbol
|
||||
:<- [::send-transaction]
|
||||
(fn [send-transaction]
|
||||
(:symbol send-transaction)))
|
||||
|
||||
(re-frame/reg-sub
|
||||
:wallet.send/camera-flashlight
|
||||
:wallet-legacy.send/camera-flashlight
|
||||
:<- [::send-transaction]
|
||||
(fn [send-transaction]
|
||||
(:camera-flashlight send-transaction)))
|
||||
|
||||
(re-frame/reg-sub
|
||||
:wallet/settings
|
||||
:<- [:wallet]
|
||||
:wallet-legacy/settings
|
||||
:<- [:wallet-legacy]
|
||||
(fn [{:keys [settings]}]
|
||||
(reduce-kv #(conj %1 %3) [] settings)))
|
||||
|
||||
(re-frame/reg-sub
|
||||
:wallet.request/transaction
|
||||
:<- [:wallet]
|
||||
:wallet-legacy.request/transaction
|
||||
:<- [:wallet-legacy]
|
||||
:request-transaction)
|
||||
|
||||
(re-frame/reg-sub
|
||||
:wallet/binance-chain?
|
||||
:wallet-legacy/binance-chain?
|
||||
:<- [:current-network]
|
||||
(fn [network]
|
||||
(chain/binance-chain-id? (get-in network [:config :NetworkId]))))
|
||||
|
@ -53,7 +53,7 @@
|
|||
(re-frame/reg-sub
|
||||
:signing/currencies
|
||||
:<- [:prices]
|
||||
:<- [:wallet/currency]
|
||||
:<- [:wallet-legacy/currency]
|
||||
:<- [:ethereum/native-currency]
|
||||
(fn [[prices {:keys [code]} {sym :symbol}]]
|
||||
[(name sym)
|
||||
|
@ -62,10 +62,10 @@
|
|||
|
||||
(re-frame/reg-sub
|
||||
:signing/priority-fee-suggestions-range
|
||||
:<- [:wallet/current-priority-fee]
|
||||
:<- [:wallet/slow-base-fee]
|
||||
:<- [:wallet/normal-base-fee]
|
||||
:<- [:wallet/fast-base-fee]
|
||||
:<- [:wallet-legacy/current-priority-fee]
|
||||
:<- [:wallet-legacy/slow-base-fee]
|
||||
:<- [:wallet-legacy/normal-base-fee]
|
||||
:<- [:wallet-legacy/fast-base-fee]
|
||||
(fn [[latest-tip slow normal fast]]
|
||||
(reduce
|
||||
(fn [acc [k fees]]
|
||||
|
@ -181,11 +181,11 @@
|
|||
(get-sufficient-gas-error gas-error-message balance nil nil gas gas-price)))))
|
||||
|
||||
(re-frame/reg-sub
|
||||
:wallet.send/prepare-transaction-with-balance
|
||||
:<- [:wallet/prepare-transaction]
|
||||
:<- [:wallet]
|
||||
:wallet-legacy.send/prepare-transaction-with-balance
|
||||
:<- [:wallet-legacy/prepare-transaction]
|
||||
:<- [:wallet-legacy]
|
||||
:<- [:offline?]
|
||||
:<- [:wallet/all-tokens]
|
||||
:<- [:wallet-legacy/all-tokens]
|
||||
:<- [:current-network]
|
||||
(fn [[{:keys [from to amount-text] :as transaction}
|
||||
wallet offline? all-tokens current-network]]
|
||||
|
@ -209,11 +209,11 @@
|
|||
(not offline?))))))
|
||||
|
||||
(re-frame/reg-sub
|
||||
:wallet.request/prepare-transaction-with-balance
|
||||
:<- [:wallet/prepare-transaction]
|
||||
:<- [:wallet]
|
||||
:wallet-legacy.request/prepare-transaction-with-balance
|
||||
:<- [:wallet-legacy/prepare-transaction]
|
||||
:<- [:wallet-legacy]
|
||||
:<- [:offline?]
|
||||
:<- [:wallet/all-tokens]
|
||||
:<- [:wallet-legacy/all-tokens]
|
||||
:<- [:current-network]
|
||||
(fn [[{:keys [from to amount-text] :as transaction}
|
||||
wallet offline? all-tokens current-network]]
|
||||
|
|
|
@ -10,14 +10,14 @@
|
|||
[utils.money :as money]))
|
||||
|
||||
(re-frame/reg-sub
|
||||
:wallet/accounts
|
||||
:<- [:wallet]
|
||||
:wallet-legacy/accounts
|
||||
:<- [:wallet-legacy]
|
||||
(fn [wallet]
|
||||
(get wallet :accounts)))
|
||||
|
||||
(re-frame/reg-sub
|
||||
:wallet/account-by-transaction-hash
|
||||
:<- [:wallet/accounts]
|
||||
:wallet-legacy/account-by-transaction-hash
|
||||
:<- [:wallet-legacy/accounts]
|
||||
(fn [accounts [_ tx-hash]]
|
||||
(some (fn [[address account]]
|
||||
(when-let [transaction (get-in account [:transactions tx-hash])]
|
||||
|
@ -25,14 +25,14 @@
|
|||
accounts)))
|
||||
|
||||
(re-frame/reg-sub
|
||||
:wallet/transactions
|
||||
:<- [:wallet]
|
||||
:wallet-legacy/transactions
|
||||
:<- [:wallet-legacy]
|
||||
(fn [wallet [_ address]]
|
||||
(get-in wallet [:accounts address :transactions])))
|
||||
|
||||
(re-frame/reg-sub
|
||||
:wallet/filters
|
||||
:<- [:wallet]
|
||||
:wallet-legacy/filters
|
||||
:<- [:wallet-legacy]
|
||||
(fn [wallet]
|
||||
(get wallet :filters)))
|
||||
|
||||
|
@ -61,9 +61,9 @@
|
|||
:currency-text currency-text))))
|
||||
|
||||
(re-frame/reg-sub
|
||||
:wallet.transactions/transactions
|
||||
:wallet-legacy.transactions/transactions
|
||||
(fn [[_ address] _]
|
||||
[(re-frame/subscribe [:wallet/transactions address])
|
||||
[(re-frame/subscribe [:wallet-legacy/transactions address])
|
||||
(re-frame/subscribe [:contacts/contacts-by-address])
|
||||
(re-frame/subscribe [:ethereum/native-currency])])
|
||||
(fn [[transactions contacts native-currency]]
|
||||
|
@ -76,8 +76,8 @@
|
|||
transactions)))
|
||||
|
||||
(re-frame/reg-sub
|
||||
:wallet.transactions/all-filters?
|
||||
:<- [:wallet/filters]
|
||||
:wallet-legacy.transactions/all-filters?
|
||||
:<- [:wallet-legacy/filters]
|
||||
(fn [filters]
|
||||
(= wallet.db/default-wallet-filters
|
||||
filters)))
|
||||
|
@ -89,8 +89,8 @@
|
|||
:failed (i18n/label :t/failed)})
|
||||
|
||||
(re-frame/reg-sub
|
||||
:wallet.transactions/filters
|
||||
:<- [:wallet/filters]
|
||||
:wallet-legacy.transactions/filters
|
||||
:<- [:wallet-legacy/filters]
|
||||
(fn [filters]
|
||||
(map (fn [id]
|
||||
(let [checked? (filters id)]
|
||||
|
@ -98,20 +98,20 @@
|
|||
:label (filters-labels id)
|
||||
:checked? checked?
|
||||
:on-touch #(if checked?
|
||||
(re-frame/dispatch [:wallet.transactions/remove-filter id])
|
||||
(re-frame/dispatch [:wallet.transactions/add-filter id]))}))
|
||||
(re-frame/dispatch [:wallet-legacy.transactions/remove-filter id])
|
||||
(re-frame/dispatch [:wallet-legacy.transactions/add-filter id]))}))
|
||||
wallet.db/default-wallet-filters)))
|
||||
|
||||
(re-frame/reg-sub
|
||||
:wallet.transactions.filters/screen
|
||||
:<- [:wallet.transactions/filters]
|
||||
:<- [:wallet.transactions/all-filters?]
|
||||
:wallet-legacy.transactions.filters/screen
|
||||
:<- [:wallet-legacy.transactions/filters]
|
||||
:<- [:wallet-legacy.transactions/all-filters?]
|
||||
(fn [[filters all-filters?]]
|
||||
{:all-filters? all-filters?
|
||||
:filters filters
|
||||
:on-touch-select-all (when-not all-filters?
|
||||
#(re-frame/dispatch
|
||||
[:wallet.transactions/add-all-filters]))}))
|
||||
[:wallet-legacy.transactions/add-all-filters]))}))
|
||||
|
||||
(defn- enrich-transaction-for-list
|
||||
[filters
|
||||
|
@ -134,7 +134,7 @@
|
|||
:contact to-contact
|
||||
:address to))
|
||||
:time-formatted (datetime/timestamp->time timestamp)
|
||||
:on-touch-fn #(re-frame/dispatch [:wallet.ui/show-transaction-details
|
||||
:on-touch-fn #(re-frame/dispatch [:wallet-legacy.ui/show-transaction-details
|
||||
(:hash transaction)
|
||||
address]))))
|
||||
|
||||
|
@ -149,11 +149,11 @@
|
|||
:data (sort-by :timestamp > transactions)}))))
|
||||
|
||||
(re-frame/reg-sub
|
||||
:wallet.transactions.history/screen
|
||||
:wallet-legacy.transactions.history/screen
|
||||
(fn [[_ address] _]
|
||||
[(re-frame/subscribe [:wallet.transactions/transactions address])
|
||||
(re-frame/subscribe [:wallet/filters])
|
||||
(re-frame/subscribe [:wallet.transactions/all-filters?])])
|
||||
[(re-frame/subscribe [:wallet-legacy.transactions/transactions address])
|
||||
(re-frame/subscribe [:wallet-legacy/filters])
|
||||
(re-frame/subscribe [:wallet-legacy.transactions/all-filters?])])
|
||||
(fn [[transactions filters all-filters?] [_ address]]
|
||||
{:all-filters? all-filters?
|
||||
:total (count transactions)
|
||||
|
@ -164,9 +164,9 @@
|
|||
(group-transactions-by-date))}))
|
||||
|
||||
(re-frame/reg-sub
|
||||
:wallet/recipient-recent-txs
|
||||
:wallet-legacy/recipient-recent-txs
|
||||
(fn [[_ address] _]
|
||||
[(re-frame/subscribe [:wallet.transactions/transactions address])])
|
||||
[(re-frame/subscribe [:wallet-legacy.transactions/transactions address])])
|
||||
(fn [[transactions] _]
|
||||
(->> transactions
|
||||
vals
|
||||
|
@ -175,9 +175,9 @@
|
|||
(take 3))))
|
||||
|
||||
(re-frame/reg-sub
|
||||
:wallet.transactions.details/current-transaction
|
||||
:wallet-legacy.transactions.details/current-transaction
|
||||
(fn [[_ _ address] _]
|
||||
[(re-frame/subscribe [:wallet.transactions/transactions address])
|
||||
[(re-frame/subscribe [:wallet-legacy.transactions/transactions address])
|
||||
(re-frame/subscribe [:ethereum/native-currency])
|
||||
(re-frame/subscribe [:chain-id])])
|
||||
(fn [[transactions native-currency chain-id] [_ tx-hash _]]
|
||||
|
@ -222,9 +222,9 @@
|
|||
(:hash transaction))}))))))
|
||||
|
||||
(re-frame/reg-sub
|
||||
:wallet.transactions.details/screen
|
||||
:wallet-legacy.transactions.details/screen
|
||||
(fn [[_ tx-hash address] _]
|
||||
[(re-frame/subscribe [:wallet.transactions.details/current-transaction tx-hash address])
|
||||
[(re-frame/subscribe [:wallet-legacy.transactions.details/current-transaction tx-hash address])
|
||||
(re-frame/subscribe [:ethereum/current-block])])
|
||||
(fn [[transaction current-block]]
|
||||
(let [confirmations (wallet.db/get-confirmations transaction
|
||||
|
|
|
@ -11,20 +11,20 @@
|
|||
|
||||
(re-frame/reg-sub
|
||||
:balance
|
||||
:<- [:wallet]
|
||||
:<- [:wallet-legacy]
|
||||
(fn [wallet [_ address]]
|
||||
(get-in wallet [:accounts address :balance])))
|
||||
|
||||
(re-frame/reg-sub
|
||||
:balance-default
|
||||
:<- [:wallet]
|
||||
:<- [:wallet-legacy]
|
||||
:<- [:profile/wallet-accounts]
|
||||
(fn [[wallet accounts]]
|
||||
(get-in wallet [:accounts (:address (wallet.utils/get-default-account accounts)) :balance])))
|
||||
|
||||
(re-frame/reg-sub
|
||||
:balances
|
||||
:<- [:wallet]
|
||||
:<- [:wallet-legacy]
|
||||
:<- [:multiaccount/visible-accounts]
|
||||
(fn [[wallet accounts]]
|
||||
(let [accounts (map :address accounts)]
|
||||
|
@ -55,7 +55,7 @@
|
|||
(get-in prices [fsym tsym :last-day])))
|
||||
|
||||
(re-frame/reg-sub
|
||||
:wallet.settings/currency
|
||||
:wallet-legacy/settings-currency
|
||||
:<- [:profile/profile]
|
||||
(fn [settings]
|
||||
(or (get settings :currency) :usd)))
|
||||
|
@ -74,8 +74,8 @@
|
|||
balance))
|
||||
|
||||
(re-frame/reg-sub
|
||||
:wallet/token->decimals
|
||||
:<- [:wallet/all-tokens]
|
||||
:wallet-legacy/token->decimals
|
||||
:<- [:wallet-legacy/all-tokens]
|
||||
(fn [all-tokens]
|
||||
(into {} (map #(vector (:symbol %) (:decimals %)) (vals all-tokens)))))
|
||||
|
||||
|
@ -83,8 +83,8 @@
|
|||
:portfolio-value
|
||||
:<- [:balances]
|
||||
:<- [:prices]
|
||||
:<- [:wallet/currency]
|
||||
:<- [:wallet/token->decimals]
|
||||
:<- [:wallet-legacy/currency]
|
||||
:<- [:wallet-legacy/token->decimals]
|
||||
(fn [[balances prices currency token->decimals]]
|
||||
(if (and balances prices)
|
||||
(let [currency-key (-> currency :code keyword)
|
||||
|
@ -105,8 +105,8 @@
|
|||
(fn [[_ address] _]
|
||||
[(re-frame/subscribe [:balance address])
|
||||
(re-frame/subscribe [:prices])
|
||||
(re-frame/subscribe [:wallet/currency])
|
||||
(re-frame/subscribe [:wallet/token->decimals])])
|
||||
(re-frame/subscribe [:wallet-legacy/currency])
|
||||
(re-frame/subscribe [:wallet-legacy/token->decimals])])
|
||||
(fn [[balance prices currency token->decimals]]
|
||||
(if (and balance prices)
|
||||
(let [currency-key (-> currency :code keyword)
|
||||
|
@ -120,40 +120,40 @@
|
|||
"...")))
|
||||
|
||||
(re-frame/reg-sub
|
||||
:wallet/sorted-tokens
|
||||
:<- [:wallet/all-tokens]
|
||||
:wallet-legacy/sorted-tokens
|
||||
:<- [:wallet-legacy/all-tokens]
|
||||
(fn [all-tokens]
|
||||
(tokens/sorted-tokens-for all-tokens)))
|
||||
|
||||
(re-frame/reg-sub
|
||||
:wallet/grouped-chain-tokens
|
||||
:<- [:wallet/sorted-tokens]
|
||||
:<- [:wallet/visible-tokens-symbols]
|
||||
:wallet-legacy/grouped-chain-tokens
|
||||
:<- [:wallet-legacy/sorted-tokens]
|
||||
:<- [:wallet-legacy/visible-tokens-symbols]
|
||||
(fn [[all-tokens visible-tokens]]
|
||||
(let [vt-set (set visible-tokens)]
|
||||
(group-by :custom?
|
||||
(map #(assoc % :checked? (boolean (get vt-set (keyword (:symbol %))))) all-tokens)))))
|
||||
|
||||
(re-frame/reg-sub
|
||||
:wallet/fetching-tx-history?
|
||||
:<- [:wallet]
|
||||
:wallet-legacy/fetching-tx-history?
|
||||
:<- [:wallet-legacy]
|
||||
(fn [wallet [_ address]]
|
||||
(get-in wallet [:fetching address :history?])))
|
||||
|
||||
(re-frame/reg-sub
|
||||
:wallet/fetching-recent-tx-history?
|
||||
:<- [:wallet]
|
||||
:wallet-legacy/fetching-recent-tx-history?
|
||||
:<- [:wallet-legacy]
|
||||
(fn [wallet [_ address]]
|
||||
(get-in wallet [:fetching address :recent?])))
|
||||
|
||||
(re-frame/reg-sub
|
||||
:wallet/tx-history-fetched?
|
||||
:<- [:wallet]
|
||||
:wallet-legacy/tx-history-fetched?
|
||||
:<- [:wallet-legacy]
|
||||
(fn [wallet [_ address]]
|
||||
(get-in wallet [:fetching address :all-fetched?])))
|
||||
|
||||
(re-frame/reg-sub
|
||||
:wallet/chain-explorer-link
|
||||
:wallet-legacy/chain-explorer-link
|
||||
(fn [db [_ address]]
|
||||
(let [network (:networks/current-network db)
|
||||
link (get-in config/default-networks-by-id
|
||||
|
@ -162,33 +162,33 @@
|
|||
(str link address)))))
|
||||
|
||||
(re-frame/reg-sub
|
||||
:wallet/error-message
|
||||
:<- [:wallet]
|
||||
:wallet-legacy/error-message
|
||||
:<- [:wallet-legacy]
|
||||
(fn [wallet]
|
||||
(or (get-in wallet [:errors :balance-update])
|
||||
(get-in wallet [:errors :prices-update]))))
|
||||
|
||||
(re-frame/reg-sub
|
||||
:wallet/visible-tokens-symbols
|
||||
:wallet-legacy/visible-tokens-symbols
|
||||
:<- [:ethereum/chain-keyword]
|
||||
:<- [:profile/profile]
|
||||
(fn [[chain current-multiaccount]]
|
||||
(get-in current-multiaccount [:wallet/visible-tokens chain])))
|
||||
(get-in current-multiaccount [:wallet-legacy/visible-tokens chain])))
|
||||
|
||||
(re-frame/reg-sub
|
||||
:wallet/visible-assets
|
||||
:wallet-legacy/visible-assets
|
||||
:<- [:current-network]
|
||||
:<- [:wallet/visible-tokens-symbols]
|
||||
:<- [:wallet/sorted-tokens]
|
||||
:<- [:wallet-legacy/visible-tokens-symbols]
|
||||
:<- [:wallet-legacy/sorted-tokens]
|
||||
(fn [[network visible-tokens-symbols all-tokens-sorted]]
|
||||
(conj (filter #(contains? visible-tokens-symbols (:symbol %)) all-tokens-sorted)
|
||||
(tokens/native-currency network))))
|
||||
|
||||
(re-frame/reg-sub
|
||||
:wallet/visible-assets-with-amount
|
||||
:wallet-legacy/visible-assets-with-amount
|
||||
(fn [[_ address] _]
|
||||
[(re-frame/subscribe [:balance address])
|
||||
(re-frame/subscribe [:wallet/visible-assets])])
|
||||
(re-frame/subscribe [:wallet-legacy/visible-assets])])
|
||||
(fn [[balance visible-assets]]
|
||||
(map #(assoc % :amount (get balance (:symbol %))) visible-assets)))
|
||||
|
||||
|
@ -208,11 +208,11 @@
|
|||
(i18n/format-currency (:code currency))))))))
|
||||
|
||||
(re-frame/reg-sub
|
||||
:wallet/visible-assets-with-values
|
||||
:wallet-legacy/visible-assets-with-values
|
||||
(fn [[_ address] _]
|
||||
[(re-frame/subscribe [:wallet/visible-assets-with-amount address])
|
||||
[(re-frame/subscribe [:wallet-legacy/visible-assets-with-amount address])
|
||||
(re-frame/subscribe [:prices])
|
||||
(re-frame/subscribe [:wallet/currency])])
|
||||
(re-frame/subscribe [:wallet-legacy/currency])])
|
||||
(fn [[assets prices currency]]
|
||||
(let [{:keys [tokens nfts]} (group-by #(if (:nft? %) :nfts :tokens) assets)
|
||||
tokens-with-values (map (update-value prices currency) tokens)]
|
||||
|
@ -228,17 +228,17 @@
|
|||
balances))
|
||||
|
||||
(re-frame/reg-sub
|
||||
:wallet/all-visible-assets-with-amount
|
||||
:wallet-legacy/all-visible-assets-with-amount
|
||||
:<- [:balances]
|
||||
:<- [:wallet/visible-assets]
|
||||
:<- [:wallet-legacy/visible-assets]
|
||||
(fn [[balances visible-assets]]
|
||||
(map #(assoc % :amount (get-asset-amount balances (:symbol %))) visible-assets)))
|
||||
|
||||
(re-frame/reg-sub
|
||||
:wallet/all-visible-assets-with-values
|
||||
:<- [:wallet/all-visible-assets-with-amount]
|
||||
:wallet-legacy/all-visible-assets-with-values
|
||||
:<- [:wallet-legacy/all-visible-assets-with-amount]
|
||||
:<- [:prices]
|
||||
:<- [:wallet/currency]
|
||||
:<- [:wallet-legacy/currency]
|
||||
(fn [[assets prices currency]]
|
||||
(let [{:keys [tokens nfts]} (group-by #(if (:nft? %) :nfts :tokens) assets)
|
||||
tokens-with-values (map (update-value prices currency) tokens)]
|
||||
|
@ -246,15 +246,15 @@
|
|||
:nfts nfts})))
|
||||
|
||||
(re-frame/reg-sub
|
||||
:wallet/transferrable-assets-with-amount
|
||||
:wallet-legacy/transferrable-assets-with-amount
|
||||
(fn [[_ address]]
|
||||
(re-frame/subscribe [:wallet/visible-assets-with-amount address]))
|
||||
(re-frame/subscribe [:wallet-legacy/visible-assets-with-amount address]))
|
||||
(fn [all-assets]
|
||||
(filter #(not (:nft? %)) all-assets)))
|
||||
|
||||
(re-frame/reg-sub
|
||||
:wallet/currency
|
||||
:<- [:wallet.settings/currency]
|
||||
:wallet-legacy/currency
|
||||
:<- [:wallet-legacy/settings-currency]
|
||||
(fn [currency-id]
|
||||
(get currency/currencies currency-id (get currency/currencies :usd))))
|
||||
|
||||
|
@ -263,9 +263,9 @@
|
|||
(string/includes? (string/lower-case (str name)) search-filter))
|
||||
|
||||
(re-frame/reg-sub
|
||||
:wallet/favourites-filtered
|
||||
:<- [:wallet/favourites]
|
||||
:<- [:search/recipient-filter]
|
||||
:wallet-legacy/favourites-filtered
|
||||
:<- [:wallet-legacy/favourites]
|
||||
:<- [:wallet-legacy/search-recipient-filter]
|
||||
(fn [[favs search-filter]]
|
||||
(let [favs (vals favs)]
|
||||
(if (string/blank? search-filter)
|
||||
|
@ -275,21 +275,21 @@
|
|||
favs)))))
|
||||
|
||||
(re-frame/reg-sub
|
||||
:wallet/collectible-collection
|
||||
:<- [:wallet/collectible-collections]
|
||||
:wallet-legacy/collectible-collection
|
||||
:<- [:wallet-legacy/collectible-collections]
|
||||
(fn [all-collections [_ address]]
|
||||
(when address
|
||||
(let [all-collections (get all-collections (string/lower-case address) [])]
|
||||
(sort-by :name all-collections)))))
|
||||
|
||||
(re-frame/reg-sub
|
||||
:wallet/collectible-assets-by-collection-and-address
|
||||
:<- [:wallet/collectible-assets]
|
||||
:wallet-legacy/collectible-assets-by-collection-and-address
|
||||
:<- [:wallet-legacy/collectible-assets]
|
||||
(fn [all-assets [_ address collectible-slug]]
|
||||
(get-in all-assets [address collectible-slug] [])))
|
||||
|
||||
(re-frame/reg-sub
|
||||
:wallet/fetching-assets-by-collectible-slug
|
||||
:<- [:wallet/fetching-collection-assets]
|
||||
:wallet-legacy/fetching-assets-by-collectible-slug
|
||||
:<- [:wallet-legacy/fetching-collection-assets]
|
||||
(fn [fetching-collection-assets [_ collectible-slug]]
|
||||
(get fetching-collection-assets collectible-slug false)))
|
||||
|
|
|
@ -55,16 +55,16 @@
|
|||
[sub-name]
|
||||
(swap! rf-db/app-db assoc
|
||||
:profile/wallet-accounts accounts
|
||||
:wallet wallet)
|
||||
:wallet-legacy wallet)
|
||||
(is (= [{:ETH money-eth
|
||||
:SNT money-snt}
|
||||
{:ETH money-eth
|
||||
:SNT money-snt}]
|
||||
(rf/sub [sub-name]))))
|
||||
|
||||
(h/deftest-sub :wallet/token->decimals
|
||||
(h/deftest-sub :wallet-legacy/token->decimals
|
||||
[sub-name]
|
||||
(swap! rf-db/app-db assoc :wallet/all-tokens tokens)
|
||||
(swap! rf-db/app-db assoc :wallet-legacy/all-tokens tokens)
|
||||
(is (= {:SNT 18 :ETH 18}
|
||||
(rf/sub [sub-name]))))
|
||||
|
||||
|
@ -92,18 +92,18 @@
|
|||
{:balance {:ETH money-zero
|
||||
:SNT money-zero}}}}]
|
||||
(swap! rf-db/app-db assoc
|
||||
:profile/wallet-accounts accounts
|
||||
:prices prices
|
||||
:wallet empty-wallet
|
||||
:wallet/all-tokens tokens)
|
||||
:profile/wallet-accounts accounts
|
||||
:prices prices
|
||||
:wallet-legacy empty-wallet
|
||||
:wallet-legacy/all-tokens tokens)
|
||||
(is (= "0" (rf/sub [sub-name])))))
|
||||
|
||||
(testing "returns formatted value in the default USD currency"
|
||||
(swap! rf-db/app-db assoc
|
||||
:profile/wallet-accounts accounts
|
||||
:prices prices
|
||||
:wallet wallet
|
||||
:wallet/all-tokens tokens)
|
||||
:profile/wallet-accounts accounts
|
||||
:prices prices
|
||||
:wallet-legacy wallet
|
||||
:wallet-legacy/all-tokens tokens)
|
||||
(is (= "20,550.76" (rf/sub [sub-name])))))
|
||||
|
||||
(h/deftest-sub :account-portfolio-value
|
||||
|
@ -116,18 +116,18 @@
|
|||
{:balance {:ETH money-zero
|
||||
:SNT money-zero}}}}]
|
||||
(swap! rf-db/app-db assoc
|
||||
:profile/wallet-accounts accounts
|
||||
:prices prices
|
||||
:wallet empty-wallet
|
||||
:wallet/all-tokens tokens)
|
||||
:profile/wallet-accounts accounts
|
||||
:prices prices
|
||||
:wallet-legacy empty-wallet
|
||||
:wallet-legacy/all-tokens tokens)
|
||||
(is (= "0" (rf/sub [sub-name main-account-id])))))
|
||||
|
||||
(testing "returns formatted value in the default USD currency"
|
||||
(swap! rf-db/app-db assoc
|
||||
:profile/wallet-accounts accounts
|
||||
:prices prices
|
||||
:wallet wallet
|
||||
:wallet/all-tokens tokens)
|
||||
:profile/wallet-accounts accounts
|
||||
:prices prices
|
||||
:wallet-legacy wallet
|
||||
:wallet-legacy/all-tokens tokens)
|
||||
(is (= "10,275.38" (rf/sub [sub-name main-account-id])))))
|
||||
|
||||
(def transactions
|
||||
|
|
|
@ -121,7 +121,7 @@
|
|||
network-name [:network-name]
|
||||
waku-bloom-filter-mode [:waku/bloom-filter-mode]
|
||||
wakuv2-flag [:waku/v2-flag]
|
||||
transactions-management-enabled? [:wallet/transactions-management-enabled?]
|
||||
transactions-management-enabled? [:wallet-legacy/transactions-management-enabled?]
|
||||
current-log-level [:log-level/current-log-level]
|
||||
current-fleet [:fleets/current-fleet]]
|
||||
[list/flat-list
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
[{:keys [id code display-name]} _ _ current-currency-id]
|
||||
(let [selected? (= id current-currency-id)]
|
||||
[react/touchable-highlight
|
||||
{:on-press #(re-frame/dispatch [:wallet.settings.ui/currency-selected id])
|
||||
{:on-press #(re-frame/dispatch [:wallet-legacy.settings.ui/currency-selected id])
|
||||
:accessibility-label :currency-item}
|
||||
[react/view styles/currency-item
|
||||
[react/text {:style styles/currency-name-text}
|
||||
|
@ -25,8 +25,8 @@
|
|||
|
||||
(views/defview currency-settings
|
||||
[]
|
||||
(views/letsubs [currency-id [:wallet.settings/currency]
|
||||
{:keys [currencies search-filter]} [:search/filtered-currencies]]
|
||||
(views/letsubs [currency-id [:wallet-legacy/settings-currency]
|
||||
{:keys [currencies search-filter]} [:wallet-legacy/search-filtered-currencies]]
|
||||
{:component-will-unmount #(do
|
||||
(re-frame/dispatch [:search/currency-filter-changed nil])
|
||||
(reset! search-active? false))}
|
||||
|
|
|
@ -89,7 +89,7 @@
|
|||
[]
|
||||
(letsubs [read-once? (atom false)
|
||||
{:keys [height width]} [:dimensions/window]
|
||||
camera-flashlight [:wallet.send/camera-flashlight]
|
||||
camera-flashlight [:wallet-legacy.send/camera-flashlight]
|
||||
opts [:get-screen-params]
|
||||
camera-ref (atom nil)]
|
||||
[react/view
|
||||
|
|
|
@ -141,8 +141,8 @@
|
|||
|
||||
;;WALLET
|
||||
|
||||
{:name :wallet
|
||||
:on-focus [:wallet/tab-opened]
|
||||
{:name :wallet-legacy
|
||||
:on-focus [:wallet-legacy/tab-opened]
|
||||
;;TODO wallet redesign
|
||||
;;:options {:statusBar {:backgroundColor quo.colors/neutral-5}}
|
||||
:component wallet.accounts/accounts-overview-old}
|
||||
|
@ -171,7 +171,7 @@
|
|||
:options {:insets {:top? true}}
|
||||
:component wallet-settings/manage-assets}
|
||||
{:name :wallet-add-custom-token
|
||||
:on-focus [:wallet/wallet-add-custom-token]
|
||||
:on-focus [:wallet-legacy/wallet-add-custom-token]
|
||||
:options {:topBar {:title {:text (i18n/label :t/add-custom-token)}}
|
||||
:insets {:top? true}}
|
||||
:component custom-tokens/add-custom-token}
|
||||
|
@ -473,7 +473,7 @@
|
|||
|
||||
;[Wallet] Prepare Transaction
|
||||
{:name :prepare-send-transaction
|
||||
:on-dissmiss [:wallet/cancel-transaction-command]
|
||||
:on-dissmiss [:wallet-legacy/cancel-transaction-command]
|
||||
:options {:topBar {:title {:text (i18n/label :t/send-transaction)}}
|
||||
:swipeToDismiss false
|
||||
:hardwareBackButton {:dismissModalOnPress false}
|
||||
|
@ -483,7 +483,7 @@
|
|||
|
||||
;[Wallet] Request Transaction
|
||||
{:name :request-transaction
|
||||
:on-dissmiss [:wallet/cancel-transaction-command]
|
||||
:on-dissmiss [:wallet-legacy/cancel-transaction-command]
|
||||
:options {:topBar {:title {:text (i18n/label :t/request-transaction)}}
|
||||
:swipeToDismiss false
|
||||
:hardwareBackButton {:dismissModalOnPress false}
|
||||
|
|
|
@ -88,7 +88,7 @@
|
|||
[gas-edit
|
||||
max-fee-per-gas-edit
|
||||
max-priority-fee-per-gas-edit])
|
||||
base-fee @(re-frame/subscribe [:wallet/current-base-fee])
|
||||
base-fee @(re-frame/subscribe [:wallet-legacy/current-base-fee])
|
||||
[fee-currency fiat-currency price]
|
||||
@(re-frame/subscribe [:signing/currencies])
|
||||
fee-eth
|
||||
|
@ -306,9 +306,9 @@
|
|||
|
||||
(defn fees-warning
|
||||
[]
|
||||
(let [base-fee @(re-frame/subscribe [:wallet/current-base-fee])
|
||||
(let [base-fee @(re-frame/subscribe [:wallet-legacy/current-base-fee])
|
||||
base-fee-gwei (money/wei-> :gwei (money/bignumber base-fee))
|
||||
priority-fee @(re-frame/subscribe [:wallet/current-priority-fee])
|
||||
priority-fee @(re-frame/subscribe [:wallet-legacy/current-priority-fee])
|
||||
priority-fee-gwei (money/wei-> :gwei (money/bignumber priority-fee))
|
||||
{priority-fee-edit :maxPriorityFeePerGas
|
||||
fee-edit :maxFeePerGas}
|
||||
|
|
|
@ -481,10 +481,10 @@
|
|||
[:signing/amount-errors (:address from)]
|
||||
keycard-multiaccount? [:keycard-multiaccount?]
|
||||
prices [:prices]
|
||||
wallet-currency [:wallet/currency]
|
||||
wallet-currency [:wallet-legacy/currency]
|
||||
mainnet? [:mainnet?]
|
||||
prices-loading? [:prices-loading?]
|
||||
management-enabled? [:wallet/transactions-management-enabled?]]
|
||||
management-enabled? [:wallet-legacy/transactions-management-enabled?]]
|
||||
(let [display-symbol (wallet.utils/display-symbol token)
|
||||
fee-display-symbol (wallet.utils/display-symbol (tokens/native-currency chain))]
|
||||
[react/view (styles/sheet)
|
||||
|
|
|
@ -40,7 +40,7 @@
|
|||
|
||||
(views/defview account-card
|
||||
[{:keys [address color type] :as account}]
|
||||
(views/letsubs [currency [:wallet/currency]
|
||||
(views/letsubs [currency [:wallet-legacy/currency]
|
||||
portfolio-value [:account-portfolio-value address]
|
||||
window-width [:dimensions/window-width]
|
||||
prices-loading? [:prices-loading?]]
|
||||
|
@ -63,7 +63,7 @@
|
|||
:color colors/white-transparent-70-persist}}
|
||||
(address/normalized-hex address)]]
|
||||
[react/view {:position :absolute :top 12 :right 12}
|
||||
[react/touchable-highlight {:on-press #(re-frame/dispatch [:wallet/share-popover address])}
|
||||
[react/touchable-highlight {:on-press #(re-frame/dispatch [:wallet-legacy/share-popover address])}
|
||||
[icons/icon :main-icons/share
|
||||
{:color colors/white-persist
|
||||
:accessibility-label :share-wallet-address-icon}]]]
|
||||
|
@ -81,17 +81,17 @@
|
|||
(i18n/label :t/wallet-send)
|
||||
:main-icons/send
|
||||
colors/white-persist
|
||||
#(re-frame/dispatch [:wallet/prepare-transaction-from-wallet account])])
|
||||
#(re-frame/dispatch [:wallet-legacy/prepare-transaction-from-wallet account])])
|
||||
[react/view {:style (styles/divider)}]
|
||||
[button
|
||||
(i18n/label :t/receive)
|
||||
:main-icons/receive
|
||||
colors/white-persist
|
||||
#(re-frame/dispatch [:wallet/share-popover address])]]]))
|
||||
#(re-frame/dispatch [:wallet-legacy/share-popover address])]]]))
|
||||
|
||||
(views/defview transactions
|
||||
[address]
|
||||
(views/letsubs [data [:wallet.transactions.history/screen address]]
|
||||
(views/letsubs [data [:wallet-legacy.transactions.history/screen address]]
|
||||
[history/history-list data address]))
|
||||
|
||||
(defn opensea-link
|
||||
|
@ -115,10 +115,10 @@
|
|||
|
||||
(views/defview assets-and-collections-new
|
||||
[address]
|
||||
(views/letsubs [{:keys [tokens]} [:wallet/visible-assets-with-values address]
|
||||
currency [:wallet/currency]
|
||||
(views/letsubs [{:keys [tokens]} [:wallet-legacy/visible-assets-with-values address]
|
||||
currency [:wallet-legacy/currency]
|
||||
opensea-enabled? [:opensea-enabled?]
|
||||
collectible-collection [:wallet/collectible-collection address]]
|
||||
collectible-collection [:wallet-legacy/collectible-collection address]]
|
||||
;ethereum-network? [:ethereum-network?]]
|
||||
(let [tab @selected-tab]
|
||||
[react/view {:flex 1}
|
||||
|
@ -176,12 +176,12 @@
|
|||
(i18n/label :t/wallet-send)
|
||||
:main-icons/send
|
||||
colors/blue-persist
|
||||
#(re-frame/dispatch [:wallet/prepare-transaction-from-wallet account])])
|
||||
#(re-frame/dispatch [:wallet-legacy/prepare-transaction-from-wallet account])])
|
||||
[button
|
||||
(i18n/label :t/receive)
|
||||
:main-icons/receive
|
||||
colors/blue-persist
|
||||
#(re-frame/dispatch [:wallet/share-popover address])]])
|
||||
#(re-frame/dispatch [:wallet-legacy/share-popover address])]])
|
||||
|
||||
(defn anim-listener
|
||||
[anim-y scroll-y]
|
||||
|
@ -231,10 +231,10 @@
|
|||
|
||||
(views/defview assets-and-collections
|
||||
[address]
|
||||
(views/letsubs [{:keys [tokens]} [:wallet/visible-assets-with-values address]
|
||||
currency [:wallet/currency]
|
||||
(views/letsubs [{:keys [tokens]} [:wallet-legacy/visible-assets-with-values address]
|
||||
currency [:wallet-legacy/currency]
|
||||
opensea-enabled? [:opensea-enabled?]
|
||||
collectible-collection [:wallet/collectible-collection address]
|
||||
collectible-collection [:wallet-legacy/collectible-collection address]
|
||||
ethereum-network? [:ethereum-network?]]
|
||||
(let [{:keys [tab]} @state]
|
||||
[react/view {:flex 1}
|
||||
|
@ -272,11 +272,11 @@
|
|||
(defn account-new
|
||||
[selected-account]
|
||||
(let [;{:keys [name address] :as account} (rf/sub [:account-by-address selected-account])
|
||||
currency (rf/sub [:wallet/currency])
|
||||
currency (rf/sub [:wallet-legacy/currency])
|
||||
portfolio-value (rf/sub [:account-portfolio-value selected-account])
|
||||
width (rf/sub [:dimensions/window-width])
|
||||
button-width (/ (- width 40 (* 2 12)) 3)]
|
||||
;fetching-error (rf/sub [:wallet/fetching-error])]
|
||||
;fetching-error (rf/sub [:wallet-legacy/fetching-error])]
|
||||
[react/view
|
||||
{:flex 1
|
||||
:background-color (quo.colors/theme-colors quo.colors/white quo.colors/neutral-90)
|
||||
|
@ -306,7 +306,7 @@
|
|||
(views/defview account
|
||||
[]
|
||||
(views/letsubs [{:keys [name address] :as current-account} [:multiaccount/current-account]
|
||||
fetching-error [:wallet/fetching-error]]
|
||||
fetching-error [:wallet-legacy/fetching-error]]
|
||||
(let [anim-y (animation/create-value button-group-height)
|
||||
scroll-y (animation/create-value 0)]
|
||||
(anim-listener anim-y scroll-y)
|
||||
|
@ -327,7 +327,7 @@
|
|||
:refreshControl (common/refresh-control
|
||||
(and
|
||||
@common/updates-counter
|
||||
@(re-frame/subscribe [:wallet/refreshing-history?])))}
|
||||
@(re-frame/subscribe [:wallet-legacy/refreshing-history?])))}
|
||||
(when fetching-error
|
||||
[react/view
|
||||
{:style {:flex 1
|
||||
|
|
|
@ -43,7 +43,7 @@
|
|||
(str @error)))}]
|
||||
[quo/button
|
||||
{:on-press (fn []
|
||||
(re-frame/dispatch [:wallet.accounts/delete-key
|
||||
(re-frame/dispatch [:wallet-legacy.accounts/delete-key
|
||||
account
|
||||
@password
|
||||
#(reset! error :wrong-password)])
|
||||
|
@ -109,7 +109,7 @@
|
|||
[{:label (i18n/label :t/apply)
|
||||
:on-press
|
||||
#(do
|
||||
(re-frame/dispatch [:wallet.accounts/save-account
|
||||
(re-frame/dispatch [:wallet-legacy.accounts/save-account
|
||||
account
|
||||
@new-account])
|
||||
(reset! new-account nil))}]))]
|
||||
|
@ -172,5 +172,6 @@
|
|||
{:theme :negative
|
||||
:title (i18n/label :t/delete-account)
|
||||
:on-press #(if (= :watch type)
|
||||
(re-frame/dispatch [:wallet.settings/show-delete-account-confirmation account])
|
||||
(re-frame/dispatch [:wallet-legacy.settings/show-delete-account-confirmation
|
||||
account])
|
||||
(re-frame/dispatch [:show-popover {:view [delete-account account]}]))}]])]]]))
|
||||
|
|
|
@ -22,14 +22,14 @@
|
|||
(utils.utils/set-timeout
|
||||
(fn []
|
||||
(swap! updates-counter inc)
|
||||
(when @(re-frame/subscribe [:wallet/refreshing-history?])
|
||||
(when @(re-frame/subscribe [:wallet-legacy/refreshing-history?])
|
||||
(schedule-counter-reset)))
|
||||
1000))
|
||||
|
||||
(defn refresh-action
|
||||
[]
|
||||
(schedule-counter-reset)
|
||||
(re-frame/dispatch [:wallet.ui/pull-to-refresh-history]))
|
||||
(re-frame/dispatch [:wallet-legacy.ui/pull-to-refresh-history]))
|
||||
|
||||
(defn refresh-control
|
||||
[refreshing?]
|
||||
|
|
|
@ -41,7 +41,7 @@
|
|||
:icon :main-icons/refresh
|
||||
:accessibility-label :wallet-scan-token
|
||||
:on-press #(hide-sheet-and-dispatch
|
||||
[:wallet/update-balances nil true])}]
|
||||
[:wallet-legacy/update-balances nil true])}]
|
||||
[list.item/list-item
|
||||
{:theme :accent
|
||||
:title (i18n/label :t/set-currency)
|
||||
|
@ -74,14 +74,14 @@
|
|||
:icon :main-icons/send
|
||||
:accessibility-label :send-transaction-button
|
||||
:on-press #(hide-sheet-and-dispatch
|
||||
[:wallet/prepare-transaction-from-wallet account])}])
|
||||
[:wallet-legacy/prepare-transaction-from-wallet account])}])
|
||||
[list.item/list-item
|
||||
{:theme :accent
|
||||
:title (i18n/label :t/share)
|
||||
:icon :main-icons/share
|
||||
:accessibility-label :share-account-button
|
||||
:on-press #(hide-sheet-and-dispatch
|
||||
[:wallet/share-popover (:address account)])}]
|
||||
[:wallet-legacy/share-popover (:address account)])}]
|
||||
(when-not wallet
|
||||
[list.item/list-item
|
||||
{:theme :accent
|
||||
|
@ -89,7 +89,7 @@
|
|||
:icon :main-icons/hide
|
||||
:accessibility-label :hide-account-button
|
||||
:on-press #(hide-sheet-and-dispatch
|
||||
[:wallet.accounts/save-account account {:hidden true}])}])])
|
||||
[:wallet-legacy.accounts/save-account account {:hidden true}])}])])
|
||||
|
||||
(defn add-account
|
||||
[]
|
||||
|
@ -101,7 +101,7 @@
|
|||
:icon :main-icons/add
|
||||
:accessibility-label :add-account-sheet-generate
|
||||
:on-press #(hide-sheet-and-dispatch
|
||||
[:wallet.accounts/start-adding-new-account
|
||||
[:wallet-legacy.accounts/start-adding-new-account
|
||||
{:type :generate}])}]
|
||||
[list.item/list-item
|
||||
{:theme :accent
|
||||
|
@ -109,7 +109,7 @@
|
|||
:icon :main-icons/show
|
||||
:accessibility-label :add-account-sheet-watch
|
||||
:on-press #(hide-sheet-and-dispatch
|
||||
[:wallet.accounts/start-adding-new-account
|
||||
[:wallet-legacy.accounts/start-adding-new-account
|
||||
{:type :watch}])}]
|
||||
(when-not keycard?
|
||||
[list.item/list-item
|
||||
|
@ -118,7 +118,7 @@
|
|||
:icon :main-icons/text
|
||||
:accessibility-label :add-account-sheet-seed
|
||||
:on-press #(hide-sheet-and-dispatch
|
||||
[:wallet.accounts/start-adding-new-account
|
||||
[:wallet-legacy.accounts/start-adding-new-account
|
||||
{:type :seed}])}])
|
||||
(when-not keycard?
|
||||
[list.item/list-item
|
||||
|
@ -127,7 +127,7 @@
|
|||
:icon :main-icons/address
|
||||
:accessibility-label :add-account-sheet-private-key
|
||||
:on-press #(hide-sheet-and-dispatch
|
||||
[:wallet.accounts/start-adding-new-account
|
||||
[:wallet-legacy.accounts/start-adding-new-account
|
||||
{:type :key}])}])]))
|
||||
|
||||
(defn account-settings
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
|
||||
(views/defview account-card
|
||||
[{:keys [name color address type wallet] :as account} keycard? card-width]
|
||||
(views/letsubs [currency [:wallet/currency]
|
||||
(views/letsubs [currency [:wallet-legacy/currency]
|
||||
portfolio-value [:account-portfolio-value address]
|
||||
prices-loading? [:prices-loading?]]
|
||||
[react/touchable-highlight
|
||||
|
@ -73,8 +73,8 @@
|
|||
|
||||
(views/defview assets
|
||||
[]
|
||||
(views/letsubs [{:keys [tokens]} [:wallet/all-visible-assets-with-values]
|
||||
currency [:wallet/currency]]
|
||||
(views/letsubs [{:keys [tokens]} [:wallet-legacy/all-visible-assets-with-values]
|
||||
currency [:wallet-legacy/currency]]
|
||||
[:<>
|
||||
(for [item tokens]
|
||||
^{:key (:name item)}
|
||||
|
@ -87,7 +87,8 @@
|
|||
[components.core/button
|
||||
{:accessibility-label :send-transaction-button
|
||||
:type :scale
|
||||
:on-press #(re-frame/dispatch [:wallet/prepare-transaction-from-wallet account])}
|
||||
:on-press #(re-frame/dispatch [:wallet-legacy/prepare-transaction-from-wallet
|
||||
account])}
|
||||
[react/view (styles/send-button)
|
||||
[icons/icon :main-icons/send {:color colors/white-persist}]]]]))
|
||||
|
||||
|
@ -142,7 +143,7 @@
|
|||
;;TOTAL VALUE OLD
|
||||
(views/defview total-value-old
|
||||
[{:keys [animation minimized]}]
|
||||
(views/letsubs [currency [:wallet/currency]
|
||||
(views/letsubs [currency [:wallet-legacy/currency]
|
||||
portfolio-value [:portfolio-value]
|
||||
empty-balances? [:empty-balances?]
|
||||
frozen-card? [:keycard/frozen-card?]
|
||||
|
@ -203,7 +204,7 @@
|
|||
|
||||
(views/defview total-value
|
||||
[]
|
||||
(views/letsubs [currency [:wallet/currency]
|
||||
(views/letsubs [currency [:wallet-legacy/currency]
|
||||
portfolio-value [:portfolio-value]]
|
||||
[react/view {:padding-vertical 12}
|
||||
[quo.text/text (i18n/label :t/wallet-total-value)]
|
||||
|
@ -257,7 +258,7 @@
|
|||
:accessibility-label :accounts-qr-code
|
||||
:on-press #(re-frame/dispatch
|
||||
[::qr-scanner/scan-code
|
||||
{:handler :wallet.send/qr-scanner-result}])}
|
||||
{:handler :wallet-legacy.send/qr-scanner-result}])}
|
||||
:i/placeholder]
|
||||
[react/view {:width 12}]
|
||||
[quo/button
|
||||
|
@ -281,12 +282,12 @@
|
|||
[components.core/animated-header
|
||||
{:extended-header total-value-old
|
||||
:refresh-control common/refresh-control
|
||||
:refreshing-sub (re-frame/subscribe [:wallet/refreshing-history?])
|
||||
:refreshing-sub (re-frame/subscribe [:wallet-legacy/refreshing-history?])
|
||||
:refreshing-counter common/updates-counter
|
||||
:use-insets true
|
||||
:right-accessories [{:on-press #(re-frame/dispatch
|
||||
[::qr-scanner/scan-code
|
||||
{:handler :wallet.send/qr-scanner-result}])
|
||||
{:handler :wallet-legacy.send/qr-scanner-result}])
|
||||
:icon :main-icons/qr
|
||||
:accessibility-label :accounts-qr-code}
|
||||
{:on-press #(re-frame/dispatch [:bottom-sheet/show-sheet-old
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
:disabled wallet
|
||||
:title name
|
||||
:subtitle (utils/get-shortened-checksum-address address)
|
||||
:on-press #(rf/dispatch [:wallet.accounts/save-account account
|
||||
:on-press #(rf/dispatch [:wallet-legacy.accounts/save-account account
|
||||
{:hidden (not hidden)}])}])}))
|
||||
|
||||
(defn manage
|
||||
|
|
|
@ -31,8 +31,9 @@
|
|||
(when (= type :watch)
|
||||
{:right-accessories
|
||||
[{:icon :qr
|
||||
:on-press #(re-frame/dispatch [:wallet.add-new/qr-scanner
|
||||
{:handler :wallet.add-new/qr-scanner-result}])}]}))]))
|
||||
:on-press #(re-frame/dispatch [:wallet-legacy.add-new/qr-scanner
|
||||
{:handler
|
||||
:wallet-legacy.add-new/qr-scanner-result}])}]}))]))
|
||||
|
||||
(defn common-settings
|
||||
[account]
|
||||
|
@ -77,7 +78,7 @@
|
|||
:monospace true
|
||||
:placeholder (i18n/label :t/enter-address)
|
||||
:accessibility-label :add-account-enter-watch-address
|
||||
:on-change-text #(re-frame/dispatch [:wallet.accounts/set-account-to-watch %])}]
|
||||
:on-change-text #(re-frame/dispatch [:wallet-legacy.accounts/set-account-to-watch %])}]
|
||||
[quo/text-input
|
||||
{:label (i18n/label :t/password)
|
||||
:show-cancel false
|
||||
|
@ -179,7 +180,7 @@
|
|||
#(re-frame/dispatch [:keycard/new-account-pin-sheet
|
||||
{:view {:content pin
|
||||
:height 256}}])
|
||||
#(re-frame/dispatch [:wallet.accounts/add-new-account
|
||||
#(re-frame/dispatch [:wallet-legacy.accounts/add-new-account
|
||||
(native-module/sha3 @entered-password)]))
|
||||
:disabled
|
||||
(or add-account-disabled?
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
[status-im.ui.components.toastable-highlight :refer [toastable-highlight-view]]
|
||||
[status-im.ui.components.topbar :as topbar]
|
||||
[status-im.ui.screens.wallet.components.views :as wallet.components]
|
||||
[status-im.wallet.core :as wallet]
|
||||
[status-im.wallet.core :as wallet-legacy]
|
||||
[utils.i18n :as i18n]
|
||||
[utils.re-frame :as rf]))
|
||||
|
||||
|
@ -120,7 +120,7 @@
|
|||
{:width width
|
||||
:border-radius 16
|
||||
:margin-bottom 16}
|
||||
:on-press (when clickable? #(re-frame/dispatch [::wallet/show-nft-details asset]))
|
||||
:on-press (when clickable? #(re-frame/dispatch [::wallet-legacy/show-nft-details asset]))
|
||||
:accessibility-label
|
||||
:nft-asset}
|
||||
(cond
|
||||
|
@ -152,9 +152,9 @@
|
|||
|
||||
(defn nft-assets
|
||||
[{:keys [num-assets address collectible-slug]}]
|
||||
(let [assets (rf/sub [:wallet/collectible-assets-by-collection-and-address address
|
||||
(let [assets (rf/sub [:wallet-legacy/collectible-assets-by-collection-and-address address
|
||||
collectible-slug])
|
||||
fetching? (rf/sub [:wallet/fetching-assets-by-collectible-slug collectible-slug])]
|
||||
fetching? (rf/sub [:wallet-legacy/fetching-assets-by-collectible-slug collectible-slug])]
|
||||
[react/view
|
||||
{:flex 1
|
||||
:flex-wrap :wrap
|
||||
|
@ -179,7 +179,7 @@
|
|||
|
||||
(defn nft-collections
|
||||
[address]
|
||||
(let [collection (rf/sub [:wallet/collectible-collection address])]
|
||||
(let [collection (rf/sub [:wallet-legacy/collectible-collection address])]
|
||||
[:<>
|
||||
(for [[index collectible] (map-indexed vector collection)]
|
||||
^{:key (:slug collectible)}
|
||||
|
@ -207,7 +207,7 @@
|
|||
:border-bottom-width 8
|
||||
:border-color colors/gray-lighter}
|
||||
:on-open #(re-frame/dispatch
|
||||
[::wallet/fetch-collectible-assets-by-owner-and-collection
|
||||
[::wallet-legacy/fetch-collectible-assets-by-owner-and-collection
|
||||
address
|
||||
(:slug collectible)
|
||||
(:owned_asset_count collectible)])
|
||||
|
@ -251,7 +251,7 @@
|
|||
|
||||
(defn nft-details-modal
|
||||
[]
|
||||
(let [nft (rf/sub [:wallet/selected-collectible])]
|
||||
(let [nft (rf/sub [:wallet-legacy/selected-collectible])]
|
||||
[react/scroll-view
|
||||
[topbar/topbar
|
||||
{:navigation {:icon :main-icons/close}
|
||||
|
|
|
@ -20,14 +20,15 @@
|
|||
(swap! debounce-timers assoc
|
||||
field-key
|
||||
(js/setTimeout
|
||||
#(re-frame/dispatch [:wallet.custom-token.ui/field-is-edited field-key (string/trim value)])
|
||||
#(re-frame/dispatch [:wallet-legacy.custom-token.ui/field-is-edited field-key
|
||||
(string/trim value)])
|
||||
500))))
|
||||
|
||||
(defview add-custom-token
|
||||
[]
|
||||
(letsubs [{:keys [contract name decimals in-progress? error error-name error-symbol]
|
||||
:as m}
|
||||
[:wallet/custom-token-screen]]
|
||||
[:wallet-legacy/custom-token-screen]]
|
||||
(let [sym (:symbol m)]
|
||||
[react/keyboard-avoiding-view {:flex 1 :background-color colors/white}
|
||||
[react/scroll-view
|
||||
|
@ -50,7 +51,7 @@
|
|||
;;tooltip covers button
|
||||
[react/view {:position :absolute :z-index 1000 :right 0 :top 10}
|
||||
[react/touchable-highlight
|
||||
{:on-press #(re-frame/dispatch [:wallet.custom-token.ui/contract-address-paste])}
|
||||
{:on-press #(re-frame/dispatch [:wallet-legacy.custom-token.ui/contract-address-paste])}
|
||||
[react/text {:style {:color colors/blue}}
|
||||
(i18n/label :t/paste)]]])
|
||||
[quo/text-input
|
||||
|
@ -117,7 +118,7 @@
|
|||
(string/blank? name)
|
||||
(string/blank? sym)
|
||||
(string/blank? decimals)))
|
||||
:on-press #(re-frame/dispatch [:wallet.custom-token.ui/add-pressed])}
|
||||
:on-press #(re-frame/dispatch [:wallet-legacy.custom-token.ui/add-pressed])}
|
||||
(i18n/label :t/add)]}]])))
|
||||
|
||||
(defview custom-token-details
|
||||
|
@ -166,4 +167,5 @@
|
|||
{:theme :negative
|
||||
:title (i18n/label :t/remove-token)
|
||||
:icon :main-icons/delete
|
||||
:on-press #(re-frame/dispatch [:wallet.custom-token.ui/remove-pressed token true])}])]]))
|
||||
:on-press #(re-frame/dispatch [:wallet-legacy.custom-token.ui/remove-pressed token
|
||||
true])}])]]))
|
||||
|
|
|
@ -27,8 +27,8 @@
|
|||
[topbar/topbar
|
||||
{:navigation {:on-press
|
||||
#(do
|
||||
(re-frame/dispatch [:wallet/recipient-modal-closed])
|
||||
(re-frame/dispatch [:search/recipient-filter-changed nil])
|
||||
(re-frame/dispatch [:wallet-legacy/recipient-modal-closed])
|
||||
(re-frame/dispatch [:wallet-legacy/search-recipient-filter-changed nil])
|
||||
(re-frame/dispatch [:navigate-back]))}
|
||||
:modal? true
|
||||
:border-bottom false
|
||||
|
@ -36,24 +36,24 @@
|
|||
:right-accessories
|
||||
[{:icon :qr
|
||||
:accessibility-label :scan-contact-code-button
|
||||
:on-press #(re-frame/dispatch [:wallet.send/qr-scanner
|
||||
:on-press #(re-frame/dispatch [:wallet-legacy.send/qr-scanner
|
||||
{:ignore-url true
|
||||
:handler :wallet.send/qr-scanner-result}])}]}])
|
||||
:handler :wallet-legacy.send/qr-scanner-result}])}]}])
|
||||
|
||||
(defonce search-active? (reagent/atom false))
|
||||
|
||||
(defn search-input-wrapper
|
||||
[]
|
||||
(let [search-filter @(re-frame/subscribe [:search/recipient-filter])]
|
||||
(let [search-filter @(re-frame/subscribe [:wallet-legacy/search-recipient-filter])]
|
||||
[react/view
|
||||
{:padding-horizontal 16
|
||||
:padding-vertical 10}
|
||||
[search-input/search-input-old
|
||||
{:search-active? search-active?
|
||||
:search-filter search-filter
|
||||
:on-cancel #(re-frame/dispatch [:search/recipient-filter-changed nil])
|
||||
:on-cancel #(re-frame/dispatch [:wallet-legacy/search-recipient-filter-changed nil])
|
||||
:on-change (fn [text]
|
||||
(re-frame/dispatch [:search/recipient-filter-changed text])
|
||||
(re-frame/dispatch [:wallet-legacy/search-recipient-filter-changed text])
|
||||
(re-frame/dispatch [:set-in [:contacts/new-identity :state] :searching])
|
||||
(debounce/debounce-and-dispatch [:contacts/set-new-identity text] 300))}]]))
|
||||
|
||||
|
@ -83,7 +83,7 @@
|
|||
[list.item/list-item
|
||||
{:icon [chat-icon/custom-icon-view-list (:name account) (:color account)]
|
||||
:title (:name account)
|
||||
:on-press #(re-frame/dispatch [:wallet.send/set-recipient (:address account)])
|
||||
:on-press #(re-frame/dispatch [:wallet-legacy.send/set-recipient (:address account)])
|
||||
:subtitle [quo/text
|
||||
{:monospace true
|
||||
:color :secondary}
|
||||
|
@ -99,7 +99,7 @@
|
|||
:on-press #(do
|
||||
(some-> ^js @scroll-view-ref
|
||||
(.scrollTo #js {:x 0 :animated true}))
|
||||
(re-frame/dispatch [:wallet.recipient/address-changed name]))
|
||||
(re-frame/dispatch [:wallet-legacy.recipient/address-changed name]))
|
||||
:icon [chat-icon/contact-icon-contacts-tab contact]}])
|
||||
|
||||
(defn empty-items
|
||||
|
@ -130,7 +130,7 @@
|
|||
[list.item/list-item
|
||||
{:title [quo/text {:monospace true}
|
||||
(utils/get-shortened-checksum-address address)]
|
||||
:on-press #(re-frame/dispatch [:wallet.recipient/address-changed address])
|
||||
:on-press #(re-frame/dispatch [:wallet-legacy.recipient/address-changed address])
|
||||
:size :small
|
||||
:accessory [react/text
|
||||
{:style {:flex-shrink 1
|
||||
|
@ -139,8 +139,8 @@
|
|||
|
||||
(defn recent-section
|
||||
[]
|
||||
(let [{:keys [from]} @(re-frame/subscribe [:wallet/prepare-transaction])
|
||||
txs @(re-frame/subscribe [:wallet/recipient-recent-txs (:address from)])
|
||||
(let [{:keys [from]} @(re-frame/subscribe [:wallet-legacy/prepare-transaction])
|
||||
txs @(re-frame/subscribe [:wallet-legacy/recipient-recent-txs (:address from)])
|
||||
cnt (count txs)]
|
||||
[section
|
||||
(i18n/label :t/recent)
|
||||
|
@ -168,12 +168,12 @@
|
|||
{:monospace true
|
||||
:color :secondary}
|
||||
short-address])
|
||||
:on-press #(re-frame/dispatch [:wallet.send/set-recipient address])
|
||||
:on-press #(re-frame/dispatch [:wallet-legacy.send/set-recipient address])
|
||||
:size (when noname? :small)}]))
|
||||
|
||||
(views/defview fav-section
|
||||
[]
|
||||
(views/letsubs [favourites [:wallet/favourites-filtered]]
|
||||
(views/letsubs [favourites [:wallet-legacy/favourites-filtered]]
|
||||
(let [cnt (count favourites)]
|
||||
[section
|
||||
(i18n/label :t/favourites)
|
||||
|
@ -206,7 +206,7 @@
|
|||
(views/defview search-results
|
||||
[]
|
||||
(views/letsubs [contacts [:contacts/active-with-ens-names]
|
||||
favourites [:wallet/favourites-filtered]
|
||||
favourites [:wallet-legacy/favourites-filtered]
|
||||
accounts [:accounts-for-recipient]]
|
||||
[react/view
|
||||
(for [account accounts]
|
||||
|
@ -233,7 +233,7 @@
|
|||
|
||||
(views/defview new-favourite
|
||||
[]
|
||||
(views/letsubs [{:keys [resolved-address]} [:wallet/recipient]
|
||||
(views/letsubs [{:keys [resolved-address]} [:wallet-legacy/recipient]
|
||||
fav-name (atom "")]
|
||||
[kb-presentation/keyboard-avoiding-view {:style {:flex 1}}
|
||||
[react/view {:flex 1}
|
||||
|
@ -265,13 +265,14 @@
|
|||
[quo/button
|
||||
{:accessibility-label :add-fav
|
||||
:type :secondary
|
||||
:on-press #(re-frame/dispatch [:wallet/add-favourite resolved-address @fav-name])}
|
||||
:on-press #(re-frame/dispatch [:wallet-legacy/add-favourite resolved-address
|
||||
@fav-name])}
|
||||
(i18n/label :t/add)]}]]]))
|
||||
|
||||
(views/defview recipient
|
||||
[]
|
||||
(views/letsubs [{:keys [address resolved-address searching]} [:wallet/recipient]
|
||||
search-filter [:search/recipient-filter]]
|
||||
(views/letsubs [{:keys [address resolved-address searching]} [:wallet-legacy/recipient]
|
||||
search-filter [:wallet-legacy/search-recipient-filter]]
|
||||
(let [disabled? (or searching (not resolved-address))]
|
||||
[kb-presentation/keyboard-avoiding-view
|
||||
{:style {:flex 1}
|
||||
|
@ -295,7 +296,7 @@
|
|||
[quo/text (i18n/label :t/address-or-ens-name)]
|
||||
[quo/button
|
||||
{:type :secondary
|
||||
:on-press #(re-frame/dispatch [:wallet.recipient/address-paste-pressed])}
|
||||
:on-press #(re-frame/dispatch [:wallet-legacy.recipient/address-paste-pressed])}
|
||||
(i18n/label :t/paste)]]
|
||||
[quo/text-input
|
||||
{:multiline true
|
||||
|
@ -304,11 +305,12 @@
|
|||
:placeholder (i18n/label :t/recipient-code-placeholder)
|
||||
:text-align-vertical :top
|
||||
:on-change-text #(do
|
||||
(re-frame/dispatch [:set-in [:wallet/recipient :searching]
|
||||
(re-frame/dispatch [:set-in [:wallet-legacy/recipient :searching]
|
||||
:searching])
|
||||
(debounce/debounce-and-dispatch [:wallet.recipient/address-changed
|
||||
(utils.string/safe-trim %)]
|
||||
600))
|
||||
(debounce/debounce-and-dispatch
|
||||
[:wallet-legacy.recipient/address-changed
|
||||
(utils.string/safe-trim %)]
|
||||
600))
|
||||
:accessibility-label :recipient-address-input}]]
|
||||
[react/view {:align-items :center :height 30 :padding-bottom 8}
|
||||
(if searching
|
||||
|
@ -342,5 +344,6 @@
|
|||
:type :secondary
|
||||
:after :main-icons/next
|
||||
:disabled disabled?
|
||||
:on-press #(re-frame/dispatch [:wallet.send/set-recipient resolved-address])}
|
||||
:on-press #(re-frame/dispatch [:wallet-legacy.send/set-recipient
|
||||
resolved-address])}
|
||||
(i18n/label :t/done)]}]]])))
|
||||
|
|
|
@ -37,6 +37,6 @@
|
|||
:padding-horizontal 16
|
||||
:padding-bottom 16}
|
||||
[quo/button
|
||||
{:on-press #(re-frame/dispatch [:wallet.accounts/share address])
|
||||
{:on-press #(re-frame/dispatch [:wallet-legacy.accounts/share address])
|
||||
:accessibility-label :share-address-button}
|
||||
(i18n/label :t/share-address)]]]))
|
||||
|
|
|
@ -11,13 +11,13 @@
|
|||
(defn asset
|
||||
[currency token]
|
||||
[react/touchable-highlight
|
||||
{:on-press #(re-frame/dispatch [:wallet.send/set-symbol (:symbol token)])}
|
||||
{:on-press #(re-frame/dispatch [:wallet-legacy.send/set-symbol (:symbol token)])}
|
||||
[common/render-asset token nil nil (:code currency)]])
|
||||
|
||||
(views/defview assets
|
||||
[address]
|
||||
(views/letsubs [{:keys [tokens]} [:wallet/visible-assets-with-values address]
|
||||
currency [:wallet/currency]]
|
||||
(views/letsubs [{:keys [tokens]} [:wallet-legacy/visible-assets-with-values address]
|
||||
currency [:wallet-legacy/currency]]
|
||||
[react/view
|
||||
{:style {:height 300}}
|
||||
[list/flat-list
|
||||
|
@ -47,6 +47,7 @@
|
|||
[]
|
||||
(re-frame/dispatch [:bottom-sheet/hide-old])
|
||||
(js/setTimeout #(re-frame/dispatch [:bottom-sheet/show-sheet-old
|
||||
{:content (fn [] [accounts-list :to :wallet.send/set-field])
|
||||
{:content (fn [] [accounts-list :to
|
||||
:wallet-legacy.send/set-field])
|
||||
:content-height 300}])
|
||||
400))
|
||||
|
|
|
@ -98,7 +98,8 @@
|
|||
:accessibility-label :choose-recipient-button
|
||||
:on-press #(do
|
||||
(re-frame/dispatch [:dismiss-keyboard])
|
||||
(re-frame/dispatch [:wallet.send/navigate-to-recipient-code]))
|
||||
(re-frame/dispatch
|
||||
[:wallet-legacy.send/navigate-to-recipient-code]))
|
||||
:chevron true}
|
||||
(when-not contact
|
||||
{:icon :main-icons/add
|
||||
|
@ -109,7 +110,7 @@
|
|||
[react/touchable-highlight
|
||||
{:on-press
|
||||
#(when token
|
||||
(re-frame/dispatch [:wallet.send/set-max-amount token]))}
|
||||
(re-frame/dispatch [:wallet-legacy.send/set-max-amount token]))}
|
||||
[react/view {:style (styles/set-max-button)}
|
||||
[react/text {:style {:color colors/blue}} (i18n/label :t/set-max)]]])
|
||||
|
||||
|
@ -172,10 +173,10 @@
|
|||
(views/defview request-transaction
|
||||
[_]
|
||||
(views/letsubs [{:keys [amount-error amount-text from token sign-enabled?] :as tx}
|
||||
[:wallet.request/prepare-transaction-with-balance]
|
||||
[:wallet-legacy.request/prepare-transaction-with-balance]
|
||||
window-width [:dimensions/window-width]
|
||||
prices [:prices]
|
||||
wallet-currency [:wallet/currency]]
|
||||
wallet-currency [:wallet-legacy/currency]]
|
||||
[kb-presentation/keyboard-avoiding-view {:style {:flex 1}}
|
||||
[:<>
|
||||
[react/scroll-view
|
||||
|
@ -196,7 +197,7 @@
|
|||
:accessibility-label :amount-input
|
||||
:default-value amount-text
|
||||
:auto-focus true
|
||||
:on-change-text #(re-frame/dispatch [:wallet.request/set-amount-text %])
|
||||
:on-change-text #(re-frame/dispatch [:wallet-legacy.request/set-amount-text %])
|
||||
:placeholder "0.0 "}]
|
||||
[asset-selector tx window-width]
|
||||
(when amount-error
|
||||
|
@ -209,7 +210,7 @@
|
|||
(i18n/label :t/to-capitalized)]
|
||||
[react/view {:flex-direction :row :flex 1 :align-items :center}
|
||||
[react/view {:flex 1}
|
||||
[render-account from token :wallet.request/set-field]]]]]
|
||||
[render-account from token :wallet-legacy.request/set-field]]]]]
|
||||
[toolbar/toolbar
|
||||
{:show-border? true
|
||||
:right
|
||||
|
@ -220,7 +221,7 @@
|
|||
:disabled (not sign-enabled?)
|
||||
:on-press #(do
|
||||
(re-frame/dispatch
|
||||
[:wallet.ui/request-transaction-button-clicked tx])
|
||||
[:wallet-legacy.ui/request-transaction-button-clicked tx])
|
||||
(re-frame/dispatch [:navigate-back]))}
|
||||
(i18n/label :t/wallet-request)]}]]]))
|
||||
|
||||
|
@ -230,9 +231,9 @@
|
|||
request?
|
||||
from token to sign-enabled? from-chat?]
|
||||
:as tx}
|
||||
[:wallet.send/prepare-transaction-with-balance]
|
||||
[:wallet-legacy.send/prepare-transaction-with-balance]
|
||||
prices [:prices]
|
||||
wallet-currency [:wallet/currency]
|
||||
wallet-currency [:wallet-legacy/currency]
|
||||
window-width [:dimensions/window-width]]
|
||||
(let [to-norm (address/normalized-hex (if (string? to) to (:address to)))]
|
||||
[kb-presentation/keyboard-avoiding-view {:style {:flex 1}}
|
||||
|
@ -244,7 +245,7 @@
|
|||
:icon-name :i/arrow-left
|
||||
:on-press (fn []
|
||||
(re-frame/dispatch [:navigate-back])
|
||||
(re-frame/dispatch [:wallet/cancel-transaction-command]))
|
||||
(re-frame/dispatch [:wallet-legacy/cancel-transaction-command]))
|
||||
:accessibility-label :back-button}]
|
||||
[react/scroll-view
|
||||
{:style {:flex 1}
|
||||
|
@ -266,7 +267,7 @@
|
|||
:default-value amount-text
|
||||
:editable (not request?)
|
||||
:auto-focus true
|
||||
:on-change-text #(re-frame/dispatch [:wallet.send/set-amount-text %])
|
||||
:on-change-text #(re-frame/dispatch [:wallet-legacy.send/set-amount-text %])
|
||||
:placeholder "0.0 "}]
|
||||
[asset-selector tx window-width]
|
||||
(when amount-error
|
||||
|
@ -283,7 +284,7 @@
|
|||
[components.core/list-header (i18n/label :t/from-capitalized)]
|
||||
[react/view {:flex-direction :row :flex 1 :align-items :center}
|
||||
[react/view {:flex 1}
|
||||
[render-account from token :wallet.send/set-field]]]
|
||||
[render-account from token :wallet-legacy.send/set-field]]]
|
||||
[components.core/list-header
|
||||
(i18n/label :t/to-capitalized)]
|
||||
[react/view {:flex-direction :row :flex 1 :align-items :center}
|
||||
|
@ -302,11 +303,11 @@
|
|||
(re-frame/dispatch
|
||||
[(cond
|
||||
request?
|
||||
:wallet.ui/sign-transaction-button-clicked-from-request
|
||||
:wallet-legacy.ui/sign-transaction-button-clicked-from-request
|
||||
from-chat?
|
||||
:wallet.ui/sign-transaction-button-clicked-from-chat
|
||||
:wallet-legacy.ui/sign-transaction-button-clicked-from-chat
|
||||
:else
|
||||
:wallet.ui/sign-transaction-button-clicked) tx]))}
|
||||
:wallet-legacy.ui/sign-transaction-button-clicked) tx]))}
|
||||
|
||||
(if (and (not request?) from-chat? (not to-norm))
|
||||
(i18n/label :t/wallet-send)
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
[topbar/topbar
|
||||
{:title (i18n/label :t/wallet-assets)
|
||||
:navigation
|
||||
{:on-press #(re-frame/dispatch [:wallet.settings.ui/navigate-back-pressed])}}])
|
||||
{:on-press #(re-frame/dispatch [:wallet-legacy.settings.ui/navigate-back-pressed])}}])
|
||||
|
||||
(defn hide-sheet-and-dispatch
|
||||
[event]
|
||||
|
@ -44,7 +44,7 @@
|
|||
:title (i18n/label :t/remove-token)
|
||||
:icon :main-icons/delete
|
||||
:on-press #(hide-sheet-and-dispatch
|
||||
[:wallet.custom-token.ui/remove-pressed token])}])]))
|
||||
[:wallet-legacy.custom-token.ui/remove-pressed token])}])]))
|
||||
|
||||
(defn render-token
|
||||
[_]
|
||||
|
@ -69,7 +69,8 @@
|
|||
[chat-icon/custom-icon-view-list title color])
|
||||
:title title
|
||||
:subtitle (name sym)
|
||||
:on-press #(re-frame/dispatch [:wallet.settings/toggle-visible-token (keyword sym)
|
||||
:on-press #(re-frame/dispatch [:wallet-legacy.settings/toggle-visible-token
|
||||
(keyword sym)
|
||||
(not checked?)])
|
||||
:on-long-press #(re-frame/dispatch [:bottom-sheet/show-sheet-old
|
||||
{:content (custom-token-actions-view token)}])}])}))
|
||||
|
@ -82,9 +83,9 @@
|
|||
[]
|
||||
(letsubs [{search-filter :search-filter
|
||||
{custom-tokens true default-tokens nil} :tokens}
|
||||
[:wallet/filtered-grouped-chain-tokens]]
|
||||
[:wallet-legacy/filtered-grouped-chain-tokens]]
|
||||
{:component-will-unmount #(do
|
||||
(re-frame/dispatch [:search/token-filter-changed nil])
|
||||
(re-frame/dispatch [:wallet-legacy/search-token-filter-changed nil])
|
||||
(reset! search-active? false))}
|
||||
[react/view {:flex 1 :background-color colors/white}
|
||||
[toolbar]
|
||||
|
@ -95,12 +96,12 @@
|
|||
[search-input/search-input-old
|
||||
{:search-active? search-active?
|
||||
:search-filter search-filter
|
||||
:on-cancel #(re-frame/dispatch [:search/token-filter-changed nil])
|
||||
:on-cancel #(re-frame/dispatch [:wallet-legacy/search-token-filter-changed nil])
|
||||
:on-focus (fn [search-filter]
|
||||
(when-not search-filter
|
||||
(re-frame/dispatch [:search/token-filter-changed ""])))
|
||||
(re-frame/dispatch [:wallet-legacy/search-token-filter-changed ""])))
|
||||
:on-change (fn [text]
|
||||
(re-frame/dispatch [:search/token-filter-changed text]))}]]
|
||||
(re-frame/dispatch [:wallet-legacy/search-token-filter-changed text]))}]]
|
||||
[list/section-list
|
||||
{:header
|
||||
[react/view {:margin-top 16}
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
[status-im.ui.components.toolbar :as toolbar]
|
||||
[status-im.ui.components.topbar :as topbar]
|
||||
[status-im.ui.screens.wallet.components.views :as wallet.components]
|
||||
[status-im.wallet.swap.core :as wallet.swap]
|
||||
[status-im.wallet.swap.core :as wallet-legacy.swap]
|
||||
[status-im.wallet.utils :as wallet.utils]
|
||||
[utils.i18n :as i18n]
|
||||
[utils.re-frame :as rf]))
|
||||
|
@ -49,9 +49,9 @@
|
|||
(defn asset-selector
|
||||
[]
|
||||
(let [{:keys [address]} (rf/sub [:multiaccount/current-account])
|
||||
{:keys [tokens]} (rf/sub [:wallet/visible-assets-with-values address])
|
||||
source? (rf/sub [:wallet/modal-selecting-source-token?])
|
||||
currency (rf/sub [:wallet/currency])]
|
||||
{:keys [tokens]} (rf/sub [:wallet-legacy/visible-assets-with-values address])
|
||||
source? (rf/sub [:wallet-legacy/modal-selecting-source-token?])
|
||||
currency (rf/sub [:wallet-legacy/currency])]
|
||||
[:<>
|
||||
[topbar/topbar
|
||||
{:title (if source?
|
||||
|
@ -69,8 +69,8 @@
|
|||
{:token token
|
||||
:on-press #(re-frame/dispatch
|
||||
[(if source?
|
||||
::wallet.swap/set-from-token
|
||||
::wallet.swap/set-to-token)
|
||||
::wallet-legacy.swap/set-from-token
|
||||
::wallet-legacy.swap/set-to-token)
|
||||
(:symbol token)])
|
||||
:currency (:code currency)}])]]))
|
||||
|
||||
|
@ -92,7 +92,7 @@
|
|||
[{:keys [token source?]}]
|
||||
(let [token-icon-source (-> token :icon :source)]
|
||||
[react/touchable-highlight
|
||||
{:on-press #(re-frame/dispatch [::wallet.swap/open-asset-selector-modal source?])}
|
||||
{:on-press #(re-frame/dispatch [::wallet-legacy.swap/open-asset-selector-modal source?])}
|
||||
[react/view
|
||||
{:style {:flex-direction :row
|
||||
:align-items :center
|
||||
|
@ -139,7 +139,7 @@
|
|||
:editable true
|
||||
:auto-focus true
|
||||
:on-change-text #(re-frame/dispatch [(when source?
|
||||
::wallet.swap/set-from-token-amount)
|
||||
::wallet-legacy.swap/set-from-token-amount)
|
||||
%])
|
||||
:placeholder "0.0"}]]
|
||||
[token-display
|
||||
|
@ -152,7 +152,7 @@
|
|||
{:margin-vertical 8}
|
||||
[quo/separator]
|
||||
[react/touchable-opacity
|
||||
{:on-press #(re-frame/dispatch [::wallet.swap/switch-from-token-with-to])}
|
||||
{:on-press #(re-frame/dispatch [::wallet-legacy.swap/switch-from-token-with-to])}
|
||||
[react/view
|
||||
{:style {:background-color colors/gray-lighter
|
||||
:width 40
|
||||
|
@ -412,7 +412,7 @@
|
|||
[pill-button
|
||||
{:label (i18n/label :t/switch-to-simple-interface)
|
||||
:margin-left 0
|
||||
:on-press #(re-frame/dispatch [::wallet.swap/set-advanced-mode false])}]]
|
||||
:on-press #(re-frame/dispatch [::wallet-legacy.swap/set-advanced-mode false])}]]
|
||||
[transaction-fee-card
|
||||
{:gas-amount 21000
|
||||
:price-limit 74
|
||||
|
@ -432,10 +432,10 @@
|
|||
[]
|
||||
(let [{:keys [name]}
|
||||
(rf/sub [:multiaccount/current-account])
|
||||
all-tokens (rf/sub [:wallet/all-tokens])
|
||||
from-symbol (rf/sub [:wallet/swap-from-token])
|
||||
to-symbol (rf/sub [:wallet/swap-to-token])
|
||||
advanced-mode? (rf/sub [:wallet/swap-advanced-mode?])
|
||||
all-tokens (rf/sub [:wallet-legacy/all-tokens])
|
||||
from-symbol (rf/sub [:wallet-legacy/swap-from-token])
|
||||
to-symbol (rf/sub [:wallet-legacy/swap-to-token])
|
||||
advanced-mode? (rf/sub [:wallet-legacy/swap-advanced-mode?])
|
||||
amount "0.02"
|
||||
from-token (tokens/symbol->token all-tokens (or from-symbol :DGX))
|
||||
to-token (tokens/symbol->token all-tokens (or to-symbol :SNT))]
|
||||
|
@ -481,12 +481,12 @@
|
|||
[quo/text {} (i18n/label :t/priority)]
|
||||
[pill-button
|
||||
{:label (i18n/label :t/advanced)
|
||||
:on-press #(re-frame/dispatch [::wallet.swap/set-advanced-mode true])}]]
|
||||
:on-press #(re-frame/dispatch [::wallet-legacy.swap/set-advanced-mode true])}]]
|
||||
|
||||
[quo/text {:color :secondary} "0.0034 ETH/ $ 8.09"]])
|
||||
|
||||
(comment
|
||||
(re-frame/dispatch [::wallet.swap/set-advanced-mode false]))
|
||||
(re-frame/dispatch [::wallet-legacy.swap/set-advanced-mode false]))
|
||||
|
||||
(when-not advanced-mode?
|
||||
[react/view {:style {:padding-horizontal 16}}
|
||||
|
|
|
@ -80,7 +80,7 @@
|
|||
|
||||
(defn chain-explorer-link
|
||||
[address]
|
||||
(let [link @(re-frame/subscribe [:wallet/chain-explorer-link address])]
|
||||
(let [link @(re-frame/subscribe [:wallet-legacy/chain-explorer-link address])]
|
||||
[react/touchable-highlight
|
||||
{:on-press #(when link
|
||||
(.openURL ^js react/linking link))}
|
||||
|
@ -127,13 +127,14 @@
|
|||
|
||||
(defn history-list
|
||||
[{:keys [transaction-history-sections total]} address]
|
||||
(let [fetching-recent-history? @(re-frame/subscribe [:wallet/fetching-recent-tx-history? address])
|
||||
fetching-more-history? @(re-frame/subscribe [:wallet/fetching-tx-history? address])
|
||||
(let [fetching-recent-history? @(re-frame/subscribe [:wallet-legacy/fetching-recent-tx-history?
|
||||
address])
|
||||
fetching-more-history? @(re-frame/subscribe [:wallet-legacy/fetching-tx-history? address])
|
||||
keycard-account? @(re-frame/subscribe [:multiaccounts/keycard-account?])
|
||||
custom-rpc-node? @(re-frame/subscribe [:custom-rpc-node])
|
||||
non-archival-rpc-node? @(re-frame/subscribe [:wallet/non-archival-node])
|
||||
binance-chain? @(re-frame/subscribe [:wallet/binance-chain?])
|
||||
all-fetched? @(re-frame/subscribe [:wallet/tx-history-fetched? address])
|
||||
non-archival-rpc-node? @(re-frame/subscribe [:wallet-legacy/non-archival-node])
|
||||
binance-chain? @(re-frame/subscribe [:wallet-legacy/binance-chain?])
|
||||
all-fetched? @(re-frame/subscribe [:wallet-legacy/tx-history-fetched? address])
|
||||
syncing-allowed? @(re-frame/subscribe [:mobile-network/syncing-allowed?])]
|
||||
[react/view {:flex 1}
|
||||
[chain-explorer-link address]
|
||||
|
@ -280,7 +281,7 @@
|
|||
(letsubs [{:keys [url type confirmations confirmations-progress
|
||||
date amount-text currency-text]
|
||||
:as transaction}
|
||||
[:wallet.transactions.details/screen tx-hash address]]
|
||||
[:wallet-legacy.transactions.details/screen tx-hash address]]
|
||||
[react/view {:flex 1}
|
||||
;;TODO options should be replaced by bottom sheet ,and topbar should be used here
|
||||
[topbar/topbar
|
||||
|
|
|
@ -115,7 +115,7 @@
|
|||
[cofx data]
|
||||
(rf/merge cofx
|
||||
(choose-recipient/parse-eip681-uri-and-resolve-ens data true)
|
||||
(navigation/navigate-to :wallet nil)))
|
||||
(navigation/navigate-to :wallet-legacy nil)))
|
||||
|
||||
(defn existing-account?
|
||||
[{:keys [db]} address]
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
[status-im.utils.deprecated-types :as types]
|
||||
[status-im.utils.hex :as hex]
|
||||
[status-im.utils.mobile-sync :as utils.mobile-sync]
|
||||
[status-im.wallet.core :as wallet]
|
||||
[status-im.wallet.core :as wallet-legacy]
|
||||
[status-im.wallet.prices :as prices]
|
||||
[status-im2.constants :as constants]
|
||||
[status-im2.navigation.events :as navigation]
|
||||
|
@ -27,7 +27,7 @@
|
|||
[utils.security.core :as security]))
|
||||
|
||||
(rf/defn start-adding-new-account
|
||||
{:events [:wallet.accounts/start-adding-new-account]}
|
||||
{:events [:wallet-legacy.accounts/start-adding-new-account]}
|
||||
[{:keys [db] :as cofx} {:keys [type] :as add-account}]
|
||||
(let [{:keys [latest-derived-path]} (:profile/profile db)
|
||||
path-num (inc latest-derived-path)
|
||||
|
@ -54,7 +54,7 @@
|
|||
(let [{:keys [error publicKey address]} (types/json->clj result)]
|
||||
(if error
|
||||
(re-frame/dispatch [::new-account-error :account-error error])
|
||||
(re-frame/dispatch [:wallet.accounts/account-stored
|
||||
(re-frame/dispatch [:wallet-legacy.accounts/account-stored
|
||||
{:address address
|
||||
:public-key publicKey
|
||||
:type type
|
||||
|
@ -93,7 +93,7 @@
|
|||
(if error
|
||||
(re-frame/dispatch [::new-account-error :account-error error])
|
||||
(re-frame/dispatch
|
||||
[:wallet.accounts/account-stored
|
||||
[:wallet-legacy.accounts/account-stored
|
||||
{:address address
|
||||
:public-key publicKey
|
||||
:key-uid keyUid
|
||||
|
@ -123,7 +123,8 @@
|
|||
(native-module/verify
|
||||
address
|
||||
hashed-password
|
||||
#(re-frame/dispatch [:wallet.accounts/add-new-account-password-verifyied % hashed-password]))))
|
||||
#(re-frame/dispatch [:wallet-legacy.accounts/add-new-account-password-verifyied %
|
||||
hashed-password]))))
|
||||
|
||||
(re-frame/reg-fx
|
||||
::generate-account
|
||||
|
@ -166,11 +167,11 @@
|
|||
[{:keys [db]} passphrase hashed-password]
|
||||
{:db (assoc-in db [:add-account :step] :generating)
|
||||
::multiaccounts/validate-mnemonic [(security/safe-unmask-data passphrase)
|
||||
#(re-frame/dispatch [:wallet.accounts/seed-validated
|
||||
#(re-frame/dispatch [:wallet-legacy.accounts/seed-validated
|
||||
% passphrase hashed-password])]})
|
||||
|
||||
(rf/defn new-account-seed-validated
|
||||
{:events [:wallet.accounts/seed-validated]}
|
||||
{:events [:wallet-legacy.accounts/seed-validated]}
|
||||
[{:keys [db] :as cofx} phrase-warnings passphrase hashed-password]
|
||||
(let [error (:error (types/json->clj phrase-warnings))
|
||||
{:keys [key-uid]} (:profile/profile db)]
|
||||
|
@ -220,7 +221,7 @@
|
|||
(rf/merge cofx
|
||||
{:json-rpc/call [{:method method
|
||||
:params params
|
||||
:on-success #(re-frame/dispatch [::wallet/restart])}]
|
||||
:on-success #(re-frame/dispatch [::wallet-legacy/restart])}]
|
||||
:db (-> db
|
||||
(assoc :profile/wallet-accounts new-accounts)
|
||||
(dissoc :add-account))}
|
||||
|
@ -231,7 +232,7 @@
|
|||
{}))))))
|
||||
|
||||
(rf/defn account-generated
|
||||
{:events [:wallet.accounts/account-stored]}
|
||||
{:events [:wallet-legacy.accounts/account-stored]}
|
||||
[{:keys [db] :as cofx} {:keys [address] :as account}]
|
||||
(let [accounts (:profile/wallet-accounts db)]
|
||||
(if (some #(when (= (:address %) address) %) accounts)
|
||||
|
@ -240,9 +241,9 @@
|
|||
{:db (update-in db [:add-account :account] merge account)}
|
||||
(save-new-account)
|
||||
(if (utils.mobile-sync/syncing-allowed? cofx)
|
||||
(wallet/set-max-block address 0)
|
||||
(wallet/update-balances nil true))
|
||||
(wallet/fetch-collectibles-collection)
|
||||
(wallet-legacy/set-max-block address 0)
|
||||
(wallet-legacy/update-balances nil true))
|
||||
(wallet-legacy/fetch-collectibles-collection)
|
||||
(prices/update-prices)
|
||||
(navigation/navigate-back)))))
|
||||
|
||||
|
@ -254,7 +255,7 @@
|
|||
:type :watch})))
|
||||
|
||||
(rf/defn add-new-account-password-verifyied
|
||||
{:events [:wallet.accounts/add-new-account-password-verifyied]}
|
||||
{:events [:wallet-legacy.accounts/add-new-account-password-verifyied]}
|
||||
[{:keys [db] :as cofx} result hashed-password]
|
||||
(let [{:keys [error]} (types/json->clj result)]
|
||||
(if (not (string/blank? error))
|
||||
|
@ -274,7 +275,7 @@
|
|||
:hashed-password hashed-password}})
|
||||
|
||||
(rf/defn set-account-to-watch
|
||||
{:events [:wallet.accounts/set-account-to-watch]}
|
||||
{:events [:wallet-legacy.accounts/set-account-to-watch]}
|
||||
[{:keys [db]} account]
|
||||
(let [name? (and (>= (count account) 3)
|
||||
(not (hex/valid-hex? account)))]
|
||||
|
@ -286,10 +287,10 @@
|
|||
[(chain/chain-id db)
|
||||
(stateofus/ens-name-parse account)
|
||||
#(re-frame/dispatch
|
||||
[:wallet.accounts/set-account-to-watch %])]))))
|
||||
[:wallet-legacy.accounts/set-account-to-watch %])]))))
|
||||
|
||||
(rf/defn add-new-account
|
||||
{:events [:wallet.accounts/add-new-account]}
|
||||
{:events [:wallet-legacy.accounts/add-new-account]}
|
||||
[{:keys [db] :as cofx} hashed-password]
|
||||
(let [{:keys [type step]} (:add-account db)]
|
||||
(log/debug "[wallet] add-new-account"
|
||||
|
@ -306,7 +307,7 @@
|
|||
nil))))
|
||||
|
||||
(rf/defn save-account
|
||||
{:events [:wallet.accounts/save-account]}
|
||||
{:events [:wallet-legacy.accounts/save-account]}
|
||||
[{:keys [db]} account {:keys [name color hidden]}]
|
||||
(let [accounts (:profile/wallet-accounts db)
|
||||
new-account (cond-> account
|
||||
|
@ -320,7 +321,7 @@
|
|||
:db (assoc db :profile/wallet-accounts new-accounts)}))
|
||||
|
||||
(rf/defn delete-account
|
||||
{:events [:wallet.accounts/delete-account]}
|
||||
{:events [:wallet-legacy.accounts/delete-account]}
|
||||
[{:keys [db] :as cofx} account]
|
||||
(let [accounts (:profile/wallet-accounts db)
|
||||
new-accounts (vec (remove #(= account %) accounts))
|
||||
|
@ -331,7 +332,7 @@
|
|||
:on-success #()}]
|
||||
:db (-> db
|
||||
(assoc :profile/wallet-accounts new-accounts)
|
||||
(update-in [:wallet :accounts] dissoc deleted-address))}
|
||||
(update-in [:wallet-legacy :accounts] dissoc deleted-address))}
|
||||
(navigation/pop-to-root :shell-stack))))
|
||||
|
||||
(re-frame/reg-fx
|
||||
|
@ -349,7 +350,7 @@
|
|||
(on-success))))))))
|
||||
|
||||
(rf/defn delete-account-key
|
||||
{:events [:wallet.accounts/delete-key]}
|
||||
{:events [:wallet-legacy.accounts/delete-key]}
|
||||
[{:keys [db] :as cofx} account password on-error]
|
||||
(let [deleted-address (:address account)
|
||||
dapps-address (get-in cofx [:db :profile/profile :dapps-address])]
|
||||
|
@ -362,11 +363,11 @@
|
|||
:password password
|
||||
:on-success #(do
|
||||
(re-frame/dispatch [:hide-popover])
|
||||
(re-frame/dispatch [:wallet.accounts/delete-account account]))
|
||||
(re-frame/dispatch [:wallet-legacy.accounts/delete-account account]))
|
||||
:on-error on-error}})))
|
||||
|
||||
(rf/defn view-only-qr-scanner-result
|
||||
{:events [:wallet.add-new/qr-scanner-result]}
|
||||
{:events [:wallet-legacy.add-new/qr-scanner-result]}
|
||||
[{db :db :as cofx} data _]
|
||||
(let [address (:address (eip681/parse-uri data))]
|
||||
(rf/merge cofx
|
||||
|
@ -384,7 +385,7 @@
|
|||
(list-selection/open-share obj)))
|
||||
|
||||
(rf/defn wallet-accounts-share
|
||||
{:events [:wallet.accounts/share]}
|
||||
{:events [:wallet-legacy.accounts/share]}
|
||||
[_ address]
|
||||
{:list.selection/open-share {:message (eip55/address->checksum address)}})
|
||||
|
||||
|
|
|
@ -19,23 +19,23 @@
|
|||
|
||||
;; FIXME(Ferossgp): Should be part of QR scanner not wallet
|
||||
(rf/defn toggle-flashlight
|
||||
{:events [:wallet/toggle-flashlight]}
|
||||
{:events [:wallet-legacy/toggle-flashlight]}
|
||||
[{:keys [db]}]
|
||||
(let [flashlight-state (get-in db [:wallet :send-transaction :camera-flashlight])
|
||||
(let [flashlight-state (get-in db [:wallet-legacy :send-transaction :camera-flashlight])
|
||||
toggled-state (if (= :on flashlight-state) :off :on)]
|
||||
{:db (assoc-in db [:wallet :send-transaction :camera-flashlight] toggled-state)}))
|
||||
{:db (assoc-in db [:wallet-legacy :send-transaction :camera-flashlight] toggled-state)}))
|
||||
|
||||
(defn- find-address-name
|
||||
[db address]
|
||||
(:name (contact.db/find-contact-by-address (:contacts/contacts db) address)))
|
||||
|
||||
(rf/defn set-recipient
|
||||
{:events [:wallet.send/set-recipient]}
|
||||
{:events [:wallet-legacy.send/set-recipient]}
|
||||
[{:keys [db]} address]
|
||||
{:db (-> db
|
||||
(dissoc :wallet/recipient)
|
||||
(dissoc :wallet-legacy/recipient)
|
||||
(assoc-in [:ui/search :recipient-filter] nil)
|
||||
(assoc-in [:wallet/prepare-transaction :to] address))
|
||||
(assoc-in [:wallet-legacy/prepare-transaction :to] address))
|
||||
:dispatch [:navigate-back]})
|
||||
|
||||
(re-frame/reg-fx
|
||||
|
@ -65,7 +65,7 @@
|
|||
:or {sym :ETH}}
|
||||
all-tokens]
|
||||
(assoc db
|
||||
:wallet/prepare-transaction
|
||||
:wallet-legacy/prepare-transaction
|
||||
(cond-> {:to address
|
||||
:to-name (or name (find-address-name db address))
|
||||
:from (wallet.utils/get-default-account
|
||||
|
@ -80,26 +80,26 @@
|
|||
sym (assoc :symbol sym))))
|
||||
|
||||
(rf/defn request-uri-parsed
|
||||
{:events [:wallet/request-uri-parsed]}
|
||||
[{{:networks/keys [networks current-network]
|
||||
:wallet/keys [all-tokens]
|
||||
:as db}
|
||||
{:events [:wallet-legacy/request-uri-parsed]}
|
||||
[{{:networks/keys [networks current-network]
|
||||
:wallet-legacy/keys [all-tokens]
|
||||
:as db}
|
||||
:db}
|
||||
{:keys [chain-id] :as data}
|
||||
uri]
|
||||
(let [{:keys [address gasPrice] :as details}
|
||||
(eip681/extract-request-details data all-tokens)]
|
||||
(if address
|
||||
(if (:wallet/recipient db)
|
||||
(if (:wallet-legacy/recipient db)
|
||||
{:db (update db
|
||||
:wallet/recipient assoc
|
||||
:resolved-address address
|
||||
:address address)}
|
||||
(if (:wallet/prepare-transaction db)
|
||||
:wallet-legacy/recipient assoc
|
||||
:resolved-address address
|
||||
:address address)}
|
||||
(if (:wallet-legacy/prepare-transaction db)
|
||||
{:db (update db
|
||||
:wallet/prepare-transaction assoc
|
||||
:to address
|
||||
:to-name (find-address-name db address))}
|
||||
:wallet-legacy/prepare-transaction assoc
|
||||
:to address
|
||||
:to-name (find-address-name db address))}
|
||||
(let [current-chain-id (get-in networks [current-network :config :NetworkId])]
|
||||
(merge {:db (fill-prepare-transaction-details db details all-tokens)
|
||||
:dispatch [:open-modal :prepare-send-transaction]}
|
||||
|
@ -107,7 +107,8 @@
|
|||
{:signing/update-gas-price
|
||||
{:success-callback
|
||||
#(re-frame/dispatch
|
||||
[:wallet.send/update-gas-price-success :wallet/prepare-transaction %])
|
||||
[:wallet-legacy.send/update-gas-price-success :wallet-legacy/prepare-transaction
|
||||
%])
|
||||
:network-id (get-in (chain/current-network db)
|
||||
[:config :NetworkId])}})
|
||||
(when (and chain-id (not= current-chain-id chain-id))
|
||||
|
@ -116,14 +117,14 @@
|
|||
{:ui/show-error (i18n/label :t/wallet-invalid-address {:data uri})})))
|
||||
|
||||
(rf/defn qr-scanner-allowed
|
||||
{:events [:wallet.send/qr-scanner]}
|
||||
{:events [:wallet-legacy.send/qr-scanner]}
|
||||
[{:keys [db] :as cofx} options]
|
||||
(rf/merge cofx
|
||||
(bottom-sheet/hide-bottom-sheet-old)
|
||||
(qr-scaner/scan-qr-code options)))
|
||||
|
||||
(rf/defn parse-eip681-uri-and-resolve-ens
|
||||
{:events [:wallet/parse-eip681-uri-and-resolve-ens]}
|
||||
{:events [:wallet-legacy/parse-eip681-uri-and-resolve-ens]}
|
||||
[{db :db :as cofx} {:keys [message uri paths ens-names error]} ignore-url]
|
||||
(if-not error
|
||||
;; first we get a vector of ens-names to resolve and a vector of paths of these names
|
||||
|
@ -136,7 +137,7 @@
|
|||
:callback
|
||||
(fn [addresses]
|
||||
(re-frame/dispatch
|
||||
[:wallet/request-uri-parsed
|
||||
[:wallet-legacy/request-uri-parsed
|
||||
;; we replace ens-names at their path in the message by their actual address
|
||||
(reduce (fn [message [path address]]
|
||||
(assoc-in message path address))
|
||||
|
@ -153,7 +154,7 @@
|
|||
{:ui/show-error (i18n/label :t/wallet-invalid-address {:data uri})}))))
|
||||
|
||||
(rf/defn qr-scanner-result
|
||||
{:events [:wallet.send/qr-scanner-result]}
|
||||
{:events [:wallet-legacy.send/qr-scanner-result]}
|
||||
[cofx data {:keys [ignore-url]}]
|
||||
(rf/merge cofx
|
||||
(navigation/navigate-back)
|
||||
|
|
|
@ -43,7 +43,7 @@
|
|||
:on-error on-error}))
|
||||
|
||||
(re-frame/reg-fx
|
||||
:wallet/get-balances
|
||||
:wallet-legacy/get-balances
|
||||
(fn [addresses]
|
||||
(doseq [address addresses]
|
||||
(get-balance
|
||||
|
@ -53,10 +53,10 @@
|
|||
|
||||
(defn assoc-error-message
|
||||
[db error-type err]
|
||||
(assoc-in db [:wallet :errors error-type] (or err :unknown-error)))
|
||||
(assoc-in db [:wallet-legacy :errors error-type] (or err :unknown-error)))
|
||||
|
||||
(re-frame/reg-fx
|
||||
:wallet/get-cached-balances
|
||||
:wallet-legacy/get-cached-balances
|
||||
(fn [{:keys [addresses on-success on-error]}]
|
||||
(json-rpc/call
|
||||
{:method "wallet_getCachedBalances"
|
||||
|
@ -68,7 +68,7 @@
|
|||
[{:keys [db]} scan-all-tokens?]
|
||||
(let [addresses (map (comp string/lower-case :address)
|
||||
(get db :profile/wallet-accounts))]
|
||||
{:wallet/get-cached-balances
|
||||
{:wallet-legacy/get-cached-balances
|
||||
{:addresses addresses
|
||||
:on-success #(re-frame/dispatch [::set-cached-balances addresses % scan-all-tokens?])
|
||||
:on-error #(re-frame/dispatch [::on-get-cached-balance-fail % scan-all-tokens?])}}))
|
||||
|
@ -86,7 +86,7 @@
|
|||
{:db (assoc-error-message db :balance-update :error-unable-to-get-token-balance)})
|
||||
|
||||
(rf/defn open-transaction-details
|
||||
{:events [:wallet.ui/show-transaction-details]}
|
||||
{:events [:wallet-legacy.ui/show-transaction-details]}
|
||||
[cofx hash address]
|
||||
(navigation/navigate-to cofx :wallet-transaction-details {:hash hash :address address}))
|
||||
|
||||
|
@ -144,13 +144,13 @@
|
|||
#(re-frame/dispatch [::update-token-balance-fail %])}))
|
||||
|
||||
(re-frame/reg-fx
|
||||
:wallet/get-tokens-balances
|
||||
:wallet-legacy/get-tokens-balances
|
||||
get-token-balances)
|
||||
|
||||
(rf/defn collectibles-collection-fetch-success
|
||||
{:events [::collectibles-collection-fetch-success]}
|
||||
[{:keys [db]} address collection]
|
||||
{:db (assoc-in db [:wallet/collectible-collections address] collection)})
|
||||
{:db (assoc-in db [:wallet-legacy/collectible-collections address] collection)})
|
||||
|
||||
(rf/defn fetch-collectibles-collection
|
||||
{:events [::fetch-collectibles-collection]}
|
||||
|
@ -175,19 +175,19 @@
|
|||
{:events [::collectible-assets-fetch-success]}
|
||||
[{:keys [db]} address collectible-slug assets]
|
||||
{:db (-> db
|
||||
(assoc-in [:wallet/fetching-collection-assets collectible-slug] false)
|
||||
(assoc-in [:wallet/collectible-assets address collectible-slug] assets))})
|
||||
(assoc-in [:wallet-legacy/fetching-collection-assets collectible-slug] false)
|
||||
(assoc-in [:wallet-legacy/collectible-assets address collectible-slug] assets))})
|
||||
|
||||
(rf/defn collectibles-assets-fetch-error
|
||||
{:events [::collectibles-assets-fetch-error]}
|
||||
[{:keys [db]} collectible-slug]
|
||||
{:db (assoc-in db [:wallet/fetching-collection-assets collectible-slug] false)})
|
||||
{:db (assoc-in db [:wallet-legacy/fetching-collection-assets collectible-slug] false)})
|
||||
|
||||
(rf/defn fetch-collectible-assets-by-owner-and-collection
|
||||
{:events [::fetch-collectible-assets-by-owner-and-collection]}
|
||||
[{:keys [db]} address collectible-slug limit]
|
||||
(let [chain-id (chain/network->chain-id (chain/current-network db))]
|
||||
{:db (assoc-in db [:wallet/fetching-collection-assets collectible-slug] true)
|
||||
{:db (assoc-in db [:wallet-legacy/fetching-collection-assets collectible-slug] true)
|
||||
:json-rpc/call [{:method "wallet_getOpenseaAssetsByOwnerAndCollection"
|
||||
:params [chain-id address collectible-slug limit]
|
||||
:on-error (fn [error]
|
||||
|
@ -199,7 +199,7 @@
|
|||
|
||||
(re-frame/reg-event-fx ::show-nft-details
|
||||
(fn [{:keys [db]} [asset]]
|
||||
{:db (assoc db :wallet/selected-collectible asset)
|
||||
{:db (assoc db :wallet-legacy/selected-collectible asset)
|
||||
:fx [[:dispatch [:open-modal :nft-details {}]]]}))
|
||||
|
||||
(defn rpc->token
|
||||
|
@ -216,55 +216,56 @@
|
|||
(let [default-tokens (utils.core/index-by :address tokens)
|
||||
;;we want to override custom-tokens by default
|
||||
all-tokens (merge (rpc->token custom-tokens) default-tokens)]
|
||||
{:db (assoc db :wallet/all-tokens all-tokens)}))
|
||||
{:db (assoc db :wallet-legacy/all-tokens all-tokens)}))
|
||||
|
||||
(rf/defn initialize-favourites
|
||||
[{:keys [db]} favourites]
|
||||
{:db (assoc db
|
||||
:wallet/favourites
|
||||
:wallet-legacy/favourites
|
||||
(reduce (fn [acc {:keys [address] :as favourit}]
|
||||
(assoc acc address favourit))
|
||||
{}
|
||||
favourites))})
|
||||
|
||||
(rf/defn update-balances
|
||||
{:events [:wallet/update-balances]}
|
||||
[{{:keys [network-status]
|
||||
:wallet/keys [all-tokens]
|
||||
:profile/keys [profile wallet-accounts]
|
||||
:as db}
|
||||
{:events [:wallet-legacy/update-balances]}
|
||||
[{{:keys [network-status]
|
||||
:wallet-legacy/keys [all-tokens]
|
||||
:profile/keys [profile wallet-accounts]
|
||||
:as db}
|
||||
:db
|
||||
:as cofx} addresses scan-all-tokens?]
|
||||
(log/debug "update-balances"
|
||||
"accounts" addresses
|
||||
"scan-all-tokens?" scan-all-tokens?)
|
||||
(let [addresses (or addresses
|
||||
(map (comp string/lower-case :address) wallet-accounts))
|
||||
{:keys [:wallet/visible-tokens]} profile
|
||||
chain (chain/chain-keyword db)
|
||||
assets (get visible-tokens chain)
|
||||
tokens (->> (vals all-tokens)
|
||||
(remove #(or (:hidden? %)
|
||||
;;if not scan-all-tokens? remove not
|
||||
;;visible tokens
|
||||
(and (not scan-all-tokens?)
|
||||
(not (get assets (:symbol %))))))
|
||||
(reduce (fn [acc {:keys [address symbol]}]
|
||||
(assoc acc address symbol))
|
||||
{}))]
|
||||
(let [addresses (or addresses
|
||||
(map (comp string/lower-case :address)
|
||||
wallet-accounts))
|
||||
{:keys [:wallet-legacy/visible-tokens]} profile
|
||||
chain (chain/chain-keyword db)
|
||||
assets (get visible-tokens chain)
|
||||
tokens (->> (vals all-tokens)
|
||||
(remove #(or (:hidden? %)
|
||||
;;if not scan-all-tokens? remove not
|
||||
;;visible tokens
|
||||
(and (not scan-all-tokens?)
|
||||
(not (get assets (:symbol %))))))
|
||||
(reduce (fn [acc {:keys [address symbol]}]
|
||||
(assoc acc address symbol))
|
||||
{}))]
|
||||
(when (and (seq addresses)
|
||||
(not= network-status :offline))
|
||||
(rf/merge
|
||||
cofx
|
||||
{:wallet/get-balances addresses
|
||||
:wallet/get-tokens-balances {:addresses addresses
|
||||
:tokens tokens
|
||||
:assets assets
|
||||
:scan-all-tokens? scan-all-tokens?}
|
||||
:db (prices/clear-error-message db :balance-update)}
|
||||
{:wallet-legacy/get-balances addresses
|
||||
:wallet-legacy/get-tokens-balances {:addresses addresses
|
||||
:tokens tokens
|
||||
:assets assets
|
||||
:scan-all-tokens? scan-all-tokens?}
|
||||
:db (prices/clear-error-message db :balance-update)}
|
||||
(when-not assets
|
||||
(multiaccounts.update/multiaccount-update
|
||||
:wallet/visible-tokens
|
||||
:wallet-legacy/visible-tokens
|
||||
(assoc visible-tokens
|
||||
chain
|
||||
(or (config/default-visible-tokens chain)
|
||||
|
@ -288,7 +289,7 @@
|
|||
{:events [::update-balance-success]}
|
||||
[{:keys [db]} address balance]
|
||||
{:db (assoc-in db
|
||||
[:wallet :accounts (eip55/address->checksum address) :balance :ETH]
|
||||
[:wallet-legacy :accounts (eip55/address->checksum address) :balance :ETH]
|
||||
(money/bignumber balance))})
|
||||
|
||||
(rf/defn set-cached-balances
|
||||
|
@ -304,15 +305,15 @@
|
|||
(defn has-empty-balances?
|
||||
[db]
|
||||
(some #(nil? (get-in % [:balance :ETH]))
|
||||
(get-in db [:wallet :accounts])))
|
||||
(get-in db [:wallet-legacy :accounts])))
|
||||
|
||||
(rf/defn update-toggle-in-settings
|
||||
[{{:profile/keys [profile] :as db} :db :as cofx} symbol checked?]
|
||||
(let [chain (chain/chain-keyword db)
|
||||
visible-tokens (get profile :wallet/visible-tokens)]
|
||||
visible-tokens (get profile :wallet-legacy/visible-tokens)]
|
||||
(rf/merge cofx
|
||||
(multiaccounts.update/multiaccount-update
|
||||
:wallet/visible-tokens
|
||||
:wallet-legacy/visible-tokens
|
||||
(update visible-tokens
|
||||
chain
|
||||
#(set-checked % symbol checked?))
|
||||
|
@ -321,16 +322,16 @@
|
|||
(update-balances % nil nil)))))
|
||||
|
||||
(rf/defn toggle-visible-token
|
||||
{:events [:wallet.settings/toggle-visible-token]}
|
||||
{:events [:wallet-legacy.settings/toggle-visible-token]}
|
||||
[cofx symbol checked?]
|
||||
(update-toggle-in-settings cofx symbol checked?))
|
||||
|
||||
(rf/defn update-tokens-balances
|
||||
{:events [::update-tokens-balances-success]}
|
||||
[{:keys [db]} balances]
|
||||
(let [accounts (get-in db [:wallet :accounts])]
|
||||
(let [accounts (get-in db [:wallet-legacy :accounts])]
|
||||
{:db (assoc-in db
|
||||
[:wallet :accounts]
|
||||
[:wallet-legacy :accounts]
|
||||
(reduce (fn [acc [address balances]]
|
||||
(assoc-in acc
|
||||
[address :balance]
|
||||
|
@ -354,13 +355,13 @@
|
|||
{:events [::tokens-found]}
|
||||
[{:keys [db] :as cofx} balances]
|
||||
(let [chain (chain/chain-keyword db)
|
||||
visible-tokens (get-in db [:profile/profile :wallet/visible-tokens])
|
||||
visible-tokens (get-in db [:profile/profile :wallet-legacy/visible-tokens])
|
||||
chain-visible-tokens (into (or (config/default-visible-tokens chain)
|
||||
#{})
|
||||
(flatten (map keys (vals balances))))]
|
||||
(rf/merge cofx
|
||||
(multiaccounts.update/multiaccount-update
|
||||
:wallet/visible-tokens
|
||||
:wallet-legacy/visible-tokens
|
||||
(update visible-tokens chain set/union chain-visible-tokens)
|
||||
{})
|
||||
(update-tokens-balances balances)
|
||||
|
@ -375,12 +376,12 @@
|
|||
(update-toggle-in-settings cofx symbol false))
|
||||
|
||||
(rf/defn set-and-validate-amount
|
||||
{:events [:wallet.send/set-amount-text]}
|
||||
{:events [:wallet-legacy.send/set-amount-text]}
|
||||
[{:keys [db]} amount]
|
||||
{:db (assoc-in db [:wallet/prepare-transaction :amount-text] amount)})
|
||||
{:db (assoc-in db [:wallet-legacy/prepare-transaction :amount-text] amount)})
|
||||
|
||||
(rf/defn wallet-send-gas-price-success
|
||||
{:events [:wallet.send/update-gas-price-success]}
|
||||
{:events [:wallet-legacy.send/update-gas-price-success]}
|
||||
[{db :db} tx-entry price {:keys [maxFeePerGas maxPriorityFeePerGas gasPrice]}]
|
||||
(when (contains? db tx-entry)
|
||||
(if (eip1559/sync-enabled?)
|
||||
|
@ -398,23 +399,23 @@
|
|||
assoc
|
||||
:maxFeePerGas (or maxFeePerGas fee-cap)
|
||||
:maxPriorityFeePerGas (or maxPriorityFeePerGas tip-cap))
|
||||
(assoc :wallet/current-base-fee current-base-fee
|
||||
:wallet/normal-base-fee normal-base-fee
|
||||
:wallet/slow-base-fee slow-base-fee
|
||||
:wallet/fast-base-fee fast-base-fee
|
||||
:wallet/current-priority-fee max-priority-fee)
|
||||
(assoc :wallet-legacy/current-base-fee current-base-fee
|
||||
:wallet-legacy/normal-base-fee normal-base-fee
|
||||
:wallet-legacy/slow-base-fee slow-base-fee
|
||||
:wallet-legacy/fast-base-fee fast-base-fee
|
||||
:wallet-legacy/current-priority-fee max-priority-fee)
|
||||
(assoc-in [:signing/edit-fee :gas-price-loading?] false))})
|
||||
{:db (-> db
|
||||
(assoc-in [:wallet/prepare-transaction :gasPrice] (or gasPrice price))
|
||||
(assoc-in [:wallet-legacy/prepare-transaction :gasPrice] (or gasPrice price))
|
||||
(assoc-in [:signing/edit-fee :gas-price-loading?] false))})))
|
||||
|
||||
(rf/defn set-max-amount
|
||||
{:events [:wallet.send/set-max-amount]}
|
||||
{:events [:wallet-legacy.send/set-max-amount]}
|
||||
[{:keys [db]} {:keys [amount decimals symbol]}]
|
||||
(let [^js gas (money/bignumber 21000)
|
||||
^js gasPrice (or
|
||||
(get-in db [:wallet/prepare-transaction :maxFeePerGas])
|
||||
(get-in db [:wallet/prepare-transaction :gasPrice]))
|
||||
(get-in db [:wallet-legacy/prepare-transaction :maxFeePerGas])
|
||||
(get-in db [:wallet-legacy/prepare-transaction :gasPrice]))
|
||||
^js fee (when gasPrice (.times gas gasPrice))
|
||||
amount-text (if (= :ETH symbol)
|
||||
(when (and fee (money/sufficient-funds? fee amount))
|
||||
|
@ -423,23 +424,23 @@
|
|||
(when amount-text
|
||||
{:db (cond-> db
|
||||
:always
|
||||
(assoc-in [:wallet/prepare-transaction :amount-text] amount-text)
|
||||
(assoc-in [:wallet-legacy/prepare-transaction :amount-text] amount-text)
|
||||
(= :ETH symbol)
|
||||
(assoc-in [:wallet/prepare-transaction :gas] gas))})))
|
||||
(assoc-in [:wallet-legacy/prepare-transaction :gas] gas))})))
|
||||
|
||||
(rf/defn set-and-validate-request-amount
|
||||
{:events [:wallet.request/set-amount-text]}
|
||||
{:events [:wallet-legacy.request/set-amount-text]}
|
||||
[{:keys [db]} amount]
|
||||
{:db (assoc-in db [:wallet/prepare-transaction :amount-text] amount)})
|
||||
{:db (assoc-in db [:wallet-legacy/prepare-transaction :amount-text] amount)})
|
||||
|
||||
(rf/defn request-transaction-button-clicked-from-chat
|
||||
{:events [:wallet.ui/request-transaction-button-clicked]}
|
||||
{:events [:wallet-legacy.ui/request-transaction-button-clicked]}
|
||||
[{:keys [db] :as cofx} {:keys [to amount from token]}]
|
||||
(let [{:keys [symbol address]} token
|
||||
from-address (:address from)
|
||||
identity (:current-chat-id db)]
|
||||
(rf/merge cofx
|
||||
{:db (dissoc db :wallet/prepare-transaction)
|
||||
{:db (dissoc db :wallet-legacy/prepare-transaction)
|
||||
:json-rpc/call [{:method "wakuext_requestTransaction"
|
||||
:params [(:public-key to)
|
||||
amount
|
||||
|
@ -450,17 +451,17 @@
|
|||
:on-success #(re-frame/dispatch [:transport/message-sent %])}]})))
|
||||
|
||||
(rf/defn accept-request-transaction-button-clicked-from-command
|
||||
{:events [:wallet.ui/accept-request-transaction-button-clicked-from-command]}
|
||||
{:events [:wallet-legacy.ui/accept-request-transaction-button-clicked-from-command]}
|
||||
[{:keys [db]} chat-id {:keys [value contract] :as request-parameters}]
|
||||
(let [identity (:current-chat-id db)
|
||||
all-tokens (:wallet/all-tokens db)
|
||||
all-tokens (:wallet-legacy/all-tokens db)
|
||||
{:keys [symbol decimals]}
|
||||
(if (seq contract)
|
||||
(get all-tokens contract)
|
||||
(tokens/native-currency (chain/get-current-network db)))
|
||||
amount-text (str (money/internal->formatted value symbol decimals))]
|
||||
{:db (assoc db
|
||||
:wallet/prepare-transaction
|
||||
:wallet-legacy/prepare-transaction
|
||||
{:from (wallet.utils/get-default-account (:profile/wallet-accounts
|
||||
db))
|
||||
:to (or (get-in db [:contacts/contacts identity])
|
||||
|
@ -476,19 +477,19 @@
|
|||
:dispatch [:open-modal :prepare-send-transaction]}))
|
||||
|
||||
(rf/defn set-and-validate-amount-request
|
||||
{:events [:wallet.request/set-and-validate-amount]}
|
||||
{:events [:wallet-legacy.request/set-and-validate-amount]}
|
||||
[{:keys [db]} amount symbol decimals]
|
||||
(let [{:keys [value error]} (wallet.db/parse-amount amount decimals)]
|
||||
{:db (-> db
|
||||
(assoc-in [:wallet :request-transaction :amount]
|
||||
(assoc-in [:wallet-legacy :request-transaction :amount]
|
||||
(money/formatted->internal value symbol decimals))
|
||||
(assoc-in [:wallet :request-transaction :amount-text] amount)
|
||||
(assoc-in [:wallet :request-transaction :amount-error] error))}))
|
||||
(assoc-in [:wallet-legacy :request-transaction :amount-text] amount)
|
||||
(assoc-in [:wallet-legacy :request-transaction :amount-error] error))}))
|
||||
|
||||
(rf/defn set-symbol-request
|
||||
{:events [:wallet.request/set-symbol]}
|
||||
{:events [:wallet-legacy.request/set-symbol]}
|
||||
[{:keys [db]} symbol]
|
||||
{:db (assoc-in db [:wallet :request-transaction :symbol] symbol)})
|
||||
{:db (assoc-in db [:wallet-legacy :request-transaction :symbol] symbol)})
|
||||
|
||||
(re-frame/reg-fx
|
||||
::resolve-address
|
||||
|
@ -498,15 +499,16 @@
|
|||
(rf/defn on-recipient-address-resolved
|
||||
{:events [::recipient-address-resolved]}
|
||||
[{:keys [db]} address]
|
||||
{:db (assoc-in db [:wallet/prepare-transaction :to :address] address)
|
||||
{:db (assoc-in db [:wallet-legacy/prepare-transaction :to :address] address)
|
||||
:signing/update-gas-price {:success-callback
|
||||
#(re-frame/dispatch
|
||||
[:wallet.send/update-gas-price-success :wallet/prepare-transaction %])
|
||||
[:wallet-legacy.send/update-gas-price-success
|
||||
:wallet-legacy/prepare-transaction %])
|
||||
:network-id (get-in (chain/current-network db)
|
||||
[:config :NetworkId])}})
|
||||
|
||||
(rf/defn prepare-transaction-from-chat
|
||||
{:events [:wallet/prepare-transaction-from-chat]}
|
||||
{:events [:wallet-legacy/prepare-transaction-from-chat]}
|
||||
[{:keys [db]}]
|
||||
(let [identity (:current-chat-id db)
|
||||
{:keys [ens-verified name] :as contact}
|
||||
|
@ -515,7 +517,7 @@
|
|||
contact.db/public-key->new-contact
|
||||
contact.db/enrich-contact))]
|
||||
(cond-> {:db (assoc db
|
||||
:wallet/prepare-transaction
|
||||
:wallet-legacy/prepare-transaction
|
||||
{:from (wallet.utils/get-default-account
|
||||
(:profile/wallet-accounts db))
|
||||
:to contact
|
||||
|
@ -532,11 +534,11 @@
|
|||
:cb #(re-frame/dispatch [::recipient-address-resolved %])}))))
|
||||
|
||||
(rf/defn prepare-request-transaction-from-chat
|
||||
{:events [:wallet/prepare-request-transaction-from-chat]}
|
||||
{:events [:wallet-legacy/prepare-request-transaction-from-chat]}
|
||||
[{:keys [db]}]
|
||||
(let [identity (:current-chat-id db)]
|
||||
{:db (assoc db
|
||||
:wallet/prepare-transaction
|
||||
:wallet-legacy/prepare-transaction
|
||||
{:from (wallet.utils/get-default-account (:profile/wallet-accounts db))
|
||||
:to (or (get-in db [:contacts/contacts identity])
|
||||
(-> identity
|
||||
|
@ -548,10 +550,10 @@
|
|||
:dispatch [:open-modal :request-transaction]}))
|
||||
|
||||
(rf/defn prepare-transaction-from-wallet
|
||||
{:events [:wallet/prepare-transaction-from-wallet]}
|
||||
{:events [:wallet-legacy/prepare-transaction-from-wallet]}
|
||||
[{:keys [db]} account]
|
||||
{:db (assoc db
|
||||
:wallet/prepare-transaction
|
||||
:wallet-legacy/prepare-transaction
|
||||
{:from account
|
||||
:to nil
|
||||
:symbol :ETH
|
||||
|
@ -559,21 +561,22 @@
|
|||
:dispatch [:open-modal :prepare-send-transaction]
|
||||
:signing/update-gas-price {:success-callback
|
||||
#(re-frame/dispatch
|
||||
[:wallet.send/update-gas-price-success :wallet/prepare-transaction %])
|
||||
[:wallet-legacy.send/update-gas-price-success
|
||||
:wallet-legacy/prepare-transaction %])
|
||||
:network-id (get-in (chain/current-network db)
|
||||
[:config :NetworkId])}})
|
||||
|
||||
(rf/defn cancel-transaction-command
|
||||
{:events [:wallet/cancel-transaction-command]}
|
||||
{:events [:wallet-legacy/cancel-transaction-command]}
|
||||
[{:keys [db]}]
|
||||
(let [identity (:current-chat-id db)]
|
||||
{:db (dissoc db :wallet/prepare-transaction)}))
|
||||
{:db (dissoc db :wallet-legacy/prepare-transaction)}))
|
||||
|
||||
(rf/defn finalize-transaction-from-command
|
||||
{:events [:wallet/finalize-transaction-from-command]}
|
||||
{:events [:wallet-legacy/finalize-transaction-from-command]}
|
||||
[{:keys [db]} account to symbol amount]
|
||||
{:db (assoc db
|
||||
:wallet/prepare-transaction
|
||||
:wallet-legacy/prepare-transaction
|
||||
{:from account
|
||||
:to to
|
||||
:symbol symbol
|
||||
|
@ -581,47 +584,48 @@
|
|||
:from-command? true})})
|
||||
|
||||
(rf/defn view-only-qr-scanner-allowed
|
||||
{:events [:wallet.add-new/qr-scanner]}
|
||||
{:events [:wallet-legacy.add-new/qr-scanner]}
|
||||
[{:keys [db] :as cofx} options]
|
||||
(rf/merge cofx
|
||||
{:db (update-in db [:add-account] dissoc :address)}
|
||||
(qr-scaner/scan-qr-code options)))
|
||||
|
||||
(rf/defn wallet-send-set-symbol
|
||||
{:events [:wallet.send/set-symbol]}
|
||||
{:events [:wallet-legacy.send/set-symbol]}
|
||||
[{:keys [db] :as cofx} symbol]
|
||||
(rf/merge cofx
|
||||
{:db (assoc-in db [:wallet/prepare-transaction :symbol] symbol)}
|
||||
{:db (assoc-in db [:wallet-legacy/prepare-transaction :symbol] symbol)}
|
||||
(bottom-sheet/hide-bottom-sheet-old)))
|
||||
|
||||
(rf/defn wallet-send-set-field
|
||||
{:events [:wallet.send/set-field]}
|
||||
{:events [:wallet-legacy.send/set-field]}
|
||||
[{:keys [db] :as cofx} field value]
|
||||
(rf/merge cofx
|
||||
{:db (assoc-in db [:wallet/prepare-transaction field] value)}
|
||||
{:db (assoc-in db [:wallet-legacy/prepare-transaction field] value)}
|
||||
(bottom-sheet/hide-bottom-sheet-old)))
|
||||
|
||||
(rf/defn wallet-request-set-field
|
||||
{:events [:wallet.request/set-field]}
|
||||
{:events [:wallet-legacy.request/set-field]}
|
||||
[{:keys [db] :as cofx} field value]
|
||||
(rf/merge cofx
|
||||
{:db (assoc-in db [:wallet/prepare-transaction field] value)}
|
||||
{:db (assoc-in db [:wallet-legacy/prepare-transaction field] value)}
|
||||
(bottom-sheet/hide-bottom-sheet-old)))
|
||||
|
||||
(re-frame/reg-event-fx :wallet.send/navigate-to-recipient-code
|
||||
(re-frame/reg-event-fx :wallet-legacy.send/navigate-to-recipient-code
|
||||
(fn [{:keys [db]}]
|
||||
{:db (-> db (assoc :wallet/recipient {}))
|
||||
{:db (-> db (assoc :wallet-legacy/recipient {}))
|
||||
:fx [[:dispatch [:bottom-sheet/hide-old]]
|
||||
[:dispatch [:open-modal :recipient nil]]]}))
|
||||
|
||||
(rf/defn show-delete-account-confirmation
|
||||
{:events [:wallet.settings/show-delete-account-confirmation]}
|
||||
{:events [:wallet-legacy.settings/show-delete-account-confirmation]}
|
||||
[_ account]
|
||||
{:ui/show-confirmation {:title (i18n/label :t/are-you-sure?)
|
||||
:confirm-button-text (i18n/label :t/yes)
|
||||
:cancel-button-text (i18n/label :t/no)
|
||||
:on-accept #(re-frame/dispatch [:wallet.accounts/delete-account
|
||||
account])
|
||||
:on-accept #(re-frame/dispatch
|
||||
[:wallet-legacy.accounts/delete-account
|
||||
account])
|
||||
:on-cancel #()}})
|
||||
|
||||
(re-frame/reg-fx
|
||||
|
@ -665,7 +669,7 @@
|
|||
max-block
|
||||
block))
|
||||
nil
|
||||
(get-in db [:wallet :accounts])))
|
||||
(get-in db [:wallet-legacy :accounts])))
|
||||
|
||||
(defn custom-rpc-node? [{:keys [id]}] (= 45 (count id)))
|
||||
|
||||
|
@ -680,7 +684,7 @@
|
|||
|
||||
(and max-block
|
||||
(zero? max-block)
|
||||
(nil? (get db :wallet/keep-watching-until-ms)))
|
||||
(nil? (get db :wallet-legacy/keep-watching-until-ms)))
|
||||
(log/info "[wallet] No transactions found")
|
||||
|
||||
:else
|
||||
|
@ -697,8 +701,8 @@
|
|||
[{:keys [db] :as cofx}]
|
||||
(log/info "[wallet] after-checking-history")
|
||||
{:db (dissoc db
|
||||
:wallet/recent-history-fetching-started?
|
||||
:wallet/refreshing-history?)})
|
||||
:wallet-legacy/recent-history-fetching-started?
|
||||
:wallet-legacy/refreshing-history?)})
|
||||
|
||||
(defn set-timeout
|
||||
[db]
|
||||
|
@ -719,8 +723,8 @@
|
|||
(assoc :wallet-service/restart-timeout timeout
|
||||
:wallet-service/custom-interval (get-next-custom-interval
|
||||
db)
|
||||
:wallet/was-started? true
|
||||
:wallet/on-recent-history-fetching
|
||||
:wallet-legacy/was-started? true
|
||||
:wallet-legacy/on-recent-history-fetching
|
||||
on-recent-history-fetching))
|
||||
::check-recent-history addresses
|
||||
::utils.utils/clear-timeouts
|
||||
|
@ -747,7 +751,7 @@
|
|||
|
||||
(rf/defn restart-wallet-service-after-background
|
||||
[{:keys [now db] :as cofx} background-time]
|
||||
(when (and (get db :wallet/was-started?)
|
||||
(when (and (get db :wallet-legacy/was-started?)
|
||||
(> (- now background-time)
|
||||
background-cooldown-time))
|
||||
(restart-wallet-service cofx nil)))
|
||||
|
@ -783,17 +787,17 @@
|
|||
(def pull-to-refresh-cooldown-period (* 1 60 1000))
|
||||
|
||||
(rf/defn restart-on-pull
|
||||
{:events [:wallet.ui/pull-to-refresh-history]}
|
||||
{:events [:wallet-legacy.ui/pull-to-refresh-history]}
|
||||
[{:keys [db now] :as cofx}]
|
||||
(let [last-pull (get db :wallet/last-pull-time)
|
||||
fetching-history? (get db :wallet/recent-history-fetching-started?)]
|
||||
(let [last-pull (get db :wallet-legacy/last-pull-time)
|
||||
fetching-history? (get db :wallet-legacy/recent-history-fetching-started?)]
|
||||
(when (and (not fetching-history?)
|
||||
(or (not last-pull)
|
||||
(> (- now last-pull) pull-to-refresh-cooldown-period)))
|
||||
(rf/merge
|
||||
{:db (assoc db
|
||||
:wallet/last-pull-time now
|
||||
:wallet/refreshing-history? true)}
|
||||
:wallet-legacy/last-pull-time now
|
||||
:wallet-legacy/refreshing-history? true)}
|
||||
(restart-wallet-service
|
||||
{:force-restart? true})))))
|
||||
|
||||
|
@ -831,53 +835,53 @@
|
|||
{:events [::wallet-stack]}
|
||||
[{:keys [db]}]
|
||||
(let [wallet-set-up-passed? (get-in db [:profile/profile :wallet-set-up-passed?])
|
||||
sign-phrase-showed? (get db :wallet/sign-phrase-showed?)]
|
||||
{:dispatch-n [[:wallet.ui/pull-to-refresh]] ;TODO temporary simple fix for v1
|
||||
sign-phrase-showed? (get db :wallet-legacy/sign-phrase-showed?)]
|
||||
{:dispatch-n [[:wallet-legacy.ui/pull-to-refresh]] ;TODO temporary simple fix for v1
|
||||
;;[:show-popover {:view [signing-phrase/signing-phrase]}]]
|
||||
:db (if (or wallet-set-up-passed? sign-phrase-showed?)
|
||||
db
|
||||
(assoc db :wallet/sign-phrase-showed? true))}))
|
||||
(assoc db :wallet-legacy/sign-phrase-showed? true))}))
|
||||
|
||||
(rf/defn wallet-wallet-add-custom-token
|
||||
{:events [:wallet/wallet-add-custom-token]}
|
||||
{:events [:wallet-legacy/wallet-add-custom-token]}
|
||||
[{:keys [db]}]
|
||||
{:db (dissoc db :wallet/custom-token-screen)})
|
||||
{:db (dissoc db :wallet-legacy/custom-token-screen)})
|
||||
|
||||
(rf/defn hide-buy-crypto
|
||||
{:events [::hide-buy-crypto]}
|
||||
[{:keys [db]}]
|
||||
{:db (assoc db :wallet/buy-crypto-hidden true)
|
||||
{:db (assoc db :wallet-legacy/buy-crypto-hidden true)
|
||||
:async-storage-set {:buy-crypto-hidden true}})
|
||||
|
||||
(rf/defn store-buy-crypto
|
||||
{:events [::store-buy-crypto-preference]}
|
||||
[{:keys [db]} {:keys [buy-crypto-hidden]}]
|
||||
{:db (assoc db :wallet/buy-crypto-hidden buy-crypto-hidden)})
|
||||
{:db (assoc db :wallet-legacy/buy-crypto-hidden buy-crypto-hidden)})
|
||||
|
||||
(rf/defn contract-address-paste
|
||||
{:events [:wallet.custom-token.ui/contract-address-paste]}
|
||||
{:events [:wallet-legacy.custom-token.ui/contract-address-paste]}
|
||||
[_]
|
||||
{:wallet.custom-token/contract-address-paste nil})
|
||||
{:wallet-legacy.custom-token/contract-address-paste nil})
|
||||
|
||||
(rf/defn transactions-add-filter
|
||||
{:events [:wallet.transactions/add-filter]}
|
||||
{:events [:wallet-legacy.transactions/add-filter]}
|
||||
[{:keys [db]} id]
|
||||
{:db (update-in db [:wallet :filters] conj id)})
|
||||
{:db (update-in db [:wallet-legacy :filters] conj id)})
|
||||
|
||||
(rf/defn transactions-remove-filter
|
||||
{:events [:wallet.transactions/remove-filter]}
|
||||
{:events [:wallet-legacy.transactions/remove-filter]}
|
||||
[{:keys [db]} id]
|
||||
{:db (update-in db [:wallet :filters] disj id)})
|
||||
{:db (update-in db [:wallet-legacy :filters] disj id)})
|
||||
|
||||
(rf/defn transactions-add-all-filters
|
||||
{:events [:wallet.transactions/add-all-filters]}
|
||||
{:events [:wallet-legacy.transactions/add-all-filters]}
|
||||
[{:keys [db]}]
|
||||
{:db (assoc-in db
|
||||
[:wallet :filters]
|
||||
[:wallet-legacy :filters]
|
||||
wallet.db/default-wallet-filters)})
|
||||
|
||||
(rf/defn settings-navigate-back-pressed
|
||||
{:events [:wallet.settings.ui/navigate-back-pressed]}
|
||||
{:events [:wallet-legacy.settings.ui/navigate-back-pressed]}
|
||||
[cofx on-close]
|
||||
(rf/merge cofx
|
||||
(when on-close
|
||||
|
@ -886,32 +890,34 @@
|
|||
|
||||
(rf/defn stop-fetching-on-empty-tx-history
|
||||
[{:keys [db now] :as cofx} transfers]
|
||||
(let [non-empty-history? (get db :wallet/non-empty-tx-history?)
|
||||
(let [non-empty-history? (get db :wallet-legacy/non-empty-tx-history?)
|
||||
custom-node? (custom-rpc-node?
|
||||
(chain/current-network db))
|
||||
until-ms (get db :wallet/keep-watching-until-ms)]
|
||||
until-ms (get db :wallet-legacy/keep-watching-until-ms)]
|
||||
(when-not (and until-ms (> until-ms now))
|
||||
(rf/merge
|
||||
cofx
|
||||
{:db (dissoc db :wallet/keep-watching-until-ms)}
|
||||
{:db (dissoc db :wallet-legacy/keep-watching-until-ms)}
|
||||
(if (and (not non-empty-history?)
|
||||
(empty? transfers)
|
||||
(not custom-node?))
|
||||
(clear-timeouts)
|
||||
(fn [{:keys [db]}]
|
||||
{:db (assoc db :wallet/non-empty-tx-history? true)}))))))
|
||||
{:db (assoc db :wallet-legacy/non-empty-tx-history? true)}))))))
|
||||
|
||||
(rf/defn keep-watching-history
|
||||
{:events [:wallet/keep-watching]}
|
||||
{:events [:wallet-legacy/keep-watching]}
|
||||
[{:keys [db now] :as cofx}]
|
||||
(let [non-empty-history? (get db :wallet/non-empty-tx-history?)
|
||||
(let [non-empty-history? (get db :wallet-legacy/non-empty-tx-history?)
|
||||
old-timeout (get db :wallet-service/restart-timeout)
|
||||
db (assoc db :wallet-service/custom-interval :ms-2-min)
|
||||
timeout (set-timeout db)]
|
||||
{:db (assoc db
|
||||
:wallet/keep-watching-until-ms (+ now (datetime/minutes 30))
|
||||
:wallet-service/restart-timeout timeout
|
||||
:wallet-service/custom-interval (get-next-custom-interval db))
|
||||
:wallet-legacy/keep-watching-until-ms (+ now
|
||||
(datetime/minutes 30))
|
||||
:wallet-service/restart-timeout timeout
|
||||
:wallet-service/custom-interval (get-next-custom-interval
|
||||
db))
|
||||
::utils.utils/clear-timeouts [old-timeout]}))
|
||||
|
||||
(re-frame/reg-fx
|
||||
|
@ -925,15 +931,15 @@
|
|||
:on-error #(log/info "Initial blocks range was not set")})))
|
||||
|
||||
(rf/defn set-initial-blocks-range
|
||||
{:events [:wallet/set-initial-blocks-range]}
|
||||
{:events [:wallet-legacy/set-initial-blocks-range]}
|
||||
[{:keys [db]}]
|
||||
{:db (assoc db :wallet/new-account true)
|
||||
{:db (assoc db :wallet-legacy/new-account true)
|
||||
::set-inital-range nil})
|
||||
|
||||
(rf/defn tab-opened
|
||||
{:events [:wallet/tab-opened]}
|
||||
{:events [:wallet-legacy/tab-opened]}
|
||||
[{:keys [db] :as cofx}]
|
||||
(when-not (get db :wallet/was-started?)
|
||||
(when-not (get db :wallet-legacy/was-started?)
|
||||
(restart-wallet-service cofx nil)))
|
||||
|
||||
(rf/defn set-max-block
|
||||
|
@ -941,7 +947,7 @@
|
|||
(log/debug "set-max-block"
|
||||
"address" address
|
||||
"block" block)
|
||||
{:db (assoc-in db [:wallet :accounts address :max-block] block)})
|
||||
{:db (assoc-in db [:wallet-legacy :accounts address :max-block] block)})
|
||||
|
||||
(rf/defn set-max-block-with-transfers
|
||||
[{:keys [db] :as cofx} address transfers]
|
||||
|
@ -950,15 +956,15 @@
|
|||
(if (> block max-block)
|
||||
block
|
||||
max-block))
|
||||
(get-in db [:wallet :accounts address :max-block] 0)
|
||||
(get-in db [:wallet-legacy :accounts address :max-block] 0)
|
||||
transfers)]
|
||||
(set-max-block cofx address max-block)))
|
||||
|
||||
(rf/defn share
|
||||
{:events [:wallet/share-popover]}
|
||||
{:events [:wallet-legacy/share-popover]}
|
||||
[{:keys [db] :as cofx} address]
|
||||
(let [non-empty-history? (get db :wallet/non-empty-tx-history?)
|
||||
restart? (and (not (get db :wallet/non-empty-tx-history?))
|
||||
(let [non-empty-history? (get db :wallet-legacy/non-empty-tx-history?)
|
||||
restart? (and (not (get db :wallet-legacy/non-empty-tx-history?))
|
||||
(not (get db :wallet-service/restart-timeout)))]
|
||||
(rf/merge
|
||||
cofx
|
||||
|
@ -973,10 +979,10 @@
|
|||
(json-rpc/call
|
||||
{:method "wallet_getPendingTransactions"
|
||||
:params []
|
||||
:on-success #(re-frame/dispatch [:wallet/on-retreiving-pending-transactions %])})))
|
||||
:on-success #(re-frame/dispatch [:wallet-legacy/on-retreiving-pending-transactions %])})))
|
||||
|
||||
(rf/defn get-pending-transactions
|
||||
{:events [:wallet/get-pending-transactions]}
|
||||
{:events [:wallet-legacy/get-pending-transactions]}
|
||||
[_]
|
||||
(log/info "[wallet] get pending transactions")
|
||||
{::get-pending-transactions nil})
|
||||
|
@ -984,7 +990,7 @@
|
|||
(defn normalize-transaction
|
||||
[db {:keys [gasPrice gasLimit value from to] :as transaction}]
|
||||
(let [sym (-> transaction :symbol keyword)
|
||||
token (tokens/symbol->token (:wallet/all-tokens db) sym)]
|
||||
token (tokens/symbol->token (:wallet-legacy/all-tokens db) sym)]
|
||||
(-> transaction
|
||||
(select-keys [:timestamp :hash :data])
|
||||
(assoc :from (eip55/address->checksum from)
|
||||
|
@ -997,12 +1003,12 @@
|
|||
:gas-limit (money/bignumber gasLimit)))))
|
||||
|
||||
(rf/defn on-retriving-pending-transactions
|
||||
{:events [:wallet/on-retreiving-pending-transactions]}
|
||||
{:events [:wallet-legacy/on-retreiving-pending-transactions]}
|
||||
[{:keys [db]} raw-transactions]
|
||||
(log/info "[wallet] pending transactions")
|
||||
{:db
|
||||
(reduce (fn [db {:keys [from] :as transaction}]
|
||||
(let [path [:wallet :accounts from :transactions (:hash transaction)]]
|
||||
(let [path [:wallet-legacy :accounts from :transactions (:hash transaction)]]
|
||||
(if-not (get-in db path)
|
||||
(assoc-in db path transaction)
|
||||
db)))
|
||||
|
@ -1011,7 +1017,7 @@
|
|||
::start-watching (map (juxt :from :hash :network_id) raw-transactions)})
|
||||
|
||||
(re-frame/reg-fx
|
||||
:wallet/delete-pending-transactions
|
||||
:wallet-legacy/delete-pending-transactions
|
||||
(fn [hashes]
|
||||
(log/info "[wallet] delete pending transactions")
|
||||
(doseq [tx-hash hashes]
|
||||
|
@ -1024,10 +1030,10 @@
|
|||
{:events [:multiaccounts.ui/switch-transactions-management-enabled]}
|
||||
[{:keys [db]} enabled?]
|
||||
{:async-storage-set {:transactions-management-enabled? enabled?}
|
||||
:db (assoc db :wallet/transactions-management-enabled? enabled?)})
|
||||
:db (assoc db :wallet-legacy/transactions-management-enabled? enabled?)})
|
||||
|
||||
(re-frame/reg-fx
|
||||
:wallet/initialize-transactions-management-enabled
|
||||
:wallet-legacy/initialize-transactions-management-enabled
|
||||
(fn []
|
||||
(let [callback #(re-frame/dispatch [:multiaccounts.ui/switch-transactions-management-enabled %])]
|
||||
(async-storage/get-item :transactions-management-enabled? callback))))
|
||||
|
@ -1058,13 +1064,13 @@
|
|||
tokens))
|
||||
|
||||
(re-frame/reg-fx
|
||||
:wallet/get-tokens
|
||||
:wallet-legacy/get-tokens
|
||||
(fn [[network-id accounts recovered-account?]]
|
||||
(utils.utils/set-timeout
|
||||
(fn []
|
||||
(json-rpc/call {:method "wallet_getTokens"
|
||||
:params [(int network-id)]
|
||||
:on-success #(re-frame/dispatch [:wallet/initialize-wallet
|
||||
:on-success #(re-frame/dispatch [:wallet-legacy/initialize-wallet
|
||||
accounts
|
||||
(normalize-tokens network-id %)
|
||||
nil nil
|
||||
|
@ -1074,7 +1080,7 @@
|
|||
|
||||
(re-frame/reg-fx
|
||||
;;TODO: this could be replaced by a single API call on status-go side
|
||||
:wallet/initialize-wallet
|
||||
:wallet-legacy/initialize-wallet
|
||||
(fn [[network-id network callback]]
|
||||
(-> (js/Promise.all
|
||||
(clj->js
|
||||
|
@ -1178,7 +1184,7 @@
|
|||
(native-module/start-local-notifications)))
|
||||
|
||||
(rf/defn initialize-wallet
|
||||
{:events [:wallet/initialize-wallet]}
|
||||
{:events [:wallet-legacy/initialize-wallet]}
|
||||
[{:keys [db] :as cofx} accounts tokens custom-tokens
|
||||
favourites scan-all-tokens? new-account?]
|
||||
(rf/merge
|
||||
|
@ -1208,7 +1214,7 @@
|
|||
|
||||
:else
|
||||
(get-cached-balances scan-all-tokens?))
|
||||
(when-not (get db :wallet/new-account)
|
||||
(when-not (get db :wallet-legacy/new-account)
|
||||
(restart-wallet-service nil))
|
||||
(when (chain/binance-chain? db)
|
||||
(request-current-block-update))
|
||||
|
|
|
@ -13,46 +13,47 @@
|
|||
[utils.re-frame :as rf]))
|
||||
|
||||
(re-frame/reg-fx
|
||||
:wallet.custom-token/contract-address-paste
|
||||
:wallet-legacy.custom-token/contract-address-paste
|
||||
(fn []
|
||||
(react/get-from-clipboard
|
||||
#(re-frame/dispatch [:wallet.custom-token/contract-address-is-pasted (string/trim %)]))))
|
||||
#(re-frame/dispatch [:wallet-legacy.custom-token/contract-address-is-pasted (string/trim %)]))))
|
||||
|
||||
(defn field-exists?
|
||||
[{:wallet/keys [all-tokens]} field-key field-value]
|
||||
[{:wallet-legacy/keys [all-tokens]} field-key field-value]
|
||||
(some #(= field-value (get % field-key))
|
||||
(vals all-tokens)))
|
||||
|
||||
(defn token-in-list?
|
||||
[{:wallet/keys [all-tokens]} contract]
|
||||
[{:wallet-legacy/keys [all-tokens]} contract]
|
||||
(not (nil? (get all-tokens (string/lower-case contract)))))
|
||||
|
||||
(rf/defn contract-address-is-changed
|
||||
{:events [:wallet.custom-token/contract-address-is-pasted]}
|
||||
{:events [:wallet-legacy.custom-token/contract-address-is-pasted]}
|
||||
[{:keys [db]} contract]
|
||||
(if (address/address? contract)
|
||||
(if (token-in-list? db contract)
|
||||
{:db (assoc db
|
||||
:wallet/custom-token-screen
|
||||
:wallet-legacy/custom-token-screen
|
||||
{:contract contract :error (i18n/label :t/already-have-asset)})}
|
||||
{:db (assoc db
|
||||
:wallet/custom-token-screen
|
||||
:wallet-legacy/custom-token-screen
|
||||
{:contract contract :in-progress? true})
|
||||
:json-rpc/call [{:method "wallet_discoverToken"
|
||||
:params [(chain/chain-id db) contract]
|
||||
:on-success #(re-frame/dispatch [:wallet.custom-token/token-discover-result %])
|
||||
:on-error #(re-frame/dispatch [:wallet.custom-token/not-supported])}]})
|
||||
:on-success #(re-frame/dispatch
|
||||
[:wallet-legacy.custom-token/token-discover-result %])
|
||||
:on-error #(re-frame/dispatch [:wallet-legacy.custom-token/not-supported])}]})
|
||||
{:db (assoc db
|
||||
:wallet/custom-token-screen
|
||||
:wallet-legacy/custom-token-screen
|
||||
{:contract contract
|
||||
:error (i18n/label :t/wrong-address)})}))
|
||||
|
||||
(rf/defn token-discover-result
|
||||
{:events [:wallet.custom-token/token-discover-result]}
|
||||
{:events [:wallet-legacy.custom-token/token-discover-result]}
|
||||
[{:keys [db]} {:keys [name symbol decimals]}]
|
||||
(let [symbol-exists? (field-exists? db :symbol (keyword symbol))]
|
||||
{:db (update db
|
||||
:wallet/custom-token-screen
|
||||
:wallet-legacy/custom-token-screen
|
||||
merge
|
||||
{:name name
|
||||
:symbol symbol
|
||||
|
@ -62,15 +63,15 @@
|
|||
:in-progress? nil})}))
|
||||
|
||||
(rf/defn not-supported
|
||||
{:events [:wallet.custom-token/not-supported]}
|
||||
{:events [:wallet-legacy.custom-token/not-supported]}
|
||||
[{:keys [db]}]
|
||||
{:db (assoc-in db [:wallet/custom-token-screen :in-progress?] nil)
|
||||
{:db (assoc-in db [:wallet-legacy/custom-token-screen :in-progress?] nil)
|
||||
:utils/show-popup {:content (i18n/label :t/contract-isnt-supported)}})
|
||||
|
||||
(rf/defn add-custom-token
|
||||
{:events [:wallet.custom-token.ui/add-pressed]}
|
||||
{:events [:wallet-legacy.custom-token.ui/add-pressed]}
|
||||
[{:keys [db] :as cofx}]
|
||||
(let [{:keys [contract name symbol decimals]} (get db :wallet/custom-token-screen)
|
||||
(let [{:keys [contract name symbol decimals]} (get db :wallet-legacy/custom-token-screen)
|
||||
symbol (keyword symbol)
|
||||
new-token {:address contract
|
||||
:name name
|
||||
|
@ -79,7 +80,7 @@
|
|||
:color (rand-nth colors/chat-colors)}]
|
||||
(rf/merge cofx
|
||||
{:db (assoc-in db
|
||||
[:wallet/all-tokens contract]
|
||||
[:wallet-legacy/all-tokens contract]
|
||||
(assoc new-token :custom? true))
|
||||
:json-rpc/call [{:method "wallet_addCustomToken"
|
||||
:params [new-token]
|
||||
|
@ -89,10 +90,10 @@
|
|||
(navigation/navigate-back))))
|
||||
|
||||
(rf/defn remove-custom-token
|
||||
{:events [:wallet.custom-token.ui/remove-pressed]}
|
||||
{:events [:wallet-legacy.custom-token.ui/remove-pressed]}
|
||||
[{:keys [db] :as cofx} {:keys [address] :as token} navigate-back?]
|
||||
(rf/merge cofx
|
||||
{:db (update db :wallet/all-tokens dissoc address)
|
||||
{:db (update db :wallet-legacy/all-tokens dissoc address)
|
||||
:json-rpc/call [{:method "wallet_deleteCustomToken"
|
||||
:params [address]
|
||||
:on-success #()}]}
|
||||
|
@ -101,12 +102,12 @@
|
|||
(navigation/navigate-back))))
|
||||
|
||||
(rf/defn field-is-edited
|
||||
{:events [:wallet.custom-token.ui/field-is-edited]}
|
||||
{:events [:wallet-legacy.custom-token.ui/field-is-edited]}
|
||||
[{:keys [db] :as cofx} field-key value]
|
||||
(case field-key
|
||||
:contract (contract-address-is-changed cofx value)
|
||||
:name {:db (update db
|
||||
:wallet/custom-token-screen
|
||||
:wallet-legacy/custom-token-screen
|
||||
merge
|
||||
{field-key
|
||||
value
|
||||
|
@ -115,7 +116,7 @@
|
|||
(i18n/label :t/you-already-have-an-asset
|
||||
{:value value}))})}
|
||||
:symbol {:db (update db
|
||||
:wallet/custom-token-screen
|
||||
:wallet-legacy/custom-token-screen
|
||||
merge
|
||||
{field-key
|
||||
value
|
||||
|
@ -123,5 +124,5 @@
|
|||
(when (field-exists? db field-key (keyword value))
|
||||
(i18n/label :t/you-already-have-an-asset {:value value}))})}
|
||||
:decimals {:db (assoc-in db
|
||||
[:wallet/custom-token-screen :decimals]
|
||||
[:wallet-legacy/custom-token-screen :decimals]
|
||||
value)}))
|
||||
|
|
|
@ -12,11 +12,11 @@
|
|||
|
||||
(defn assoc-error-message
|
||||
[db error-type err]
|
||||
(assoc-in db [:wallet :errors error-type] (or err :unknown-error)))
|
||||
(assoc-in db [:wallet-legacy :errors error-type] (or err :unknown-error)))
|
||||
|
||||
(defn clear-error-message
|
||||
[db error-type]
|
||||
(update-in db [:wallet :errors] dissoc error-type))
|
||||
(update-in db [:wallet-legacy :errors] dissoc error-type))
|
||||
|
||||
(defn tokens-symbols
|
||||
[visible-token-symbols all-tokens]
|
||||
|
@ -24,7 +24,7 @@
|
|||
(set (map :symbol (tokens/nfts-for all-tokens)))))
|
||||
|
||||
(re-frame/reg-fx
|
||||
:wallet/get-prices
|
||||
:wallet-legacy/get-prices
|
||||
(fn [{:keys [from to mainnet? success-event error-event]}]
|
||||
(prices/get-prices from
|
||||
to
|
||||
|
@ -48,9 +48,9 @@
|
|||
(assoc :prices-loading? false))})
|
||||
|
||||
(rf/defn update-prices
|
||||
{:events [:wallet.ui/pull-to-refresh]}
|
||||
[{{:keys [network-status :wallet/all-tokens]
|
||||
{:keys [currency :wallet/visible-tokens]
|
||||
{:events [:wallet-legacy.ui/pull-to-refresh]}
|
||||
[{{:keys [network-status :wallet-legacy/all-tokens]
|
||||
{:keys [currency :wallet-legacy/visible-tokens]
|
||||
:or {currency :usd}}
|
||||
:profile/profile
|
||||
:as db}
|
||||
|
@ -61,7 +61,7 @@
|
|||
tokens (tokens-symbols assets all-tokens)
|
||||
currency (get currency/currencies currency)]
|
||||
(when (not= network-status :offline)
|
||||
{:wallet/get-prices
|
||||
{:wallet-legacy/get-prices
|
||||
{:from (if mainnet?
|
||||
(conj tokens "ETH")
|
||||
[(-> (tokens/native-currency (chain/get-current-network db))
|
||||
|
|
|
@ -25,15 +25,15 @@
|
|||
(ens/address chain-id ens-name cb)))
|
||||
|
||||
(re-frame/reg-fx
|
||||
:wallet.recipient/address-paste
|
||||
:wallet-legacy.recipient/address-paste
|
||||
(fn []
|
||||
(react/get-from-clipboard
|
||||
#(re-frame/dispatch [:wallet.recipient/address-changed (string/trim %)]))))
|
||||
#(re-frame/dispatch [:wallet-legacy.recipient/address-changed (string/trim %)]))))
|
||||
|
||||
(rf/defn address-paste-pressed
|
||||
{:events [:wallet.recipient/address-paste-pressed]}
|
||||
{:events [:wallet-legacy.recipient/address-paste-pressed]}
|
||||
[_]
|
||||
{:wallet.recipient/address-paste nil})
|
||||
{:wallet-legacy.recipient/address-paste nil})
|
||||
|
||||
(rf/defn set-recipient
|
||||
{:events [::recipient-address-resolved]}
|
||||
|
@ -47,8 +47,8 @@
|
|||
(if (eip55/valid-address-checksum? checksum)
|
||||
(rf/merge cofx
|
||||
{:db (-> db
|
||||
(assoc-in [:wallet/recipient :searching] false)
|
||||
(assoc-in [:wallet/recipient :resolved-address] checksum))}
|
||||
(assoc-in [:wallet-legacy/recipient :searching] false)
|
||||
(assoc-in [:wallet-legacy/recipient :resolved-address] checksum))}
|
||||
(json-rpc/call
|
||||
{:method "eth_getCode"
|
||||
:params [checksum "latest"]
|
||||
|
@ -58,7 +58,7 @@
|
|||
:t/warning-sending-to-contract-descr)))
|
||||
:number-of-retries 3}))
|
||||
{:ui/show-error (i18n/label :t/wallet-invalid-address-checksum {:data recipient})
|
||||
:db (assoc-in db [:wallet/recipient :searching] false)}))
|
||||
:db (assoc-in db [:wallet-legacy/recipient :searching] false)}))
|
||||
(and (not (string/blank? recipient))
|
||||
(not (string/starts-with? recipient "0x"))
|
||||
(ens/valid-eth-name-prefix? recipient))
|
||||
|
@ -72,34 +72,34 @@
|
|||
{:chain-id (chain/chain-id db)
|
||||
:ens-name ens-name
|
||||
:cb #(re-frame/dispatch [::recipient-address-resolved % @resolve-last-id])}})
|
||||
{:db (assoc-in db [:wallet/recipient :searching] false)}))
|
||||
{:db (assoc-in db [:wallet-legacy/recipient :searching] false)}))
|
||||
:else
|
||||
{:db (assoc-in db [:wallet/recipient :searching] false)}))))
|
||||
{:db (assoc-in db [:wallet-legacy/recipient :searching] false)}))))
|
||||
|
||||
(rf/defn address-changed
|
||||
{:events [:wallet.recipient/address-changed]}
|
||||
{:events [:wallet-legacy.recipient/address-changed]}
|
||||
[{:keys [db] :as cofx} new-identity]
|
||||
(rf/merge cofx
|
||||
{:db (update db
|
||||
:wallet/recipient assoc
|
||||
:address new-identity
|
||||
:resolved-address nil
|
||||
:searching true)}
|
||||
:wallet-legacy/recipient assoc
|
||||
:address new-identity
|
||||
:resolved-address nil
|
||||
:searching true)}
|
||||
(set-recipient new-identity nil)))
|
||||
|
||||
(rf/defn recipient-modal-closed
|
||||
{:events [:wallet/recipient-modal-closed]}
|
||||
{:events [:wallet-legacy/recipient-modal-closed]}
|
||||
[{:keys [db]}]
|
||||
{:db (dissoc db :wallet/recipient)})
|
||||
{:db (dissoc db :wallet-legacy/recipient)})
|
||||
|
||||
(rf/defn add-favourite
|
||||
{:events [:wallet/add-favourite]}
|
||||
{:events [:wallet-legacy/add-favourite]}
|
||||
[{:keys [db] :as cofx} address name]
|
||||
(let [new-favourite {:address address
|
||||
:name (or name "")
|
||||
:favourite true}]
|
||||
(rf/merge cofx
|
||||
{:db (assoc-in db [:wallet/favourites address] new-favourite)
|
||||
{:db (assoc-in db [:wallet-legacy/favourites address] new-favourite)
|
||||
:json-rpc/call [{:method "wallet_addSavedAddress"
|
||||
:params [new-favourite]
|
||||
:on-success #()}]}
|
||||
|
|
|
@ -9,44 +9,44 @@
|
|||
;; selection of sink asset."
|
||||
(re-frame/reg-event-fx ::open-asset-selector-modal
|
||||
(fn [{:keys [db]} [source?]]
|
||||
{:db (assoc db :wallet/modal-selecting-source-token? source?)
|
||||
{:db (assoc db :wallet-legacy/modal-selecting-source-token? source?)
|
||||
:fx [[:dispatch [:open-modal :swap-asset-selector {}]]]}))
|
||||
|
||||
(rf/defn set-from-token
|
||||
{:events [::set-from-token]}
|
||||
[{:keys [db]} from-symbol]
|
||||
(rf/merge {:db (assoc db :wallet/swap-from-token from-symbol)}
|
||||
(rf/merge {:db (assoc db :wallet-legacy/swap-from-token from-symbol)}
|
||||
(navigation/navigate-back)))
|
||||
|
||||
(rf/defn set-to-token
|
||||
{:events [::set-to-token]}
|
||||
[{:keys [db]} to-symbol]
|
||||
(rf/merge {:db (assoc db :wallet/swap-to-token to-symbol)}
|
||||
(rf/merge {:db (assoc db :wallet-legacy/swap-to-token to-symbol)}
|
||||
(navigation/navigate-back)))
|
||||
|
||||
(rf/defn set-from-token-amount
|
||||
[{:keys [db]} from-amount]
|
||||
{:db (assoc db :wallet/swap-from-token-amount from-amount)})
|
||||
{:db (assoc db :wallet-legacy/swap-from-token-amount from-amount)})
|
||||
|
||||
(rf/defn set-max-from-token-amount
|
||||
[{:keys [db]} _]
|
||||
{:db (assoc db :wallet/swap-from-token-amount 0)})
|
||||
{:db (assoc db :wallet-legacy/swap-from-token-amount 0)})
|
||||
|
||||
(rf/defn switch-from-token-with-to
|
||||
{:events [::switch-from-token-with-to]}
|
||||
[{:keys [db]}]
|
||||
{:db (assoc db
|
||||
:wallet/swap-from-token (:wallet/swap-to-token db)
|
||||
:wallet/swap-to-token (:wallet/swap-from-token db))})
|
||||
:wallet-legacy/swap-from-token (:wallet-legacy/swap-to-token db)
|
||||
:wallet-legacy/swap-to-token (:wallet-legacy/swap-from-token db))})
|
||||
|
||||
(rf/defn set-advanced-mode
|
||||
{:events [::set-advanced-mode]}
|
||||
[{:keys [db]} mode]
|
||||
{:db (assoc db :wallet/swap-advanced-mode? mode)})
|
||||
{:db (assoc db :wallet-legacy/swap-advanced-mode? mode)})
|
||||
|
||||
(comment
|
||||
(->> re-frame.db/app-db
|
||||
deref
|
||||
:wallet/all-tokens
|
||||
:wallet-legacy/all-tokens
|
||||
vals
|
||||
(map #(str (:name %) "-" (:symbol %)))))
|
||||
|
|
|
@ -74,7 +74,7 @@
|
|||
|
||||
(def default-multiaccount
|
||||
{:preview-privacy? blank-preview?
|
||||
:wallet/visible-tokens {:mainnet #{:SNT}}
|
||||
:wallet-legacy/visible-tokens {:mainnet #{:SNT}}
|
||||
:currency :usd
|
||||
:appearance 0
|
||||
:profile-pictures-show-to 2
|
||||
|
@ -87,7 +87,7 @@
|
|||
|
||||
(defn default-visible-tokens
|
||||
[chain]
|
||||
(get-in default-multiaccount [:wallet/visible-tokens chain]))
|
||||
(get-in default-multiaccount [:wallet-legacy/visible-tokens chain]))
|
||||
|
||||
(def mainnet-networks
|
||||
[{:id "mainnet_rpc"
|
||||
|
|
|
@ -103,12 +103,12 @@
|
|||
network-id (str (get-in networks
|
||||
[current-network :config :NetworkId]))]
|
||||
(rf/merge cofx
|
||||
(cond-> {:wallet/initialize-transactions-management-enabled nil
|
||||
:wallet/initialize-wallet
|
||||
(cond-> {:wallet-legacy/initialize-transactions-management-enabled nil
|
||||
:wallet-legacy/initialize-wallet
|
||||
[network-id
|
||||
current-network-config
|
||||
(fn [accounts tokens custom-tokens favourites]
|
||||
(re-frame/dispatch [:wallet/initialize-wallet
|
||||
(re-frame/dispatch [:wallet-legacy/initialize-wallet
|
||||
accounts tokens custom-tokens favourites]))]
|
||||
:check-eip1559-activation {:network-id network-id}
|
||||
:chat/open-last-chat (get-in db [:profile/profile :key-uid])}
|
||||
|
@ -135,7 +135,7 @@
|
|||
{:db (dissoc db :profile/login)
|
||||
:dispatch-n [[:logging/initialize-web3-client-version]
|
||||
(when (and new-account? (not recovered-account?))
|
||||
[:wallet/set-initial-blocks-range])
|
||||
[:wallet-legacy/set-initial-blocks-range])
|
||||
[:ens/update-usernames ensUsernames]]}
|
||||
(login-existing-profile settings account))))
|
||||
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
(:require [utils.re-frame :as rf]))
|
||||
|
||||
(rf/defn scan-address-success
|
||||
{:events [:wallet-2/scan-address-success]}
|
||||
{:events [:wallet/scan-address-success]}
|
||||
[{:keys [db]} address]
|
||||
{:db (assoc db :wallet-2/scanned-address address)})
|
||||
{:db (assoc db :wallet/scanned-address address)})
|
||||
|
||||
(rf/defn clean-scanned-address
|
||||
{:events [:wallet-2/clean-scanned-address]}
|
||||
{:events [:wallet/clean-scanned-address]}
|
||||
[{:keys [db]}]
|
||||
{:db (dissoc db :wallet-2/scanned-address)})
|
||||
{:db (dissoc db :wallet/scanned-address)})
|
||||
|
|
|
@ -8,13 +8,13 @@
|
|||
(deftest scan-address-success
|
||||
(let [db {}]
|
||||
(testing "scan-address-success"
|
||||
(let [expected-db {:wallet-2/scanned-address address}
|
||||
(let [expected-db {:wallet/scanned-address address}
|
||||
effects (events/scan-address-success {:db db} address)
|
||||
result-db (:db effects)]
|
||||
(is (= result-db expected-db))))))
|
||||
|
||||
(deftest clean-scanned-address
|
||||
(let [db {:wallet-2/scanned-address address}]
|
||||
(let [db {:wallet/scanned-address address}]
|
||||
(testing "clean-scanned-address"
|
||||
(let [expected-db {}
|
||||
effects (events/clean-scanned-address {:db db})
|
||||
|
|
|
@ -19,6 +19,6 @@
|
|||
:subtitle (i18n/label :t/scan-an-account-qr-code)
|
||||
:error-message (i18n/label :t/oops-this-qr-does-not-contain-an-address)
|
||||
:validate-fn #(contains-address? %)
|
||||
:on-success-scan #(debounce/debounce-and-dispatch [:wallet-2/scan-address-success
|
||||
:on-success-scan #(debounce/debounce-and-dispatch [:wallet/scan-address-success
|
||||
(extract-address %)]
|
||||
300)}])
|
||||
|
|
|
@ -51,7 +51,7 @@
|
|||
(reset! timer (js/setTimeout #(reset! valid-ens-or-address? true)
|
||||
2000)))]
|
||||
(fn []
|
||||
(let [scanned-address (rf/sub [:wallet-2/scanned-address])]
|
||||
(let [scanned-address (rf/sub [:wallet/scanned-address])]
|
||||
[quo/address-input
|
||||
{:on-scan #(rf/dispatch [:open-modal :scan-address])
|
||||
:ens-regex constants/regx-ens
|
||||
|
@ -61,9 +61,9 @@
|
|||
:on-detect-address on-detect-address-or-ens
|
||||
:on-change-text (fn [text]
|
||||
(when-not (= scanned-address text)
|
||||
(rf/dispatch [:wallet-2/clean-scanned-address]))
|
||||
(rf/dispatch [:wallet/clean-scanned-address]))
|
||||
(reset! input-value text))
|
||||
:on-clear #(rf/dispatch [:wallet-2/clean-scanned-address])
|
||||
:on-clear #(rf/dispatch [:wallet/clean-scanned-address])
|
||||
:valid-ens-or-address? @valid-ens-or-address?}]))))
|
||||
|
||||
(defn- f-view-internal
|
||||
|
@ -73,7 +73,7 @@
|
|||
on-close #(rf/dispatch [:dismiss-modal :wallet-select-address])
|
||||
on-change-tab #(reset! selected-tab %)]
|
||||
(fn []
|
||||
(rn/use-effect (fn [] #(rf/dispatch [:wallet-2/clean-scanned-address])))
|
||||
(rn/use-effect (fn [] #(rf/dispatch [:wallet/clean-scanned-address])))
|
||||
[rn/scroll-view
|
||||
{:content-container-style (style/container margin-top)
|
||||
:keyboard-should-persist-taps :never
|
||||
|
|
|
@ -19,8 +19,8 @@
|
|||
:sync-state :done
|
||||
:link-previews-whitelist []
|
||||
:app-state "active"
|
||||
:wallet wallet.db/default-wallet
|
||||
:wallet/all-tokens {}
|
||||
:wallet-legacy wallet.db/default-wallet
|
||||
:wallet-legacy/all-tokens {}
|
||||
:peers-count 0
|
||||
:node-info {}
|
||||
:peers-summary []
|
||||
|
|
|
@ -181,7 +181,7 @@
|
|||
(re-frame/reg-sub
|
||||
:contacts/active-with-ens-names
|
||||
:<- [:contacts/active]
|
||||
:<- [:search/recipient-filter]
|
||||
:<- [:wallet-legacy/search-recipient-filter]
|
||||
(fn [[contacts search-filter]]
|
||||
(let [contacts (filter :ens-verified contacts)]
|
||||
(if (string/blank? search-filter)
|
||||
|
|
|
@ -147,7 +147,7 @@
|
|||
(get-in animations [type item-id :delete-swiped])))
|
||||
|
||||
(re-frame/reg-sub
|
||||
:search/recipient-filter
|
||||
:wallet-legacy/search-recipient-filter
|
||||
:<- [:ui/search]
|
||||
(fn [search]
|
||||
(get search :recipient-filter)))
|
||||
|
@ -158,12 +158,6 @@
|
|||
(fn [search]
|
||||
(get search :currency-filter)))
|
||||
|
||||
(re-frame/reg-sub
|
||||
:search/token-filter
|
||||
:<- [:ui/search]
|
||||
(fn [search]
|
||||
(get search :token-filter)))
|
||||
|
||||
(defn- node-version
|
||||
[web3-node-version]
|
||||
(or web3-node-version "N/A"))
|
||||
|
|
|
@ -190,8 +190,8 @@
|
|||
(re-frame/reg-sub
|
||||
:accounts-for-recipient
|
||||
:<- [:multiaccount/visible-accounts]
|
||||
:<- [:wallet/prepare-transaction]
|
||||
:<- [:search/recipient-filter]
|
||||
:<- [:wallet-legacy/prepare-transaction]
|
||||
:<- [:wallet-legacy/search-recipient-filter]
|
||||
(fn [[accounts {:keys [from]} search-filter]]
|
||||
(let [accounts (remove #(= (:address %) (:address from)) accounts)]
|
||||
(if (string/blank? search-filter)
|
||||
|
|
|
@ -24,10 +24,10 @@
|
|||
;;bottom sheet
|
||||
(reg-root-key-sub :bottom-sheet :bottom-sheet)
|
||||
|
||||
; media-server
|
||||
;;media-server
|
||||
(reg-root-key-sub :mediaserver/port :mediaserver/port)
|
||||
|
||||
;; push notifications
|
||||
;;push notifications
|
||||
(reg-root-key-sub :push-notifications/preferences :push-notifications/preferences)
|
||||
|
||||
;;general
|
||||
|
@ -78,7 +78,7 @@
|
|||
(reg-root-key-sub :multiaccount/reset-password-form-vals :multiaccount/reset-password-form-vals)
|
||||
(reg-root-key-sub :multiaccount/reset-password-errors :multiaccount/reset-password-errors)
|
||||
(reg-root-key-sub :multiaccount/resetting-password? :multiaccount/resetting-password?)
|
||||
;; delete profile
|
||||
;;delete profile
|
||||
(reg-root-key-sub :delete-profile/error :delete-profile/error)
|
||||
(reg-root-key-sub :delete-profile/keep-keys-on-keycard? :delete-profile/keep-keys-on-keycard?)
|
||||
|
||||
|
@ -127,119 +127,9 @@
|
|||
(reg-root-key-sub :messages/pin-messages :pin-messages)
|
||||
(reg-root-key-sub :messages/pin-modal :pin-modal)
|
||||
|
||||
; Messages home view -> tabs
|
||||
(reg-root-key-sub :messages-home/selected-tab :messages-home/selected-tab)
|
||||
|
||||
;;browser
|
||||
(reg-root-key-sub :browsers :browser/browsers)
|
||||
(reg-root-key-sub :browser/options :browser/options)
|
||||
(reg-root-key-sub :dapps/permissions :dapps/permissions)
|
||||
(reg-root-key-sub :bookmarks :bookmarks/bookmarks)
|
||||
(reg-root-key-sub :browser/screen-id :browser/screen-id)
|
||||
|
||||
;;stickers
|
||||
(reg-root-key-sub :stickers/selected-pack :stickers/selected-pack)
|
||||
(reg-root-key-sub :stickers/packs :stickers/packs)
|
||||
(reg-root-key-sub :stickers/recent-stickers :stickers/recent-stickers)
|
||||
|
||||
;;mailserver
|
||||
(reg-root-key-sub :mailserver/current-id :mailserver/current-id)
|
||||
(reg-root-key-sub :mailserver/mailservers :mailserver/mailservers)
|
||||
(reg-root-key-sub :mailserver.edit/mailserver :mailserver.edit/mailserver)
|
||||
(reg-root-key-sub :mailserver/state :mailserver/state)
|
||||
(reg-root-key-sub :mailserver/pending-requests :mailserver/pending-requests)
|
||||
(reg-root-key-sub :mailserver/request-error? :mailserver/request-error)
|
||||
(reg-root-key-sub :mailserver/fetching-gaps-in-progress :mailserver/fetching-gaps-in-progress)
|
||||
|
||||
;;contacts
|
||||
(reg-root-key-sub :contacts/contacts-raw :contacts/contacts)
|
||||
(reg-root-key-sub :contacts/current-contact-identity :contacts/identity)
|
||||
(reg-root-key-sub :contacts/current-contact-ens-name :contacts/ens-name)
|
||||
(reg-root-key-sub :contacts/new-identity :contacts/new-identity)
|
||||
(reg-root-key-sub :group/selected-contacts :group/selected-contacts)
|
||||
(reg-root-key-sub :contacts/search-query :contacts/search-query)
|
||||
|
||||
;;wallet
|
||||
(reg-root-key-sub :wallet :wallet)
|
||||
(reg-root-key-sub :prices :prices)
|
||||
(reg-root-key-sub :prices-loading? :prices-loading?)
|
||||
(reg-root-key-sub :wallet.transactions :wallet.transactions)
|
||||
(reg-root-key-sub :wallet/custom-token-screen :wallet/custom-token-screen)
|
||||
(reg-root-key-sub :wallet/prepare-transaction :wallet/prepare-transaction)
|
||||
(reg-root-key-sub :wallet-service/manual-setting :wallet-service/manual-setting)
|
||||
(reg-root-key-sub :wallet/recipient :wallet/recipient)
|
||||
(reg-root-key-sub :wallet/favourites :wallet/favourites)
|
||||
(reg-root-key-sub :wallet/refreshing-history? :wallet/refreshing-history?)
|
||||
(reg-root-key-sub :wallet/fetching-error :wallet/fetching-error)
|
||||
(reg-root-key-sub :wallet/non-archival-node :wallet/non-archival-node)
|
||||
(reg-root-key-sub :wallet/current-base-fee :wallet/current-base-fee)
|
||||
(reg-root-key-sub :wallet/slow-base-fee :wallet/slow-base-fee)
|
||||
(reg-root-key-sub :wallet/normal-base-fee :wallet/normal-base-fee)
|
||||
(reg-root-key-sub :wallet/fast-base-fee :wallet/fast-base-fee)
|
||||
(reg-root-key-sub :wallet/current-priority-fee :wallet/current-priority-fee)
|
||||
(reg-root-key-sub :wallet/transactions-management-enabled? :wallet/transactions-management-enabled?)
|
||||
(reg-root-key-sub :wallet/all-tokens :wallet/all-tokens)
|
||||
(reg-root-key-sub :wallet/collectible-collections :wallet/collectible-collections)
|
||||
(reg-root-key-sub :wallet/fetching-collection-assets :wallet/fetching-collection-assets)
|
||||
(reg-root-key-sub :wallet/collectible-assets :wallet/collectible-assets)
|
||||
(reg-root-key-sub :wallet/selected-collectible :wallet/selected-collectible)
|
||||
(reg-root-key-sub :wallet/modal-selecting-source-token? :wallet/modal-selecting-source-token?)
|
||||
(reg-root-key-sub :wallet/swap-from-token :wallet/swap-from-token)
|
||||
(reg-root-key-sub :wallet/swap-to-token :wallet/swap-to-token)
|
||||
(reg-root-key-sub :wallet/swap-from-token-amount :wallet/swap-from-token-amount)
|
||||
(reg-root-key-sub :wallet/swap-to-token-amount :wallet/swap-to-token-amount)
|
||||
(reg-root-key-sub :wallet/swap-advanced-mode? :wallet/swap-advanced-mode?)
|
||||
|
||||
;; Wallet 2
|
||||
(reg-root-key-sub :wallet-2/scanned-address :wallet-2/scanned-address)
|
||||
|
||||
;;; Link previews
|
||||
|
||||
(reg-root-key-sub :link-previews-whitelist :link-previews-whitelist)
|
||||
(reg-root-key-sub :chat/link-previews :chat/link-previews)
|
||||
|
||||
;;commands
|
||||
(reg-root-key-sub :commands/select-account :commands/select-account)
|
||||
|
||||
;;ethereum
|
||||
(reg-root-key-sub :ethereum/current-block :ethereum/current-block)
|
||||
|
||||
;;ens
|
||||
(reg-root-key-sub :ens/registration :ens/registration)
|
||||
(reg-root-key-sub :ens/registrations :ens/registrations)
|
||||
(reg-root-key-sub :ens/names :ens/names)
|
||||
|
||||
;;signing
|
||||
(reg-root-key-sub :signing/sign :signing/sign)
|
||||
(reg-root-key-sub :signing/tx :signing/tx)
|
||||
(reg-root-key-sub :signing/edit-fee :signing/edit-fee)
|
||||
|
||||
;;intro-wizard
|
||||
(reg-root-key-sub :intro-wizard-state :intro-wizard)
|
||||
|
||||
(reg-root-key-sub :toasts :toasts)
|
||||
(reg-root-key-sub :popover/popover :popover/popover)
|
||||
(reg-root-key-sub :visibility-status-popover/popover :visibility-status-popover/popover)
|
||||
(reg-root-key-sub :add-account :add-account)
|
||||
|
||||
(reg-root-key-sub :keycard :keycard)
|
||||
|
||||
(reg-root-key-sub :auth-method :auth-method)
|
||||
|
||||
;; keycard
|
||||
(reg-root-key-sub :keycard/banner-hidden :keycard/banner-hidden)
|
||||
|
||||
;; delete profile
|
||||
(reg-root-key-sub :delete-profile/error :delete-profile/error)
|
||||
(reg-root-key-sub :delete-profile/keep-keys-on-keycard? :delete-profile/keep-keys-on-keycard?)
|
||||
|
||||
;; push notifications
|
||||
(reg-root-key-sub :push-notifications/servers :push-notifications/servers)
|
||||
(reg-root-key-sub :push-notifications/preferences :push-notifications/preferences)
|
||||
|
||||
(reg-root-key-sub :buy-crypto/on-ramps :buy-crypto/on-ramps)
|
||||
|
||||
;; communities
|
||||
;;communities
|
||||
(reg-root-key-sub :communities :communities)
|
||||
(reg-root-key-sub :communities/create :communities/create)
|
||||
(reg-root-key-sub :communities/create-channel :communities/create-channel)
|
||||
|
@ -251,5 +141,8 @@
|
|||
(reg-root-key-sub :communities/selected-tab :communities/selected-tab)
|
||||
(reg-root-key-sub :contract-communities :contract-communities)
|
||||
|
||||
;; activity center
|
||||
;;activity center
|
||||
(reg-root-key-sub :activity-center :activity-center)
|
||||
|
||||
;;wallet
|
||||
(reg-root-key-sub :wallet/scanned-address :wallet/scanned-address)
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
```clojure
|
||||
(require '[test-helpers.unit :as h])
|
||||
|
||||
(h/deftest-sub :wallet/sorted-tokens
|
||||
(h/deftest-sub :wallet-legacy/sorted-tokens
|
||||
[sub-name]
|
||||
(testing \"sorts tokens by name, lowercased\"
|
||||
;; Arrange
|
||||
|
|
Loading…
Reference in New Issue