From 0d9d28fba76f7b0d8d68d868646594db9136512e Mon Sep 17 00:00:00 2001 From: Wukong Sun Date: Sun, 26 Jan 2025 17:41:12 +0800 Subject: [PATCH] fix: hard code fix for virtual on base --- .../src/Web3/EVM/state/Token.ts | 22 +++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/packages/web3-providers/src/Web3/EVM/state/Token.ts b/packages/web3-providers/src/Web3/EVM/state/Token.ts index eadbdb685b5d..efc4d5f50c21 100644 --- a/packages/web3-providers/src/Web3/EVM/state/Token.ts +++ b/packages/web3-providers/src/Web3/EVM/state/Token.ts @@ -2,10 +2,10 @@ import { NetworkPluginID, type StorageObject } from '@masknet/shared-base' import { queryClient } from '@masknet/shared-base-ui' import { isSameAddress, type FungibleToken, type NonFungibleToken } from '@masknet/web3-shared-base' import { + ChainId, formatEthereumAddress, isValidAddress, isValidChainId, - type ChainId, type SchemaType, } from '@masknet/web3-shared-evm' import type { Subscription } from 'use-subscription' @@ -34,7 +34,25 @@ export class EVMToken extends TokenState { private async getStoredFungibleTokens(chainId: ChainId) { const storedTokensMap = this.storage.credibleFungibleTokenList.value const storedTokens = storedTokensMap[chainId] - if (storedTokens) return storedTokens + if (storedTokens) { + if (chainId === ChainId.Base) { + return storedTokens.some((x) => x.symbol === 'VIRTUAL') ? storedTokens : ( + [ + ...storedTokens, + { + chainId: 8453, + address: '0x0b3e328455c4059eeb9e3f84b5543f74e24e7e1b', + name: 'Virtual Protocol', + symbol: 'VIRTUAL', + decimals: 18, + logoURI: + 'https://www.okx.com/cdn/web3/currency/token/8453-0x0b3e328455c4059eeb9e3f84b5543f74e24e7e1b-97.png/type=default_350_0?v=1732307157464', + }, + ] + ) + } + return storedTokens + } return queryClient.fetchQuery({ // eslint-disable-next-line @tanstack/query/exhaustive-deps queryKey: ['evm', 'get-fungible-token-list', chainId],