diff --git a/pages/api/rpc-proxy.ts b/pages/api/rpc-proxy.ts index 0e65bda939..662a607156 100644 --- a/pages/api/rpc-proxy.ts +++ b/pages/api/rpc-proxy.ts @@ -47,6 +47,14 @@ const NETWORK_CONFIG: Record = { }; function getRpcUrl(chainId: number): string | null { + // Temp patch for Mantle and X Layer + if (chainId === ChainId.mantle) { + return 'https://mantle-rpc.publicnode.com'; + } + if (chainId === ChainId.xlayer) { + return 'https://xlayer.drpc.org'; + } + const config = NETWORK_CONFIG[chainId]; if (!config) return null; return `https://${config.network}.g.alchemy.com/v2/${config.apiKey}`; diff --git a/public/icons/networks/mantle.svg b/public/icons/networks/mantle.svg new file mode 100644 index 0000000000..34537753e4 --- /dev/null +++ b/public/icons/networks/mantle.svg @@ -0,0 +1 @@ + diff --git a/public/icons/networks/xlayer.svg b/public/icons/networks/xlayer.svg new file mode 100644 index 0000000000..adbc9cb844 --- /dev/null +++ b/public/icons/networks/xlayer.svg @@ -0,0 +1 @@ + diff --git a/src/ui-config/governanceConfig.ts b/src/ui-config/governanceConfig.ts index 08fe22327a..018c6501a3 100644 --- a/src/ui-config/governanceConfig.ts +++ b/src/ui-config/governanceConfig.ts @@ -11,6 +11,7 @@ import { GovernanceV3Gnosis, GovernanceV3Ink, GovernanceV3Linea, + GovernanceV3Mantle, GovernanceV3Metis, GovernanceV3Optimism, GovernanceV3Plasma, @@ -146,6 +147,7 @@ export const governanceChainConfig: GovernanceChainConfig = { [ChainId.soneium]: GovernanceV3Soneium.PC_DATA_HELPER, [ChainId.plasma]: GovernanceV3Plasma.PC_DATA_HELPER, [ChainId.ink]: GovernanceV3Ink.PC_DATA_HELPER, + [ChainId.mantle]: GovernanceV3Mantle.PC_DATA_HELPER, }, votingAssets: { aaveTokenAddress: AaveV3Ethereum.ASSETS.AAVE.UNDERLYING, diff --git a/src/ui-config/networksConfig.ts b/src/ui-config/networksConfig.ts index abdbead0dc..67102c8957 100644 --- a/src/ui-config/networksConfig.ts +++ b/src/ui-config/networksConfig.ts @@ -13,6 +13,7 @@ import { ink, linea, mainnet, + mantle, metis, optimism, optimismSepolia, @@ -23,6 +24,7 @@ import { sepolia, soneium, sonic, + xLayer, zksync, } from 'wagmi/chains'; @@ -452,6 +454,26 @@ export const prodNetworkConfig: Record = { networkLogoPath: '/icons/networks/ink.svg', wagmiChain: ink, }, + [ChainId.mantle]: { + name: 'Mantle', + publicJsonRPCUrl: ['https://mantle-rpc.publicnode.com'], + baseAssetSymbol: 'MNT', + wrappedBaseAssetSymbol: 'WMNT', + baseAssetDecimals: 18, + explorerLink: 'https://mantlescan.xyz/', + networkLogoPath: '/icons/networks/mantle.svg', + wagmiChain: mantle, + }, + [ChainId.xlayer]: { + name: 'X Layer', + publicJsonRPCUrl: ['https://xlayer.drpc.org'], + baseAssetSymbol: 'OKB', + wrappedBaseAssetSymbol: 'WOKB', + baseAssetDecimals: 18, + explorerLink: 'https://web3.okx.com/explorer/x-layer', + networkLogoPath: '/icons/networks/xlayer.svg', + wagmiChain: xLayer, + }, }; export const networkConfigs = {