diff --git a/package.json b/package.json index acb1601e99..da6b4a0409 100644 --- a/package.json +++ b/package.json @@ -36,7 +36,7 @@ "@aave/math-utils": "1.37.1", "@aave/react": "^0.8.2", "@amplitude/analytics-browser": "^2.13.0", - "@bgd-labs/aave-address-book": "^4.44.3", + "@bgd-labs/aave-address-book": "^4.44.6", "@cowprotocol/cow-sdk": "7.3.4", "@cowprotocol/sdk-ethers-v5-adapter": "0.3.5", "@cowprotocol/sdk-flash-loans": "1.7.4", diff --git a/pages/api/rpc-proxy.ts b/pages/api/rpc-proxy.ts index 4f4fe93c75..7f9abdf4a9 100644 --- a/pages/api/rpc-proxy.ts +++ b/pages/api/rpc-proxy.ts @@ -1,5 +1,6 @@ import { ChainId } from '@aave/contract-helpers'; import { NextApiRequest, NextApiResponse } from 'next'; +import { mantle, megaeth } from 'viem/chains'; // Documentation: ./server-side-rpc-proxy.md const NETWORK_CONFIG: Record = { @@ -27,6 +28,8 @@ const NETWORK_CONFIG: Record = { [ChainId.soneium]: { network: 'soneium-mainnet', apiKey: process.env.SONEIUM_RPC_API_KEY || '' }, [ChainId.ink]: { network: 'ink-mainnet', apiKey: process.env.INK_RPC_API_KEY || '' }, [ChainId.plasma]: { network: 'plasma-mainnet', apiKey: process.env.PLASMA_RPC_API_KEY || '' }, + [megaeth.id]: { network: 'megaeth-mainnet', apiKey: process.env.MEGAETH_RPC_API_KEY || '' }, + [mantle.id]: { network: 'mantle-mainnet', apiKey: process.env.MANTLE_RPC_API_KEY || '' }, // Testnets [ChainId.sepolia]: { network: 'eth-sepolia', apiKey: process.env.MAINNET_RPC_API_KEY || '' }, @@ -47,15 +50,6 @@ const NETWORK_CONFIG: Record = { }; function getRpcUrl(chainId: number): string | null { - // Note: workaround for mantle mainnet - if (chainId === 5000) { - return 'https://rpc.mantle.xyz'; - } - - if (chainId === 4326) { - return 'https://mainnet.megaeth.com/rpc'; - } - const config = NETWORK_CONFIG[chainId]; if (!config) return null; return `https://${config.network}.g.alchemy.com/v2/${config.apiKey}`; diff --git a/public/icons/tokens/megausd.svg b/public/icons/tokens/megausd.svg new file mode 100644 index 0000000000..54191a5f32 --- /dev/null +++ b/public/icons/tokens/megausd.svg @@ -0,0 +1 @@ + diff --git a/src/ui-config/marketsConfig.tsx b/src/ui-config/marketsConfig.tsx index df09e13cd4..41a758ef22 100644 --- a/src/ui-config/marketsConfig.tsx +++ b/src/ui-config/marketsConfig.tsx @@ -16,6 +16,7 @@ import { AaveV3Gnosis, AaveV3InkWhitelabel, AaveV3Linea, + AaveV3MegaEth, AaveV3Metis, AaveV3Optimism, AaveV3Plasma, @@ -98,6 +99,7 @@ export enum CustomMarket { proto_aptos_v3 = 'proto_aptos_v3', proto_plasma_v3 = 'proto_plasma_v3', proto_ink_v3 = 'proto_ink_v3', + proto_megaeth_v3 = 'proto_megaeth_v3', // v2 proto_mainnet = 'proto_mainnet', proto_avalanche = 'proto_avalanche', @@ -518,6 +520,23 @@ export const marketsData: { }, }, + [CustomMarket.proto_megaeth_v3]: { + marketTitle: 'MegaETH', + market: CustomMarket.proto_megaeth_v3, + chainId: 4326 as ChainId, + v3: true, + logo: '/icons/networks/megaeth.svg', + addresses: { + LENDING_POOL_ADDRESS_PROVIDER: AaveV3MegaEth.POOL_ADDRESSES_PROVIDER, + LENDING_POOL: AaveV3MegaEth.POOL, + WETH_GATEWAY: AaveV3MegaEth.WETH_GATEWAY, + WALLET_BALANCE_PROVIDER: AaveV3MegaEth.WALLET_BALANCE_PROVIDER, + UI_POOL_DATA_PROVIDER: AaveV3MegaEth.UI_POOL_DATA_PROVIDER, + UI_INCENTIVE_DATA_PROVIDER: AaveV3MegaEth.UI_INCENTIVE_DATA_PROVIDER, + COLLECTOR: AaveV3MegaEth.COLLECTOR, + L2_ENCODER: AaveV3MegaEth.L2_ENCODER, + }, + }, [CustomMarket.proto_fuji]: { marketTitle: 'Avalanche Fuji', market: CustomMarket.proto_fuji, diff --git a/src/ui-config/reservePatches.ts b/src/ui-config/reservePatches.ts index 6f9a1f9cb8..15018032f5 100644 --- a/src/ui-config/reservePatches.ts +++ b/src/ui-config/reservePatches.ts @@ -236,6 +236,11 @@ export function fetchIconSymbolAndName({ underlyingAsset, symbol, name }: IconSy name: 'PT sUSDe May 2026', iconSymbol: 'ptsusde', }, + '0xfafddbb3fc7688494971a79cc65dca3ef82079e7': { + symbol: 'USDm', + name: 'MegaUSD', + iconSymbol: 'megausd', + }, '0xa693B19d2931d498c5B318dF961919BB4aee87a5': { iconSymbol: 'UST', name: 'UST (Wormhole)' }, '0x59a19d8c652fa0284f44113d0ff9aba70bd46fb4': { iconSymbol: 'BPT_BAL_WETH' }, diff --git a/yarn.lock b/yarn.lock index 1dfc069a2d..fc6dcd4bee 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1209,10 +1209,10 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@bgd-labs/aave-address-book@^4.44.3": - version "4.44.3" - resolved "https://registry.yarnpkg.com/@bgd-labs/aave-address-book/-/aave-address-book-4.44.3.tgz#2c3521d65b54f184602dfdfbb9c45d4ebbac9562" - integrity sha512-QPBdGgLhzDlXsLsGXBZ8PnzS9Q0BZk04DDuODBtIkq31t5B56KLcsfbot0mRtDevuFdf4RSC0nXmPmybWjrbIg== +"@bgd-labs/aave-address-book@^4.44.6": + version "4.44.6" + resolved "https://registry.yarnpkg.com/@bgd-labs/aave-address-book/-/aave-address-book-4.44.6.tgz#bfb8d2624b6326c5ef745f22ab5f066def79a28e" + integrity sha512-mLjJDE339gkKwIMtOGZ4eRbIkOOm2B4DP+OA+Efh9owcgkRhn3/AW99RnsLS/VGZzGdkRPFJMDRpUUctGKw0Kw== "@coinbase/wallet-sdk@4.3.0": version "4.3.0"