1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-11-27 12:56:01 +01:00
metamask-extension/ui/app/selectors.js

47 lines
1.3 KiB
JavaScript
Raw Normal View History

const valuesFor = require('./util').valuesFor
const selectors = {
getSelectedAddress,
getSelectedIdentity,
getSelectedAccount,
conversionRateSelector,
transactionsSelector,
}
module.exports = selectors
2017-08-29 16:50:48 +02:00
function getSelectedAddress (state) {
// TODO: accounts is not defined. Is it needed?
const selectedAddress = state.metamask.selectedAddress || Object.keys(accounts)[0]
return selectedAddress
}
2017-08-29 16:50:48 +02:00
function getSelectedIdentity (state) {
const selectedAddress = getSelectedAddress(state)
const identities = state.metamask.identities
return identities[selectedAddress]
}
2017-08-29 16:50:48 +02:00
function getSelectedAccount (state) {
const accounts = state.metamask.accounts
const selectedAddress = getSelectedAddress(state)
return accounts[selectedAddress]
}
2017-08-29 16:50:48 +02:00
function conversionRateSelector (state) {
return state.metamask.conversionRate
}
2017-08-29 16:50:48 +02:00
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)
2017-08-29 16:50:48 +02:00
}