diff options
author | Dan <danjm.com@gmail.com> | 2017-10-31 01:48:50 +0800 |
---|---|---|
committer | Dan <danjm.com@gmail.com> | 2017-11-07 03:27:57 +0800 |
commit | 67bdfe87e31e695f8c4beab1659a3a4b764ccf24 (patch) | |
tree | be7beef3beecccf6a4060b7f26e0d7ad5b0438b0 /ui/app/components/send/send-utils.js | |
parent | 9f70762434deb1c973665a76623838289e655f22 (diff) | |
download | tangerine-wallet-browser-67bdfe87e31e695f8c4beab1659a3a4b764ccf24.tar.gz tangerine-wallet-browser-67bdfe87e31e695f8c4beab1659a3a4b764ccf24.tar.zst tangerine-wallet-browser-67bdfe87e31e695f8c4beab1659a3a4b764ccf24.zip |
Token balance in send state; validating sufficient tokens, validation updates on 'from' switching.
Diffstat (limited to 'ui/app/components/send/send-utils.js')
-rw-r--r-- | ui/app/components/send/send-utils.js | 43 |
1 files changed, 37 insertions, 6 deletions
diff --git a/ui/app/components/send/send-utils.js b/ui/app/components/send/send-utils.js index 6ec04a223..4eb010173 100644 --- a/ui/app/components/send/send-utils.js +++ b/ui/app/components/send/send-utils.js @@ -1,11 +1,18 @@ -const { addCurrencies, conversionGreaterThan } = require('../../conversion-util') +const { + addCurrencies, + conversionGreaterThan, + conversionUtil, + conversionGTE, +} = require('../../conversion-util') +const { + calcTokenAmount, +} = require('../../token-util') -function isBalanceSufficient ({ - amount, - gasTotal, +function isBalanceSufficient({ + amount = '0x0', + gasTotal = '0x0', balance, primaryCurrency, - selectedToken, amountConversionRate, conversionRate, }) { @@ -26,13 +33,37 @@ function isBalanceSufficient ({ value: totalAmount, fromNumericBase: 'hex', conversionRate: amountConversionRate, - fromCurrency: selectedToken || primaryCurrency, + fromCurrency: primaryCurrency, }, ) return balanceIsSufficient } +function isTokenBalanceSufficient({ + amount = '0x0', + tokenBalance, + decimals, +}) { + const amountInDec = conversionUtil(amount, { + fromNumericBase: 'hex', + }) + + const tokenBalanceIsSufficient = conversionGTE( + { + value: tokenBalance, + fromNumericBase: 'dec', + }, + { + value: calcTokenAmount(amountInDec, decimals), + fromNumericBase: 'dec', + }, + ) + + return tokenBalanceIsSufficient +} + module.exports = { isBalanceSufficient, + isTokenBalanceSufficient, } |