1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-11-25 11:28:51 +01:00
metamask-extension/ui/pages/import-token/import-token.container.js
Mark Stacey 88ae10418b
Expand usage of getProviderConfig selector (#18906)
The `getProviderConfig` selector is now used anywhere the `provider`
state was previously referenced directly. This was done to simplify
renaming this state from `provider` to `providerConfig` in a later PR.

Note that there are many opportunities left to use more-specific
selectors (e.g. `getChainId()` over `getProviderConfig().chainId`), but
that was intentionally omitted from this PR to reduce the size. I
started going down this path and it quickly exploded in scope.

Relates to #18902
2023-05-02 10:06:24 -02:30

67 lines
2.0 KiB
JavaScript

import { connect } from 'react-redux';
import {
setPendingTokens,
clearPendingTokens,
getTokenStandardAndDetails,
} from '../../store/actions';
import { getMostRecentOverviewPage } from '../../ducks/history/history';
import { getProviderConfig } from '../../ducks/metamask/metamask';
import {
getRpcPrefsForCurrentProvider,
getIsTokenDetectionSupported,
getTokenDetectionSupportNetworkByChainId,
getIsTokenDetectionInactiveOnMainnet,
getIsDynamicTokenListAvailable,
getIstokenDetectionInactiveOnNonMainnetSupportedNetwork,
getTokenList,
} from '../../selectors/selectors';
import ImportToken from './import-token.component';
const mapStateToProps = (state) => {
const {
metamask: {
identities,
tokens,
pendingTokens,
useTokenDetection,
selectedAddress,
},
} = state;
const { chainId } = getProviderConfig(state);
const isTokenDetectionInactiveOnMainnet =
getIsTokenDetectionInactiveOnMainnet(state);
const showSearchTab =
getIsTokenDetectionSupported(state) ||
isTokenDetectionInactiveOnMainnet ||
Boolean(process.env.IN_TEST);
return {
identities,
mostRecentOverviewPage: getMostRecentOverviewPage(state),
tokens,
pendingTokens,
showSearchTab,
chainId,
rpcPrefs: getRpcPrefsForCurrentProvider(state),
tokenList: getTokenList(state),
useTokenDetection,
selectedAddress,
isDynamicTokenListAvailable: getIsDynamicTokenListAvailable(state),
networkName: getTokenDetectionSupportNetworkByChainId(state),
tokenDetectionInactiveOnNonMainnetSupportedNetwork:
getIstokenDetectionInactiveOnNonMainnetSupportedNetwork(state),
};
};
const mapDispatchToProps = (dispatch) => {
return {
setPendingTokens: (tokens) => dispatch(setPendingTokens(tokens)),
clearPendingTokens: () => dispatch(clearPendingTokens()),
getTokenStandardAndDetails: (address, selectedAddress) =>
getTokenStandardAndDetails(address, selectedAddress, null),
};
};
export default connect(mapStateToProps, mapDispatchToProps)(ImportToken);