mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-12-23 09:52:26 +01:00
UX: Multichain: Improve networks selector (#19083)
* UX: Multichain: Improve networks selector * Update ui/selectors/selectors.js Co-authored-by: legobeat <109787230+legobeat@users.noreply.github.com> * Update ui/selectors/selectors.js Co-authored-by: legobeat <109787230+legobeat@users.noreply.github.com> * Update ui/selectors/selectors.js Co-authored-by: legobeat <109787230+legobeat@users.noreply.github.com> * Improvements --------- Co-authored-by: legobeat <109787230+legobeat@users.noreply.github.com>
This commit is contained in:
parent
f95320d03e
commit
e5fdb72acc
@ -1170,61 +1170,56 @@ export function getAllEnabledNetworks(state) {
|
||||
|
||||
export function getAllNetworks(state) {
|
||||
const networkConfigurations = getNetworkConfigurations(state) || {};
|
||||
const localhostFilter = (network) => network.chainId === CHAIN_IDS.LOCALHOST;
|
||||
|
||||
const networks = [];
|
||||
// Mainnet always first
|
||||
networks.push({
|
||||
chainId: CHAIN_IDS.MAINNET,
|
||||
nickname: MAINNET_DISPLAY_NAME,
|
||||
rpcUrl: CHAIN_ID_TO_RPC_URL_MAP[CHAIN_IDS.MAINNET],
|
||||
rpcPrefs: {
|
||||
imageUrl: ETH_TOKEN_IMAGE_URL,
|
||||
const networks = [
|
||||
// Mainnet always first
|
||||
{
|
||||
chainId: CHAIN_IDS.MAINNET,
|
||||
nickname: MAINNET_DISPLAY_NAME,
|
||||
rpcUrl: CHAIN_ID_TO_RPC_URL_MAP[CHAIN_IDS.MAINNET],
|
||||
rpcPrefs: {
|
||||
imageUrl: ETH_TOKEN_IMAGE_URL,
|
||||
},
|
||||
providerType: NETWORK_TYPES.MAINNET,
|
||||
ticker: CURRENCY_SYMBOLS.ETH,
|
||||
},
|
||||
providerType: NETWORK_TYPES.MAINNET,
|
||||
ticker: CURRENCY_SYMBOLS.ETH,
|
||||
});
|
||||
// Custom networks added
|
||||
networks.push(
|
||||
...Object.entries(networkConfigurations)
|
||||
.filter(
|
||||
([, network]) =>
|
||||
!localhostFilter(network) &&
|
||||
network.chainId !== CHAIN_IDS.MAINNET &&
|
||||
// Custom networks added by the user
|
||||
...Object.values(networkConfigurations).filter(
|
||||
({ chainId }) =>
|
||||
![
|
||||
CHAIN_IDS.LOCALHOST,
|
||||
CHAIN_IDS.MAINNET,
|
||||
// Linea gets added as a custom network configuration so
|
||||
// we must ignore it here to display in test networks
|
||||
network.chainId !== CHAIN_IDS.LINEA_TESTNET,
|
||||
)
|
||||
.map(([, network]) => network),
|
||||
);
|
||||
// Test networks
|
||||
networks.push(
|
||||
...[
|
||||
{
|
||||
chainId: CHAIN_IDS.GOERLI,
|
||||
nickname: GOERLI_DISPLAY_NAME,
|
||||
rpcUrl: CHAIN_ID_TO_RPC_URL_MAP[CHAIN_IDS.GOERLI],
|
||||
providerType: NETWORK_TYPES.GOERLI,
|
||||
ticker: TEST_NETWORK_TICKER_MAP[NETWORK_TYPES.GOERLI],
|
||||
},
|
||||
{
|
||||
chainId: CHAIN_IDS.SEPOLIA,
|
||||
nickname: SEPOLIA_DISPLAY_NAME,
|
||||
rpcUrl: CHAIN_ID_TO_RPC_URL_MAP[CHAIN_IDS.SEPOLIA],
|
||||
providerType: NETWORK_TYPES.SEPOLIA,
|
||||
ticker: TEST_NETWORK_TICKER_MAP[NETWORK_TYPES.SEPOLIA],
|
||||
},
|
||||
{
|
||||
chainId: CHAIN_IDS.LINEA_TESTNET,
|
||||
nickname: LINEA_TESTNET_DISPLAY_NAME,
|
||||
rpcUrl: CHAIN_ID_TO_RPC_URL_MAP[CHAIN_IDS.LINEA_TESTNET],
|
||||
ticker: TEST_NETWORK_TICKER_MAP[NETWORK_TYPES.LINEA_TESTNET],
|
||||
},
|
||||
], // Localhosts
|
||||
...Object.entries(networkConfigurations)
|
||||
.filter(([, network]) => localhostFilter(network))
|
||||
.map(([, network]) => network),
|
||||
);
|
||||
CHAIN_IDS.LINEA_TESTNET,
|
||||
].includes(chainId),
|
||||
),
|
||||
// Test networks
|
||||
{
|
||||
chainId: CHAIN_IDS.GOERLI,
|
||||
nickname: GOERLI_DISPLAY_NAME,
|
||||
rpcUrl: CHAIN_ID_TO_RPC_URL_MAP[CHAIN_IDS.GOERLI],
|
||||
providerType: NETWORK_TYPES.GOERLI,
|
||||
ticker: TEST_NETWORK_TICKER_MAP[NETWORK_TYPES.GOERLI],
|
||||
},
|
||||
{
|
||||
chainId: CHAIN_IDS.SEPOLIA,
|
||||
nickname: SEPOLIA_DISPLAY_NAME,
|
||||
rpcUrl: CHAIN_ID_TO_RPC_URL_MAP[CHAIN_IDS.SEPOLIA],
|
||||
providerType: NETWORK_TYPES.SEPOLIA,
|
||||
ticker: TEST_NETWORK_TICKER_MAP[NETWORK_TYPES.SEPOLIA],
|
||||
},
|
||||
{
|
||||
chainId: CHAIN_IDS.LINEA_TESTNET,
|
||||
nickname: LINEA_TESTNET_DISPLAY_NAME,
|
||||
rpcUrl: CHAIN_ID_TO_RPC_URL_MAP[CHAIN_IDS.LINEA_TESTNET],
|
||||
ticker: TEST_NETWORK_TICKER_MAP[NETWORK_TYPES.LINEA_TESTNET],
|
||||
},
|
||||
// Localhosts
|
||||
...Object.values(networkConfigurations).filter(
|
||||
({ chainId }) => chainId === CHAIN_IDS.LOCALHOST,
|
||||
),
|
||||
];
|
||||
|
||||
return networks;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user