From f42129c2a27ca9a0b04f3ec5500286fd9bca5afb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Vytick=20Vytrhl=C3=ADk?= Date: Tue, 11 Feb 2025 22:22:34 +0100 Subject: [PATCH] chore(suite-native): refactor slightly native supported networks --- suite-native/config/src/supportedNetworks.ts | 28 +++++++------------ .../discovery/src/discoveryConfigSlice.ts | 16 +++++------ .../src/components/SelectableNetworkList.tsx | 14 +++++----- .../screens/AccountImportSummaryScreen.tsx | 8 ++---- 4 files changed, 28 insertions(+), 38 deletions(-) diff --git a/suite-native/config/src/supportedNetworks.ts b/suite-native/config/src/supportedNetworks.ts index 95f56870751..8fbe4de67a6 100644 --- a/suite-native/config/src/supportedNetworks.ts +++ b/suite-native/config/src/supportedNetworks.ts @@ -40,11 +40,6 @@ export const networkSymbolsWhitelistMap: Record<'mainnet' | 'testnet', readonly testnet: ['test', 'regtest', 'tsep', 'thol', 'dsol', 'tada', 'txrp'], }; -export const discoverySupportedNetworks = [ - ...networkSymbolsWhitelistMap.mainnet, - ...networkSymbolsWhitelistMap.testnet, -]; - export const sortNetworks = (networksToSort: Network[]) => A.sort(networksToSort, (a, b) => { const aOrder = networkSymbolCollection.indexOf(a.symbol); @@ -62,20 +57,17 @@ export const filterTestnetNetworks = ( return networkSymbols.filter(networkSymbol => !isTestnet(networkSymbol)); }; -export const portfolioTrackerMainnets = sortNetworks( - getMainnets().filter(network => networkSymbolsWhitelistMap.mainnet.includes(network.symbol)), -).map(network => network.symbol); - -const getPortfolioTrackerTestnets = () => +export const getNativeMainnetSymbols = () => sortNetworks( - getTestnets().filter(network => - networkSymbolsWhitelistMap.testnet.includes(network.symbol), - ), - ).map(network => network.symbol); + getMainnets().filter(({ symbol }) => networkSymbolsWhitelistMap.mainnet.includes(symbol)), + ).map(n => n.symbol); -export const portfolioTrackerTestnets = getPortfolioTrackerTestnets(); +export const getNativeTestnetSymbols = () => + sortNetworks( + getTestnets().filter(({ symbol }) => networkSymbolsWhitelistMap.testnet.includes(symbol)), + ).map(n => n.symbol); -export const portfolioTrackerSupportedNetworks = [ - ...portfolioTrackerMainnets, - ...portfolioTrackerTestnets, +export const discoverySupportedNetworks = [ + ...getNativeMainnetSymbols(), + ...getNativeTestnetSymbols(), ]; diff --git a/suite-native/discovery/src/discoveryConfigSlice.ts b/suite-native/discovery/src/discoveryConfigSlice.ts index 600ae0a4dda..dc6cbd53e87 100644 --- a/suite-native/discovery/src/discoveryConfigSlice.ts +++ b/suite-native/discovery/src/discoveryConfigSlice.ts @@ -11,9 +11,9 @@ import { } from '@suite-common/wallet-core'; import { filterTestnetNetworks, + getNativeMainnetSymbols, + getNativeTestnetSymbols, isDetoxTestBuild, - portfolioTrackerMainnets, - portfolioTrackerTestnets, sortNetworks, } from '@suite-native/config'; import { @@ -132,19 +132,19 @@ export const selectDiscoveryNetworkSymbols = createMemoizedSelector( supportedNetworks => returnStableArrayIfEmpty(supportedNetworks.map(n => n.symbol)), ); -export const selectPortfolioTrackerTestnetNetworkSymbols = createMemoizedSelector( +export const selectSupportedTestnetNetworkSymbols = createMemoizedSelector( [state => selectIsFeatureFlagEnabled(state, FeatureFlag.IsRegtestEnabled)], isRegtestEnabled => returnStableArrayIfEmpty( isRegtestEnabled - ? [...portfolioTrackerTestnets, 'regtest' as const] - : portfolioTrackerTestnets, + ? [...getNativeTestnetSymbols(), 'regtest' as const] + : getNativeTestnetSymbols(), ), ); -export const selectPortfolioTrackerNetworkSymbols = createMemoizedSelector( - [selectPortfolioTrackerTestnetNetworkSymbols], - testnets => returnStableArrayIfEmpty([...portfolioTrackerMainnets, ...testnets]), +export const selectSupportedNetworkSymbols = createMemoizedSelector( + [selectSupportedTestnetNetworkSymbols], + testnets => returnStableArrayIfEmpty([...getNativeMainnetSymbols(), ...testnets]), ); export const selectIsCoinEnablingInitFinished = ( diff --git a/suite-native/module-accounts-import/src/components/SelectableNetworkList.tsx b/suite-native/module-accounts-import/src/components/SelectableNetworkList.tsx index 6ffc6114237..6b15dade1fd 100644 --- a/suite-native/module-accounts-import/src/components/SelectableNetworkList.tsx +++ b/suite-native/module-accounts-import/src/components/SelectableNetworkList.tsx @@ -4,8 +4,8 @@ import { useSelector } from 'react-redux'; import { type NetworkSymbol } from '@suite-common/wallet-config'; import { SelectableNetworkItem } from '@suite-native/accounts'; import { HeaderedCard, VStack } from '@suite-native/atoms'; -import { portfolioTrackerMainnets } from '@suite-native/config'; -import { selectPortfolioTrackerTestnetNetworkSymbols } from '@suite-native/discovery'; +import { getNativeMainnetSymbols } from '@suite-native/config'; +import { selectSupportedTestnetNetworkSymbols } from '@suite-native/discovery'; import { Translation } from '@suite-native/intl'; type SelectableAssetListProps = { @@ -31,20 +31,20 @@ const NetworkItemSection = ({ ); export const SelectableNetworkList = ({ onSelectItem }: SelectableAssetListProps) => { - const portfolioTestnetsNetworkSymbols = useSelector( - selectPortfolioTrackerTestnetNetworkSymbols, - ); + const testnetsSymbols = useSelector(selectSupportedTestnetNetworkSymbols); + + const mainnetSymbols = getNativeMainnetSymbols(); return ( } - symbols={portfolioTrackerMainnets} + symbols={mainnetSymbols} onSelectItem={onSelectItem} /> } - symbols={portfolioTestnetsNetworkSymbols} + symbols={testnetsSymbols} onSelectItem={onSelectItem} /> diff --git a/suite-native/module-accounts-import/src/screens/AccountImportSummaryScreen.tsx b/suite-native/module-accounts-import/src/screens/AccountImportSummaryScreen.tsx index 0bbe4fd5f01..84a33b10124 100644 --- a/suite-native/module-accounts-import/src/screens/AccountImportSummaryScreen.tsx +++ b/suite-native/module-accounts-import/src/screens/AccountImportSummaryScreen.tsx @@ -6,7 +6,7 @@ import { selectDeviceAccountByDescriptorAndNetworkSymbol, } from '@suite-common/wallet-core'; import { ErrorMessage } from '@suite-native/atoms'; -import { selectPortfolioTrackerNetworkSymbols } from '@suite-native/discovery'; +import { selectSupportedNetworkSymbols } from '@suite-native/discovery'; import { FeatureFlag, useFeatureFlag } from '@suite-native/feature-flags'; import { Translation } from '@suite-native/intl'; import { @@ -39,12 +39,10 @@ export const AccountImportSummaryScreen = ({ networkSymbol, ), ); - const portfolioTrackerSupportedNetworks = useSelector(selectPortfolioTrackerNetworkSymbols); + const supportedNetworks = useSelector(selectSupportedNetworkSymbols); const isAccountImportSupported = - portfolioTrackerSupportedNetworks.some( - supportedSymbol => supportedSymbol === networkSymbol, - ) || + supportedNetworks.some(supportedSymbol => supportedSymbol === networkSymbol) || (networkSymbol === 'regtest' && isRegtestEnabled); if (!isAccountImportSupported) {