import { connect } from 'react-redux' import { withRouter } from 'react-router-dom' import { compose } from 'recompose' import TransactionList from './transaction-list.component' import { nonceSortedCompletedTransactionsSelector, nonceSortedPendingTransactionsSelector, } from '../../selectors/transactions' import { getSelectedAddress, getAssetImages } from '../../selectors' import { selectedTokenSelector } from '../../selectors/tokens' import { updateNetworkNonce } from '../../actions' const mapStateToProps = state => { return { completedTransactions: nonceSortedCompletedTransactionsSelector(state), pendingTransactions: nonceSortedPendingTransactionsSelector(state), selectedToken: selectedTokenSelector(state), selectedAddress: getSelectedAddress(state), assetImages: getAssetImages(state), } } const mapDispatchToProps = dispatch => { return { updateNetworkNonce: address => dispatch(updateNetworkNonce(address)), } } const mergeProps = (stateProps, dispatchProps, ownProps) => { const { selectedAddress, ...restStateProps } = stateProps const { updateNetworkNonce, ...restDispatchProps } = dispatchProps return { ...restStateProps, ...restDispatchProps, ...ownProps, updateNetworkNonce: () => updateNetworkNonce(selectedAddress), } } export default compose( withRouter, connect(mapStateToProps, mapDispatchToProps, mergeProps) )(TransactionList)