diff options
author | Dan <danjm.com@gmail.com> | 2017-09-13 04:40:28 +0800 |
---|---|---|
committer | Chi Kei Chan <chikeichan@gmail.com> | 2017-09-14 05:22:58 +0800 |
commit | 55d62190e3ec06b1b21ed3ba24b2f2a9bc137568 (patch) | |
tree | dc530ddb875efe1bc1c7e13858f8b22c25974606 | |
parent | 6fa1cd62258ba96d1a55bee140f2d1f10f091ed2 (diff) | |
download | tangerine-wallet-browser-55d62190e3ec06b1b21ed3ba24b2f2a9bc137568.tar tangerine-wallet-browser-55d62190e3ec06b1b21ed3ba24b2f2a9bc137568.tar.gz tangerine-wallet-browser-55d62190e3ec06b1b21ed3ba24b2f2a9bc137568.tar.bz2 tangerine-wallet-browser-55d62190e3ec06b1b21ed3ba24b2f2a9bc137568.tar.lz tangerine-wallet-browser-55d62190e3ec06b1b21ed3ba24b2f2a9bc137568.tar.xz tangerine-wallet-browser-55d62190e3ec06b1b21ed3ba24b2f2a9bc137568.tar.zst tangerine-wallet-browser-55d62190e3ec06b1b21ed3ba24b2f2a9bc137568.zip |
Fixes the saving of transactions in send and display in tx-list with conversion utility.
-rw-r--r-- | ui/app/components/tx-list-item.js | 24 | ||||
-rw-r--r-- | ui/app/components/tx-list.js | 13 | ||||
-rw-r--r-- | ui/app/send.js | 11 |
3 files changed, 39 insertions, 9 deletions
diff --git a/ui/app/components/tx-list-item.js b/ui/app/components/tx-list-item.js index 9c681644e..4be8dfcb3 100644 --- a/ui/app/components/tx-list-item.js +++ b/ui/app/components/tx-list-item.js @@ -5,6 +5,8 @@ const classnames = require('classnames') const prefixForNetwork = require('../../lib/etherscan-prefix-for-network') const Identicon = require('./identicon') +const { conversionUtil } = require('../conversion-util') + module.exports = TxListItem inherits(TxListItem, Component) @@ -27,8 +29,26 @@ TxListItem.prototype.render = function () { address, transactionAmount, className, + conversionRate, } = this.props + const totalInUSD = conversionUtil(transactionAmount, { + fromNumericBase: 'hex', + toNumericBase: 'dec', + fromCurrency: 'ETH', + toCurrency: 'USD', + numberOfDecimals: 2, + conversionRate, + }) + const totalInETH = conversionUtil(transactionAmount, { + fromNumericBase: 'hex', + toNumericBase: 'dec', + fromCurrency: 'ETH', + toCurrency: 'ETH', + conversionRate, + numberOfDecimals: 6, + }) + return h(`div${className || ''}`, { key: transActionId, onClick: () => onClick && onClick(transActionId), @@ -87,11 +107,11 @@ TxListItem.prototype.render = function () { 'tx-list-value--confirmed': transactionStatus === 'confirmed' }) }, - transactionAmount + `${totalInETH} ETH`, ), h('span.tx-list-fiat-value', {}, [ - '+ $300 USD', + `${totalInUSD} USD`, ]), ]), diff --git a/ui/app/components/tx-list.js b/ui/app/components/tx-list.js index a7d11203d..e3578646b 100644 --- a/ui/app/components/tx-list.js +++ b/ui/app/components/tx-list.js @@ -40,26 +40,26 @@ TxList.prototype.render = function () { ]), ]), - this.renderTranstions(), + this.renderTransaction(), ]) } -TxList.prototype.renderTranstions = function () { - const { txsToRender } = this.props +TxList.prototype.renderTransaction = function () { + const { txsToRender, conversionRate } = this.props return txsToRender.length - ? txsToRender.map((transaction) => this.renderTransactionListItem(transaction)) + ? txsToRender.map((transaction) => this.renderTransactionListItem(transaction, conversionRate)) : [h('div.tx-list-item.tx-list-item--empty', [ 'No Transactions' ])] } // TODO: Consider moving TxListItem into a separate component -TxList.prototype.renderTransactionListItem = function (transaction) { +TxList.prototype.renderTransactionListItem = function (transaction, conversionRate) { const props = { dateString: formatDate(transaction.time), address: transaction.txParams.to, transactionStatus: transaction.status, - transactionAmount: formatBalance(transaction.txParams.value, 6), + transactionAmount: transaction.txParams.value, transActionId: transaction.id, transactionHash: transaction.hash, transactionNetworkId: transaction.metamaskNetworkId, @@ -85,6 +85,7 @@ TxList.prototype.renderTransactionListItem = function (transaction) { transactionAmount, transactionHash, className: '.tx-list-item.tx-list-clickable', + conversionRate, } if (transactionStatus === 'unapproved') { diff --git a/ui/app/send.js b/ui/app/send.js index 96401cd23..a7e81a847 100644 --- a/ui/app/send.js +++ b/ui/app/send.js @@ -20,6 +20,7 @@ const { } = require('./actions') const { stripHexPrefix, addHexPrefix } = require('ethereumjs-util') const { isHex, numericBalance } = require('./util') +const { conversionUtil } = require('./conversion-util') const ARAGON = '960b236A07cf122663c4303350609A66A7B288C0' @@ -666,11 +667,19 @@ SendTransactionScreen.prototype.onSubmit = function () { this.props.dispatch(addToAddressBook(recipient, nickname)) + const sendAmount = conversionUtil(this.state.newTx.amount, { + fromNumericBase: 'dec', + toNumericBase: 'hex', + fromCurrency: this.props.currentCurrency, + toCurrency: 'ETH', + conversionRate: this.props.conversionRate, + }) + var txParams = { from: this.state.newTx.from, to: this.state.newTx.to, - value: this.state.newTx.amount.toString(16), + value: sendAmount, // New: gas will now be specified on this step gas: this.state.newTx.gas, |