diff --git a/src/providers/Web3.tsx b/src/providers/Web3.tsx index bc3e04ab5..e5cfec036 100644 --- a/src/providers/Web3.tsx +++ b/src/providers/Web3.tsx @@ -16,7 +16,9 @@ import { isBrowser } from '../utils' import { EthereumListsChain, getNetworkDataById, - getNetworkDisplayName + getNetworkDisplayName, + getNetworkType, + NetworkType } from '../utils/web3' import { getEnsName } from '../utils/ens' import { UserBalance } from '../@types/TokenBalance' @@ -258,9 +260,7 @@ function Web3Provider({ children }: { children: ReactNode }): ReactElement { setNetworkDisplayName(networkDisplayName) // Figure out if we're on a chain's testnet, or not - setIsTestnet( - networkData?.network !== 'mainnet' && networkData.network !== 'moonriver' - ) + setIsTestnet(getNetworkType(networkData) !== NetworkType.Mainnet) Logger.log(`[web3] Network display name set to: ${networkDisplayName}`) }, [networkId, networksList]) diff --git a/src/utils/web3.ts b/src/utils/web3.ts index 367a9b223..765a50687 100644 --- a/src/utils/web3.ts +++ b/src/utils/web3.ts @@ -24,6 +24,11 @@ export interface NetworkObject { urlList: string[] } +export enum NetworkType { + Mainnet = 'mainnet', + Testnet = 'testnet' +} + const configGaiaX = getOceanConfig(2021000) export const networkDataGaiaX: EthereumListsChain = { @@ -54,15 +59,14 @@ export function getNetworkType(network: EthereumListsChain): string { // HEADS UP! Hack for getting network's type main/test, without using // .network field, which is innexistent on https://chainid.network/chains.json // We hack in mainnet detection for moonriver. - if ( !network.name.includes('Testnet') && !network.title?.includes('Testnet') && network.name !== 'Moonbase Alpha' ) { - return 'mainnet' + return NetworkType.Mainnet } else { - return 'testnet' + return NetworkType.Testnet } }