diff options
author | Chi Kei Chan <chikeichan@gmail.com> | 2019-03-22 07:03:30 +0800 |
---|---|---|
committer | Dan J Miller <danjm.com@gmail.com> | 2019-03-22 07:03:30 +0800 |
commit | 31175625b446cb5d18b17db23018bca8b14d280c (patch) | |
tree | f54e159883deef003fb281267025edf796eb8004 /ui/app/selectors.js | |
parent | 7287133e15fab22299e07704206e85bc855d1064 (diff) | |
download | tangerine-wallet-browser-31175625b446cb5d18b17db23018bca8b14d280c.tar tangerine-wallet-browser-31175625b446cb5d18b17db23018bca8b14d280c.tar.gz tangerine-wallet-browser-31175625b446cb5d18b17db23018bca8b14d280c.tar.bz2 tangerine-wallet-browser-31175625b446cb5d18b17db23018bca8b14d280c.tar.lz tangerine-wallet-browser-31175625b446cb5d18b17db23018bca8b14d280c.tar.xz tangerine-wallet-browser-31175625b446cb5d18b17db23018bca8b14d280c.tar.zst tangerine-wallet-browser-31175625b446cb5d18b17db23018bca8b14d280c.zip |
Folder restructure (#6304)
* Remove ui/app/keychains/
* Remove ui/app/img/ (unused images)
* Move conversion-util to helpers/utils/
* Move token-util to helpers/utils/
* Move /helpers/*.js inside /helpers/utils/
* Move util tests inside /helpers/utils/
* Renameand move confirm-transaction/util.js to helpers/utils/
* Move higher-order-components to helpers/higher-order-components/
* Move infura-conversion.json to helpers/constants/
* Move all utility functions to helpers/utils/
* Move pages directory to top-level
* Move all constants to helpers/constants/
* Move metametrics inside helpers/
* Move app and root inside pages/
* Move routes inside helpers/
* Re-organize ducks/
* Move reducers to ducks/
* Move selectors inside selectors/
* Move test out of test folder
* Move action, reducer, store inside store/
* Move ui components inside ui/
* Move UI components inside ui/
* Move connected components inside components/app/
* Move i18n-helper inside helpers/
* Fix unit tests
* Fix unit test
* Move pages components
* Rename routes component
* Move reducers to ducks/index
* Fix bad path in unit test
Diffstat (limited to 'ui/app/selectors.js')
-rw-r--r-- | ui/app/selectors.js | 301 |
1 files changed, 0 insertions, 301 deletions
diff --git a/ui/app/selectors.js b/ui/app/selectors.js deleted file mode 100644 index 663c3f12b..000000000 --- a/ui/app/selectors.js +++ /dev/null @@ -1,301 +0,0 @@ -import {NETWORK_TYPES} from './constants/common' -import { stripHexPrefix } from 'ethereumjs-util' - -const abi = require('human-standard-token-abi') -import { - transactionsSelector, -} from './selectors/transactions' -const { - multiplyCurrencies, -} = require('./conversion-util') - -const selectors = { - getSelectedAddress, - getSelectedIdentity, - getSelectedAccount, - getSelectedToken, - getSelectedTokenExchangeRate, - getSelectedTokenAssetImage, - getAssetImages, - getTokenExchangeRate, - conversionRateSelector, - transactionsSelector, - accountsWithSendEtherInfoSelector, - getCurrentAccountWithSendEtherInfo, - getGasIsLoading, - getForceGasMin, - getAddressBook, - getSendFrom, - getCurrentCurrency, - getNativeCurrency, - getSendAmount, - getSelectedTokenToFiatRate, - getSelectedTokenContract, - getSendMaxModeState, - getCurrentViewContext, - getTotalUnapprovedCount, - preferencesSelector, - getMetaMaskAccounts, - getCurrentEthBalance, - getNetworkIdentifier, - isBalanceCached, - getAdvancedInlineGasShown, - getIsMainnet, - getCurrentNetworkId, - getSelectedAsset, - getCurrentKeyring, - getAccountType, - getNumberOfAccounts, - getNumberOfTokens, -} - -module.exports = selectors - -function getNetworkIdentifier (state) { - const { metamask: { provider: { type, nickname, rpcTarget } } } = state - - return nickname || rpcTarget || type -} - -function getCurrentKeyring (state) { - const identity = getSelectedIdentity(state) - - if (!identity) { - return null - } - - const simpleAddress = stripHexPrefix(identity.address).toLowerCase() - - const keyring = state.metamask.keyrings.find((kr) => { - return kr.accounts.includes(simpleAddress) || - kr.accounts.includes(identity.address) - }) - - return keyring -} - -function getAccountType (state) { - const currentKeyring = getCurrentKeyring(state) - const type = currentKeyring && currentKeyring.type - - switch (type) { - case 'Trezor Hardware': - case 'Ledger Hardware': - return 'hardware' - case 'Simple Key Pair': - return 'imported' - default: - return 'default' - } -} - -function getSelectedAsset (state) { - return getSelectedToken(state) || 'ETH' -} - -function getCurrentNetworkId (state) { - return state.metamask.network -} - -function getSelectedAddress (state) { - const selectedAddress = state.metamask.selectedAddress || Object.keys(getMetaMaskAccounts(state))[0] - - return selectedAddress -} - -function getSelectedIdentity (state) { - const selectedAddress = getSelectedAddress(state) - const identities = state.metamask.identities - - return identities[selectedAddress] -} - -function getNumberOfAccounts (state) { - return Object.keys(state.metamask.accounts).length -} - -function getNumberOfTokens (state) { - const tokens = state.metamask.tokens - return tokens ? tokens.length : 0 -} - -function getMetaMaskAccounts (state) { - const currentAccounts = state.metamask.accounts - const cachedBalances = state.metamask.cachedBalances[state.metamask.network] - const selectedAccounts = {} - - Object.keys(currentAccounts).forEach(accountID => { - const account = currentAccounts[accountID] - if (account && account.balance === null || account.balance === undefined) { - selectedAccounts[accountID] = { - ...account, - balance: cachedBalances && cachedBalances[accountID], - } - } else { - selectedAccounts[accountID] = account - } - }) - return selectedAccounts -} - -function isBalanceCached (state) { - const selectedAccountBalance = state.metamask.accounts[getSelectedAddress(state)].balance - const cachedBalance = getSelectedAccountCachedBalance(state) - - return Boolean(!selectedAccountBalance && cachedBalance) -} - -function getSelectedAccountCachedBalance (state) { - const cachedBalances = state.metamask.cachedBalances[state.metamask.network] - const selectedAddress = getSelectedAddress(state) - - return cachedBalances && cachedBalances[selectedAddress] -} - -function getSelectedAccount (state) { - const accounts = getMetaMaskAccounts(state) - const selectedAddress = getSelectedAddress(state) - - return accounts[selectedAddress] -} - -function getSelectedToken (state) { - const tokens = state.metamask.tokens || [] - const selectedTokenAddress = state.metamask.selectedTokenAddress - const selectedToken = tokens.filter(({ address }) => address === selectedTokenAddress)[0] - const sendToken = state.metamask.send.token - - return selectedToken || sendToken || null -} - -function getSelectedTokenExchangeRate (state) { - const contractExchangeRates = state.metamask.contractExchangeRates - const selectedToken = getSelectedToken(state) || {} - const { address } = selectedToken - return contractExchangeRates[address] || 0 -} - -function getSelectedTokenAssetImage (state) { - const assetImages = state.metamask.assetImages || {} - const selectedToken = getSelectedToken(state) || {} - const { address } = selectedToken - return assetImages[address] -} - -function getAssetImages (state) { - const assetImages = state.metamask.assetImages || {} - return assetImages -} - -function getTokenExchangeRate (state, address) { - const contractExchangeRates = state.metamask.contractExchangeRates - return contractExchangeRates[address] || 0 -} - -function conversionRateSelector (state) { - return state.metamask.conversionRate -} - -function getAddressBook (state) { - return state.metamask.addressBook -} - -function accountsWithSendEtherInfoSelector (state) { - const accounts = getMetaMaskAccounts(state) - const { identities } = state.metamask - - const accountsWithSendEtherInfo = Object.entries(accounts).map(([key, account]) => { - return Object.assign({}, account, identities[key]) - }) - - return accountsWithSendEtherInfo -} - -function getCurrentAccountWithSendEtherInfo (state) { - const currentAddress = getSelectedAddress(state) - const accounts = accountsWithSendEtherInfoSelector(state) - - return accounts.find(({ address }) => address === currentAddress) -} - -function getCurrentEthBalance (state) { - return getCurrentAccountWithSendEtherInfo(state).balance -} - -function getGasIsLoading (state) { - return state.appState.gasIsLoading -} - -function getForceGasMin (state) { - return state.metamask.send.forceGasMin -} - -function getSendFrom (state) { - return state.metamask.send.from -} - -function getSendAmount (state) { - return state.metamask.send.amount -} - -function getSendMaxModeState (state) { - return state.metamask.send.maxModeOn -} - -function getCurrentCurrency (state) { - return state.metamask.currentCurrency -} - -function getNativeCurrency (state) { - return state.metamask.nativeCurrency -} - -function getSelectedTokenToFiatRate (state) { - const selectedTokenExchangeRate = getSelectedTokenExchangeRate(state) - const conversionRate = conversionRateSelector(state) - - const tokenToFiatRate = multiplyCurrencies( - conversionRate, - selectedTokenExchangeRate, - { toNumericBase: 'dec' } - ) - - return tokenToFiatRate -} - -function getSelectedTokenContract (state) { - const selectedToken = getSelectedToken(state) - return selectedToken - ? global.eth.contract(abi).at(selectedToken.address) - : null -} - -function getCurrentViewContext (state) { - const { currentView = {} } = state.appState - return currentView.context -} - -function getTotalUnapprovedCount ({ metamask }) { - const { - unapprovedTxs = {}, - unapprovedMsgCount, - unapprovedPersonalMsgCount, - unapprovedTypedMessagesCount, - } = metamask - - return Object.keys(unapprovedTxs).length + unapprovedMsgCount + unapprovedPersonalMsgCount + - unapprovedTypedMessagesCount -} - -function getIsMainnet (state) { - const networkType = getNetworkIdentifier(state) - return networkType === NETWORK_TYPES.MAINNET -} - -function preferencesSelector ({ metamask }) { - return metamask.preferences -} - -function getAdvancedInlineGasShown (state) { - return Boolean(state.metamask.featureFlags.advancedInlineGas) -} |