import { connect } from 'react-redux'; import { tryReverseResolveAddress } from '../../../store/actions'; import { getAddressBook, getRpcPrefsForCurrentProvider, getEnsResolutionByAddress, } from '../../../selectors'; import { toChecksumHexAddress } from '../../../../shared/modules/hexstring-utils'; import TransactionListItemDetails from './transaction-list-item-details.component'; const mapStateToProps = (state, ownProps) => { const { recipientAddress, senderAddress } = ownProps; let recipientEns; if (recipientAddress) { const address = toChecksumHexAddress(recipientAddress); recipientEns = getEnsResolutionByAddress(state, address); } const addressBook = getAddressBook(state); const getNickName = (address) => { const entry = addressBook.find((contact) => { return address.toLowerCase() === contact.address.toLowerCase(); }); return (entry && entry.name) || ''; }; const rpcPrefs = getRpcPrefsForCurrentProvider(state); return { rpcPrefs, recipientEns, senderNickname: getNickName(senderAddress), recipientNickname: recipientAddress ? getNickName(recipientAddress) : null, }; }; const mapDispatchToProps = (dispatch) => { return { tryReverseResolveAddress: (address) => { return dispatch(tryReverseResolveAddress(address)); }, }; }; export default connect( mapStateToProps, mapDispatchToProps, )(TransactionListItemDetails);