|
|
|
@ -6,8 +6,6 @@ import CurrencyDisplay from '../currency-display' |
|
|
|
|
import UserPreferencedCurrencyDisplay from '../user-preferenced-currency-display' |
|
|
|
|
import HexToDecimal from '../hex-to-decimal' |
|
|
|
|
import { GWEI, PRIMARY, SECONDARY } from '../../constants/common' |
|
|
|
|
import { getHexGasTotal } from '../../helpers/confirm-transaction/util' |
|
|
|
|
import { sumHexes } from '../../helpers/transactions.util' |
|
|
|
|
|
|
|
|
|
export default class TransactionBreakdown extends PureComponent { |
|
|
|
|
static contextTypes = { |
|
|
|
@ -19,6 +17,11 @@ export default class TransactionBreakdown extends PureComponent { |
|
|
|
|
className: PropTypes.string, |
|
|
|
|
nativeCurrency: PropTypes.string.isRequired, |
|
|
|
|
showFiat: PropTypes.bool, |
|
|
|
|
gas: PropTypes.oneOfType([PropTypes.string, PropTypes.number]), |
|
|
|
|
gasPrice: PropTypes.oneOfType([PropTypes.string, PropTypes.number]), |
|
|
|
|
value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]), |
|
|
|
|
gasUsed: PropTypes.oneOfType([PropTypes.string, PropTypes.number]), |
|
|
|
|
totalInHex: PropTypes.oneOfType([PropTypes.string, PropTypes.number]), |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static defaultProps = { |
|
|
|
@ -28,13 +31,7 @@ export default class TransactionBreakdown extends PureComponent { |
|
|
|
|
|
|
|
|
|
render () { |
|
|
|
|
const { t } = this.context |
|
|
|
|
const { transaction, className, nativeCurrency, showFiat } = this.props |
|
|
|
|
const { txParams: { gas, gasPrice, value } = {}, txReceipt: { gasUsed } = {} } = transaction |
|
|
|
|
|
|
|
|
|
const gasLimit = typeof gasUsed === 'string' ? gasUsed : gas |
|
|
|
|
|
|
|
|
|
const hexGasTotal = getHexGasTotal({ gasLimit, gasPrice }) |
|
|
|
|
const totalInHex = sumHexes(hexGasTotal, value) |
|
|
|
|
const { gas, gasPrice, value, className, nativeCurrency, showFiat, totalInHex, gasUsed } = this.props |
|
|
|
|
|
|
|
|
|
return ( |
|
|
|
|
<div className={classnames('transaction-breakdown', className)}> |
|
|
|
@ -52,10 +49,13 @@ export default class TransactionBreakdown extends PureComponent { |
|
|
|
|
title={`${t('gasLimit')} (${t('units')})`} |
|
|
|
|
className="transaction-breakdown__row-title" |
|
|
|
|
> |
|
|
|
|
<HexToDecimal |
|
|
|
|
{typeof gas !== 'undefined' |
|
|
|
|
? <HexToDecimal |
|
|
|
|
className="transaction-breakdown__value" |
|
|
|
|
value={gas} |
|
|
|
|
/> |
|
|
|
|
: '?' |
|
|
|
|
} |
|
|
|
|
</TransactionBreakdownRow> |
|
|
|
|
{ |
|
|
|
|
typeof gasUsed === 'string' && ( |
|
|
|
@ -71,13 +71,16 @@ export default class TransactionBreakdown extends PureComponent { |
|
|
|
|
) |
|
|
|
|
} |
|
|
|
|
<TransactionBreakdownRow title={t('gasPrice')}> |
|
|
|
|
<CurrencyDisplay |
|
|
|
|
{typeof gasPrice !== 'undefined' |
|
|
|
|
? <CurrencyDisplay |
|
|
|
|
className="transaction-breakdown__value" |
|
|
|
|
currency={nativeCurrency} |
|
|
|
|
denomination={GWEI} |
|
|
|
|
value={gasPrice} |
|
|
|
|
hideLabel |
|
|
|
|
/> |
|
|
|
|
: '?' |
|
|
|
|
} |
|
|
|
|
</TransactionBreakdownRow> |
|
|
|
|
<TransactionBreakdownRow title={t('total')}> |
|
|
|
|
<div> |
|
|
|
|