src/modules/auth/selectors/login-account.js
import { createSelector } from "reselect";
import {
selectLoginAccountState,
selectAccountNameState
} from "src/select-state";
import { formatRep, formatEther } from "utils/format-number";
import generateDownloadAccountLink from "modules/auth/helpers/generate-download-account-link";
import store from "src/store";
import getValue from "utils/get-value";
export default function() {
return selectLoginAccount(store.getState());
}
export const selectLoginAccount = createSelector(
selectLoginAccountState,
selectAccountNameState,
(loginAccount, accountName) => ({
...loginAccount,
...generateDownloadAccountLink(
loginAccount.address,
loginAccount.keystore,
getValue(loginAccount, "privateKey.data")
? loginAccount.privateKey.data
: loginAccount.privateKey
), // Ternary due to differences in the way data is stored between Airbitz + local -- TODO -- unify
accountName,
rep: formatRep(loginAccount.rep, { zeroStyled: false, decimalsRounded: 4 }),
eth: formatEther(loginAccount.eth, {
zeroStyled: false,
decimalsRounded: 4
})
})
);