aboutsummaryrefslogtreecommitdiffstats
path: root/ui/app/send.js
diff options
context:
space:
mode:
authorDan Finlay <dan@danfinlay.com>2016-04-20 09:56:22 +0800
committerDan Finlay <dan@danfinlay.com>2016-04-20 09:56:22 +0800
commitd6ab6bb4fa506c5fb9479b6e534ab74632c1b819 (patch)
tree752bba009f4a31636d74621431cda51495741693 /ui/app/send.js
parentf79601ee58a07ec6275d4588845578795f550d84 (diff)
downloadtangerine-wallet-browser-d6ab6bb4fa506c5fb9479b6e534ab74632c1b819.tar.gz
tangerine-wallet-browser-d6ab6bb4fa506c5fb9479b6e534ab74632c1b819.tar.zst
tangerine-wallet-browser-d6ab6bb4fa506c5fb9479b6e534ab74632c1b819.zip
Fix floating point input bug
When sending a transaction, we were converting to BN before handling decimals, which meant we were losing any precision past a decimal point, since BN does not handle decimals! Put this numeric normalization into a utility function with a test around it and got it working.
Diffstat (limited to 'ui/app/send.js')
-rw-r--r--ui/app/send.js8
1 files changed, 5 insertions, 3 deletions
diff --git a/ui/app/send.js b/ui/app/send.js
index ad4a27604..d34accddc 100644
--- a/ui/app/send.js
+++ b/ui/app/send.js
@@ -108,11 +108,11 @@ SendTransactionScreen.prototype.back = function() {
SendTransactionScreen.prototype.onSubmit = function(event) {
var recipient = document.querySelector('input.address').value
- var amount = new ethUtil.BN(document.querySelector('input.ether').value, 10)
+
+ var inputAmount = parseFloat(document.querySelector('input.ether').value)
var currency = document.querySelector('select.currency').value
- var txData = document.querySelector('textarea.txData').value
+ var value = util.normalizeNumberToWei(inputAmount, currency)
- var value = util.normalizeToWei(amount, currency)
var balance = this.props.balance
if (value.gt(balance)) {
@@ -132,6 +132,8 @@ SendTransactionScreen.prototype.onSubmit = function(event) {
from: this.props.address,
value: '0x' + value.toString(16),
}
+
+ var txData = document.querySelector('textarea.txData').value
if (txData) txParams.data = txData
this.props.dispatch(actions.signTx(txParams))