From d3ec1644d3ed6a52cff35b36b9a8b3f04fef1d57 Mon Sep 17 00:00:00 2001 From: Tatyana Stemkovski Date: Fri, 20 Sep 2024 00:33:00 -0400 Subject: [PATCH] Add Mode --- src/constants/tokens.ts | 2 ++ src/crypto/networks.ts | 18 ++++++++++++++++++ src/crypto/providers.ts | 7 +++++++ src/utils/env.ts | 2 ++ 4 files changed, 29 insertions(+) diff --git a/src/constants/tokens.ts b/src/constants/tokens.ts index dd90f57..64ad346 100644 --- a/src/constants/tokens.ts +++ b/src/constants/tokens.ts @@ -42,6 +42,8 @@ export const tokenNameWithChainPrefix = (tokenName: TokenName | string, chainId: return `linea_${tokenName}` as TokenTableName case ChainId.Mantle: return `mantle_${tokenName}` as TokenTableName + case ChainId.Mode: + return `mode_${tokenName}` as TokenTableName case ChainId.Mumbai: return `mum_${tokenName}` as TokenTableName case ChainId.Polygon: diff --git a/src/crypto/networks.ts b/src/crypto/networks.ts index e1dbd2f..ff2fbcc 100644 --- a/src/crypto/networks.ts +++ b/src/crypto/networks.ts @@ -24,6 +24,7 @@ export enum ChainId { Kava = 2222, Linea = 59144, Mantle = 5000, + Mode = 34443, opBNB = 204, Real = 111188, Scroll = 534352, @@ -424,6 +425,23 @@ export const SUPPORTED_NETWORKS: SupportedNetworkList = { } } }, + [ChainId.Mode]: { + chainId: ChainId.Mode, + name: 'Mode', + color: 'linear-gradient(90deg, rgba(161,128,217,1) 0%, rgba(130,71,229,1) 100%)', + icon: generateIconUrl(ChainId.Mode, 'svg'), + env: 'mainnet', + scanLink: 'https://modescan.io/', + scanName: 'Modescan', + coingecko: 'mode', + rpc: { + rpcUrl: 'https://mode.drpc.org', + nativeCurrency: { + symbol: 'ETH', + name: 'ETH' + } + } + }, [ChainId.opBNB]: { chainId: ChainId.opBNB, name: 'op_BNB', diff --git a/src/crypto/providers.ts b/src/crypto/providers.ts index d8d75d6..5014555 100644 --- a/src/crypto/providers.ts +++ b/src/crypto/providers.ts @@ -107,6 +107,11 @@ export const providerCacheReference: Record = { cacheHit: 0, cacheMiss: 0 }, + [ChainId.Mode]: { + lastUdated: 0, + cacheHit: 0, + cacheMiss: 0 + }, [ChainId.opBNB]: { lastUdated: 0, cacheHit: 0, @@ -295,6 +300,8 @@ const getRpcEnvName = (chainId: ChainId): EnvUtils.EnvName => { return EnvUtils.EnvName.LINEA_RPC_HOSTS; case ChainId.Mantle: return EnvUtils.EnvName.MANTLE_RPC_HOSTS; + case ChainId.Mode: + return EnvUtils.EnvName.MODE_RPC_HOSTS; case ChainId.opBNB: return EnvUtils.EnvName.OPBNB_RPC_HOSTS; case ChainId.Polygon: diff --git a/src/utils/env.ts b/src/utils/env.ts index f84405e..6457016 100644 --- a/src/utils/env.ts +++ b/src/utils/env.ts @@ -23,6 +23,7 @@ export namespace EnvUtils { KAVA_RPC_HOSTS = 'KAVA_RPC_HOSTS', LINEA_RPC_HOSTS = 'LINEA_RPC_HOSTS', MANTLE_RPC_HOSTS = 'MANTLE_RPC_HOSTS', + MODE_RPC_HOSTS = 'MODE_RPC_HOSTS', OPBNB_RPC_HOSTS = 'OPBNB_RPC_HOSTS', POLYGON_RPC_HOSTS = 'POLYGON_RPC_HOSTS', REAL_RPC_HOSTS = 'REAL_RPC_HOSTS', @@ -59,6 +60,7 @@ export namespace EnvUtils { GATSBY_KAVA_RPC_HOSTS = 'GATSBY_KAVA_RPC_HOSTS', GATSBY_LINEA_RPC_HOSTS = 'GATSBY_LINEA_RPC_HOSTS', GATSBY_MANTLE_RPC_HOSTS = 'GATSBY_MANTLE_RPC_HOSTS', + GATSBY_MODE_RPC_HOSTS = 'GATSBY_MODE_RPC_HOSTS', GATSBY_OPBNB_RPC_HOSTS = 'GATSBY_OPBNB_RPC_HOSTS', GATSBY_POLYGON_RPC_HOSTS = 'GATSBY_POLYGON_RPC_HOSTS', GATSBY_REAL_RPC_HOSTS = 'GATSBY_REAL_RPC_HOSTS',