aboutsummaryrefslogtreecommitdiffstats
path: root/ui/app/components/send_/send-content/send-amount-row/amount-max-button/amount-max-button.utils.js
diff options
context:
space:
mode:
authorkumavis <aaron@kumavis.me>2018-06-14 12:11:04 +0800
committerkumavis <aaron@kumavis.me>2018-06-14 12:11:04 +0800
commite9cb6508324c166a2d6efe53cf82c39abd4520b4 (patch)
treeda584d964cf84470250f242923967afa7b6a4822 /ui/app/components/send_/send-content/send-amount-row/amount-max-button/amount-max-button.utils.js
parent691ac5d288963f376e34c1711e23bbd58432396f (diff)
parent66c77dc2bd95f40e2d6113e3b932e25c6dc8030c (diff)
downloadtangerine-wallet-browser-e9cb6508324c166a2d6efe53cf82c39abd4520b4.tar
tangerine-wallet-browser-e9cb6508324c166a2d6efe53cf82c39abd4520b4.tar.gz
tangerine-wallet-browser-e9cb6508324c166a2d6efe53cf82c39abd4520b4.tar.bz2
tangerine-wallet-browser-e9cb6508324c166a2d6efe53cf82c39abd4520b4.tar.lz
tangerine-wallet-browser-e9cb6508324c166a2d6efe53cf82c39abd4520b4.tar.xz
tangerine-wallet-browser-e9cb6508324c166a2d6efe53cf82c39abd4520b4.tar.zst
tangerine-wallet-browser-e9cb6508324c166a2d6efe53cf82c39abd4520b4.zip
Merge branch 'develop' of github.com:MetaMask/metamask-extension into ValidateEmptyKey
Diffstat (limited to 'ui/app/components/send_/send-content/send-amount-row/amount-max-button/amount-max-button.utils.js')
-rw-r--r--ui/app/components/send_/send-content/send-amount-row/amount-max-button/amount-max-button.utils.js22
1 files changed, 22 insertions, 0 deletions
diff --git a/ui/app/components/send_/send-content/send-amount-row/amount-max-button/amount-max-button.utils.js b/ui/app/components/send_/send-content/send-amount-row/amount-max-button/amount-max-button.utils.js
new file mode 100644
index 000000000..b490a7fd7
--- /dev/null
+++ b/ui/app/components/send_/send-content/send-amount-row/amount-max-button/amount-max-button.utils.js
@@ -0,0 +1,22 @@
+const {
+ multiplyCurrencies,
+ subtractCurrencies,
+} = require('../../../../../conversion-util')
+const ethUtil = require('ethereumjs-util')
+
+function calcMaxAmount ({ balance, gasTotal, selectedToken, tokenBalance }) {
+ const { decimals } = selectedToken || {}
+ const multiplier = Math.pow(10, Number(decimals || 0))
+
+ return selectedToken
+ ? multiplyCurrencies(tokenBalance, multiplier, {toNumericBase: 'hex'})
+ : subtractCurrencies(
+ ethUtil.addHexPrefix(balance),
+ ethUtil.addHexPrefix(gasTotal),
+ { toNumericBase: 'hex' }
+ )
+}
+
+module.exports = {
+ calcMaxAmount,
+}