const valuesFor = require('./util').valuesFor const selectors = { getSelectedAddress, getSelectedIdentity, getSelectedAccount, conversionRateSelector, transactionsSelector, } module.exports = selectors function getSelectedAddress(state) { const selectedAddress = state.metamask.selectedAddress || Object.keys(accounts)[0] return selectedAddress } function getSelectedIdentity(state) { const selectedAddress = getSelectedAddress(state) const identities = state.metamask.identities return identities[selectedAddress] } function getSelectedAccount(state) { const accounts = state.metamask.accounts const selectedAddress = getSelectedAddress(state) return accounts[selectedAddress] } function conversionRateSelector(state) { return state.metamask.conversionRate } function transactionsSelector(state) { const { network } = state.metamask const unapprovedMsgs = valuesFor(state.metamask.unapprovedMsgs) const shapeShiftTxList = (network === '1') ? state.metamask.shapeShiftTxList : undefined const transactions = state.metamask.selectedAddressTxList || [] const txsToRender = !shapeShiftTxList ? transactions.concat(unapprovedMsgs) : transactions.concat(unapprovedMsgs, shapeShiftTxList) return txsToRender.sort((a, b) => b.time - a.time) }