aboutsummaryrefslogtreecommitdiffstats
path: root/ui/app/components/token-view-balance/token-view-balance.container.js
blob: 692e6e32f1a2e09b0949752a76849e59b8b47c67 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
import { connect } from 'react-redux'
import { withRouter } from 'react-router-dom'
import { compose } from 'recompose'
import TokenViewBalance from './token-view-balance.component'
import { getSelectedToken, getSelectedAddress } from '../../selectors'
import { showModal } from '../../actions'
import { getValueFromWeiHex } from '../../helpers/confirm-transaction/util'

const mapStateToProps = state => {
  const selectedAddress = getSelectedAddress(state)
  const { metamask } = state
  const { network, accounts, currentCurrency, conversionRate } = metamask
  const account = accounts[selectedAddress]
  const { balance: value } = account

  const ethBalance = getValueFromWeiHex({
    value, toCurrency: 'ETH', conversionRate, numberOfDecimals: 3,
  })

  const fiatBalance = getValueFromWeiHex({
    value, toCurrency: currentCurrency, conversionRate, numberOfDecimals: 2,
  })

  return {
    selectedToken: getSelectedToken(state),
    network,
    ethBalance,
    fiatBalance,
    currentCurrency,
  }
}

const mapDispatchToProps = dispatch => {
  return {
    showDepositModal: () => dispatch(showModal({ name: 'DEPOSIT_ETHER' })),
  }
}

export default compose(
  withRouter,
  connect(mapStateToProps, mapDispatchToProps)
)(TokenViewBalance)