wip
This commit is contained in:
parent
9f7cc76daf
commit
5d0e30a238
|
@ -260,8 +260,7 @@
|
||||||
|
|
||||||
(rf/reg-sub :send-input-amount-screen/owned-eth-balance-is-zero?
|
(rf/reg-sub :send-input-amount-screen/owned-eth-balance-is-zero?
|
||||||
:<- [:send-input-amount-screen/enabled-from-chain-ids]
|
:<- [:send-input-amount-screen/enabled-from-chain-ids]
|
||||||
(fn [enabled-from-chain-ids
|
(fn [enabled-from-chain-ids]
|
||||||
]
|
|
||||||
(let [owned-eth-token (rf/sub [:wallet/token-by-symbol
|
(let [owned-eth-token (rf/sub [:wallet/token-by-symbol
|
||||||
(string/upper-case
|
(string/upper-case
|
||||||
constants/mainnet-short-name)
|
constants/mainnet-short-name)
|
||||||
|
@ -276,6 +275,61 @@
|
||||||
[:from :native-currency-symbol]))]
|
[:from :native-currency-symbol]))]
|
||||||
(rf/sub [:wallet/wallet-send-fee-fiat-formatted native-currency-symbol]))))
|
(rf/sub [:wallet/wallet-send-fee-fiat-formatted native-currency-symbol]))))
|
||||||
|
|
||||||
|
(rf/reg-sub :send-input-amount-screen/upper-limit-exceeded?
|
||||||
|
:<- [:send-input-amount-screen/controller]
|
||||||
|
:<- [:send-input-amount-screen/upper-limit]
|
||||||
|
(fn [[{:keys [token-input-value]}
|
||||||
|
upper-limit]]
|
||||||
|
(controlled-input-logic/upper-limit-exceeded?
|
||||||
|
token-input-value
|
||||||
|
upper-limit)))
|
||||||
|
|
||||||
|
(rf/reg-sub :send-input-amount-screen/upper-limit-equals-input-value?
|
||||||
|
:<- [:send-input-amount-screen/controller]
|
||||||
|
:<- [:send-input-amount-screen/upper-limit]
|
||||||
|
(fn [[{:keys [token-input-value]}
|
||||||
|
upper-limit]]
|
||||||
|
(money/equal-to
|
||||||
|
(money/bignumber token-input-value)
|
||||||
|
(money/bignumber upper-limit))))
|
||||||
|
|
||||||
|
(rf/reg-sub :send-input-amount-screen/should-try-again?
|
||||||
|
:<- [:send-input-amount-screen/upper-limit-exceeded?]
|
||||||
|
:<- [:send-input-amount-screen/routes-information]
|
||||||
|
(fn [[upper-limit-exceeded?
|
||||||
|
{:keys [no-routes-found?]}]]
|
||||||
|
(and (not upper-limit-exceeded?) no-routes-found?)))
|
||||||
|
|
||||||
|
(rf/reg-sub :send-input-amount-screen/not-enough-asset?
|
||||||
|
:<- [:send-input-amount-screen/upper-limit-exceeded?]
|
||||||
|
:<- [:send-input-amount-screen/upper-limit-equals-input-value?]
|
||||||
|
:<- [:send-input-amount-screen/routes-information]
|
||||||
|
:<- [:send-input-amount-screen/currency-information]
|
||||||
|
:<- [:send-input-amount-screen/routes-information]
|
||||||
|
:<- [:send-input-amount-screen/owned-eth-balance-is-zero?]
|
||||||
|
(fn [[upper-limit-exceeded?
|
||||||
|
upper-limit-equals-input-value?
|
||||||
|
{:keys [no-routes-found?]}
|
||||||
|
{:keys [sender-network-values]}
|
||||||
|
{:keys [token-symbol]}
|
||||||
|
owned-eth-balance-is-zero?]]
|
||||||
|
(and
|
||||||
|
(or no-routes-found? upper-limit-exceeded?)
|
||||||
|
(not-empty sender-network-values)
|
||||||
|
(if (= token-symbol
|
||||||
|
(string/upper-case
|
||||||
|
constants/mainnet-short-name))
|
||||||
|
upper-limit-equals-input-value?
|
||||||
|
owned-eth-balance-is-zero?))))
|
||||||
|
|
||||||
|
(comment
|
||||||
|
(rf/sub [:send-input-amount-screen/not-enough-asset?])
|
||||||
|
(rf/sub [:send-input-amount-screen/upper-limit-equals-input-value?])
|
||||||
|
(:no-routes-found? (rf/sub [:send-input-amount-screen/routes-information]))
|
||||||
|
(:sender-network-values (rf/sub [:send-input-amount-screen/currency-information]))
|
||||||
|
(rf/sub [:send-input-amount-screen/not-enough-asset?]))
|
||||||
|
|
||||||
|
|
||||||
(rf/reg-sub :send-input-amount-screen/data
|
(rf/reg-sub :send-input-amount-screen/data
|
||||||
:<- [:send-input-amount-screen/controller]
|
:<- [:send-input-amount-screen/controller]
|
||||||
:<- [:send-input-amount-screen/currency-information]
|
:<- [:send-input-amount-screen/currency-information]
|
||||||
|
@ -292,7 +346,10 @@
|
||||||
:<- [:send-input-amount-screen/max-decimals]
|
:<- [:send-input-amount-screen/max-decimals]
|
||||||
:<- [:send-input-amount-screen/fee-formatted]
|
:<- [:send-input-amount-screen/fee-formatted]
|
||||||
:<- [:send-input-amount-screen/from-enabled-networks]
|
:<- [:send-input-amount-screen/from-enabled-networks]
|
||||||
:<- [:send-input-amount-screen/owned-eth-balance-is-zero?]
|
:<- [:send-input-amount-screen/upper-limit-exceeded?]
|
||||||
|
:<- [:send-input-amount-screen/should-try-again?]
|
||||||
|
:<- [:wallet/current-viewing-account-address]
|
||||||
|
:<- [:send-input-amount-screen/not-enough-asset?]
|
||||||
(fn
|
(fn
|
||||||
[[{:keys [crypto-currency? token-input-value] :as controller}
|
[[{:keys [crypto-currency? token-input-value] :as controller}
|
||||||
{:keys [fiat-currency token-symbol token] :as currency-information}
|
{:keys [fiat-currency token-symbol token] :as currency-information}
|
||||||
|
@ -317,7 +374,10 @@
|
||||||
max-decimals
|
max-decimals
|
||||||
fee-formatted
|
fee-formatted
|
||||||
from-enabled-networks
|
from-enabled-networks
|
||||||
owned-eth-balance-is-zero?]]
|
upper-limit-exceeded?
|
||||||
|
should-try-again?
|
||||||
|
current-address
|
||||||
|
not-enough-asset?]]
|
||||||
{:crypto-currency? crypto-currency?
|
{:crypto-currency? crypto-currency?
|
||||||
:fiat-currency fiat-currency
|
:fiat-currency fiat-currency
|
||||||
:token token
|
:token token
|
||||||
|
@ -329,9 +389,7 @@
|
||||||
:valid-input? (not (or (controlled-input-logic/empty-value?
|
:valid-input? (not (or (controlled-input-logic/empty-value?
|
||||||
token-input-value)
|
token-input-value)
|
||||||
value-out-of-limits?))
|
value-out-of-limits?))
|
||||||
:upper-limit-exceeded? (controlled-input-logic/upper-limit-exceeded?
|
:upper-limit-exceeded? upper-limit-exceeded?
|
||||||
token-input-value
|
|
||||||
upper-limit)
|
|
||||||
:amount-in-crypto amount-in-crypto
|
:amount-in-crypto amount-in-crypto
|
||||||
:token-input-converted-value token-input-converted-value
|
:token-input-converted-value token-input-converted-value
|
||||||
:token-input-converted-value-prettified token-input-converted-value-prettified
|
:token-input-converted-value-prettified token-input-converted-value-prettified
|
||||||
|
@ -349,7 +407,9 @@
|
||||||
:sending-to-unpreferred-networks? sending-to-unpreferred-networks?
|
:sending-to-unpreferred-networks? sending-to-unpreferred-networks?
|
||||||
:no-routes-found? no-routes-found?
|
:no-routes-found? no-routes-found?
|
||||||
:from-enabled-networks from-enabled-networks
|
:from-enabled-networks from-enabled-networks
|
||||||
:owned-eth-balance-is-zero? owned-eth-balance-is-zero?}))
|
:should-try-again? should-try-again?
|
||||||
|
:current-address current-address
|
||||||
|
:not-enough-asset? not-enough-asset?}))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -21,81 +21,6 @@
|
||||||
[utils.money :as money]
|
[utils.money :as money]
|
||||||
[utils.re-frame :as rf]))
|
[utils.re-frame :as rf]))
|
||||||
|
|
||||||
#_{:navigation-system [view-id
|
|
||||||
active-screen?]
|
|
||||||
|
|
||||||
:current-screen-ui-and-state [bottom
|
|
||||||
handle-on-confirm
|
|
||||||
on-navigate-back
|
|
||||||
[crypto-currency? set-crypto-currency]
|
|
||||||
[input-state set-input-state]
|
|
||||||
send-from-locked-amounts
|
|
||||||
clear-input!
|
|
||||||
on-confirm
|
|
||||||
input-value
|
|
||||||
valid-input?
|
|
||||||
confirm-disabled?
|
|
||||||
swap-between-fiat-and-crypto
|
|
||||||
show-select-asset-sheet
|
|
||||||
input-error
|
|
||||||
limit-exceeded?
|
|
||||||
show-no-routes?]
|
|
||||||
|
|
||||||
:currency-and-tokens [usd-conversion-rate
|
|
||||||
conversion-rate
|
|
||||||
token-decimals
|
|
||||||
{token-symbol :symbol
|
|
||||||
token-networks :networks
|
|
||||||
:as
|
|
||||||
token}
|
|
||||||
currency-symbol
|
|
||||||
crypto-decimals
|
|
||||||
amount-in-crypto
|
|
||||||
fee-formatted]
|
|
||||||
|
|
||||||
:user-profie [{fiat-currency :currency}
|
|
||||||
currency]
|
|
||||||
|
|
||||||
:accounts [token-balance
|
|
||||||
{:keys [total-balance]
|
|
||||||
:as token-by-symbol}
|
|
||||||
max-limit
|
|
||||||
current-address]
|
|
||||||
|
|
||||||
:backend-data [loading-routes?
|
|
||||||
route
|
|
||||||
first-route
|
|
||||||
routes
|
|
||||||
suggested-routes
|
|
||||||
no-routes-found?
|
|
||||||
request-fetch-routes
|
|
||||||
sender-network-values
|
|
||||||
receiver-network-values
|
|
||||||
total-amount-receiver
|
|
||||||
native-currency-symbol
|
|
||||||
tx-type
|
|
||||||
token-not-supported-in-receiver-networks?
|
|
||||||
receiver-networks
|
|
||||||
receiver-preferred-networks
|
|
||||||
receiver-preferred-networks-set
|
|
||||||
sending-to-unpreferred-networks?
|
|
||||||
should-try-again?
|
|
||||||
owned-eth-token
|
|
||||||
not-enough-asset?]
|
|
||||||
}
|
|
||||||
|
|
||||||
#_[ui
|
|
||||||
business-logic
|
|
||||||
|
|
||||||
status-go-backend
|
|
||||||
]
|
|
||||||
|
|
||||||
#_[]
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
(defn- estimated-fees
|
(defn- estimated-fees
|
||||||
[{:keys [loading-routes? fees recipient-gets-amount]}]
|
[{:keys [loading-routes? fees recipient-gets-amount]}]
|
||||||
[rn/view {:style style/estimated-fees-container}
|
[rn/view {:style style/estimated-fees-container}
|
||||||
|
@ -241,7 +166,9 @@
|
||||||
sending-to-unpreferred-networks?
|
sending-to-unpreferred-networks?
|
||||||
no-routes-found?
|
no-routes-found?
|
||||||
from-enabled-networks
|
from-enabled-networks
|
||||||
owned-eth-balance-is-zero?]
|
should-try-again?
|
||||||
|
current-address
|
||||||
|
not-enough-asset?]
|
||||||
:as state} (rf/sub [:send-input-amount-screen/data])
|
:as state} (rf/sub [:send-input-amount-screen/data])
|
||||||
;; from-enabled-networks (rf/sub [:wallet/wallet-send-enabled-networks])
|
;; from-enabled-networks (rf/sub [:wallet/wallet-send-enabled-networks])
|
||||||
view-id (rf/sub [:view-id])
|
view-id (rf/sub [:view-id])
|
||||||
|
@ -251,18 +178,6 @@
|
||||||
show-select-asset-sheet #(rf/dispatch
|
show-select-asset-sheet #(rf/dispatch
|
||||||
[:show-bottom-sheet
|
[:show-bottom-sheet
|
||||||
{:content (fn [] [select-asset-bottom-sheet])}])
|
{:content (fn [] [select-asset-bottom-sheet])}])
|
||||||
should-try-again? (and (not upper-limit-exceeded?) no-routes-found?)
|
|
||||||
current-address (rf/sub [:wallet/current-viewing-account-address])
|
|
||||||
not-enough-asset? (and
|
|
||||||
(or no-routes-found? upper-limit-exceeded?)
|
|
||||||
(not-empty sender-network-values)
|
|
||||||
(if (= token-symbol
|
|
||||||
(string/upper-case
|
|
||||||
constants/mainnet-short-name))
|
|
||||||
(money/equal-to
|
|
||||||
(money/bignumber input-value)
|
|
||||||
(money/bignumber upper-limit))
|
|
||||||
owned-eth-balance-is-zero?))
|
|
||||||
show-no-routes? (and
|
show-no-routes? (and
|
||||||
(or no-routes-found? upper-limit-exceeded?)
|
(or no-routes-found? upper-limit-exceeded?)
|
||||||
(not-empty sender-network-values)
|
(not-empty sender-network-values)
|
||||||
|
|
Loading…
Reference in New Issue