diff options
author | Alexander Tseung <alextsg@users.noreply.github.com> | 2018-11-20 08:06:34 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-11-20 08:06:34 +0800 |
commit | 4c87c05a02d5bf5634234a74910e5d3e559dd413 (patch) | |
tree | 638338429538e6bc62b5ad812c11e1f7925fe184 /ui/app/components/send/send-content/send-amount-row/amount-max-button/amount-max-button.utils.js | |
parent | 7fe37276a17cbbcb566a0650603eb5ed6115179b (diff) | |
download | tangerine-wallet-browser-4c87c05a02d5bf5634234a74910e5d3e559dd413.tar.gz tangerine-wallet-browser-4c87c05a02d5bf5634234a74910e5d3e559dd413.tar.zst tangerine-wallet-browser-4c87c05a02d5bf5634234a74910e5d3e559dd413.zip |
Fix rounding issue when sending max tokens (#5695)
* Fix rounding issue when sending max tokens
* Ensure amount row shows exact amount of max tokens on send screen (#2)
* Fix tests
* Change stored redux value from BigNumber to hex string. Fix TokenInput default value
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.js | 25 |
1 files changed, 16 insertions, 9 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 index b490a7fd7..27181d2f5 100644 --- 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 @@ -5,16 +5,23 @@ const { const ethUtil = require('ethereumjs-util') function calcMaxAmount ({ balance, gasTotal, selectedToken, tokenBalance }) { - const { decimals } = selectedToken || {} - const multiplier = Math.pow(10, Number(decimals || 0)) + 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' } - ) + return selectedToken + ? multiplyCurrencies( + tokenBalance, + multiplier, + { + toNumericBase: 'hex', + multiplicandBase: 16, + } + ) + : subtractCurrencies( + ethUtil.addHexPrefix(balance), + ethUtil.addHexPrefix(gasTotal), + { toNumericBase: 'hex' } + ) } module.exports = { |