diff --git a/packages/mask/src/plugins/FindTruman/base.ts b/packages/mask/src/plugins/FindTruman/base.ts index 42e34c04365c..ad23830b6f09 100644 --- a/packages/mask/src/plugins/FindTruman/base.ts +++ b/packages/mask/src/plugins/FindTruman/base.ts @@ -16,7 +16,18 @@ export const base: Plugin.Shared.Definition = { target: 'stable', web3: { [NetworkPluginID.PLUGIN_EVM]: { - supportedChainIds: [ChainId.Mainnet], + supportedChainIds: [ + ChainId.Mainnet, + ChainId.BSC, + ChainId.Matic, + ChainId.Arbitrum, + ChainId.xDai, + ChainId.Fantom, + ChainId.Avalanche, + ChainId.Aurora, + ChainId.Conflux, + ChainId.Harmony, + ], }, [NetworkPluginID.PLUGIN_FLOW]: { supportedChainIds: [] }, [NetworkPluginID.PLUGIN_SOLANA]: { supportedChainIds: [] }, diff --git a/packages/mask/src/plugins/Gitcoin/base.ts b/packages/mask/src/plugins/Gitcoin/base.ts index 65995d21a8a0..2ba903193d15 100644 --- a/packages/mask/src/plugins/Gitcoin/base.ts +++ b/packages/mask/src/plugins/Gitcoin/base.ts @@ -1,4 +1,6 @@ import type { Plugin } from '@masknet/plugin-infra' +import { NetworkPluginID } from '@masknet/plugin-infra/web3' +import { ChainId } from '@masknet/web3-shared-evm' import { PLUGIN_ID, PLUGIN_NAME, PLUGIN_DESCRIPTION } from './constants' export const base: Plugin.Shared.Definition = { @@ -10,6 +12,13 @@ export const base: Plugin.Shared.Definition = { architecture: { app: true, web: true }, networks: { type: 'opt-out', networks: {} }, target: 'stable', + web3: { + [NetworkPluginID.PLUGIN_EVM]: { + supportedChainIds: [ChainId.Mainnet, ChainId.Rinkeby, ChainId.Matic, ChainId.Mumbai], + }, + [NetworkPluginID.PLUGIN_FLOW]: { supportedChainIds: [] }, + [NetworkPluginID.PLUGIN_SOLANA]: { supportedChainIds: [] }, + }, }, contribution: { postContent: new Set([/https:\/\/gitcoin.co\/grants\/\d+/]) }, } diff --git a/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacketDialog.tsx b/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacketDialog.tsx index af9afe3ca609..08c406c5469d 100644 --- a/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacketDialog.tsx +++ b/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacketDialog.tsx @@ -15,7 +15,11 @@ import { import { DialogContent } from '@mui/material' import { useCallback, useEffect, useMemo, useRef, useState } from 'react' import Web3Utils from 'web3-utils' -import { useCurrentIdentity, useCurrentLinkedPersona } from '../../../components/DataSource/useActivatedUI' +import { + useCurrentIdentity, + useCurrentLinkedPersona, + useLastRecognizedIdentity, +} from '../../../components/DataSource/useActivatedUI' import AbstractTab, { AbstractTabProps } from '../../../components/shared/AbstractTab' import Services from '../../../extension/service' import { useI18N } from '../../../utils' @@ -95,8 +99,9 @@ export default function RedPacketDialog(props: RedPacketDialogProps) { const currentIdentity = useCurrentIdentity() const { value: linkedPersona } = useCurrentLinkedPersona() - - const senderName = currentIdentity?.identifier.userId ?? linkedPersona?.nickname + const lastRecognized = useLastRecognizedIdentity() + const senderName = + lastRecognized.identifier?.userId ?? currentIdentity?.identifier.userId ?? linkedPersona?.nickname const { closeDialog: closeApplicationBoardDialog } = useRemoteControlledDialog( WalletMessages.events.ApplicationDialogUpdated, ) diff --git a/packages/mask/src/plugins/RedPacket/base.ts b/packages/mask/src/plugins/RedPacket/base.ts index 017b71a9a04b..cb9aeeea4ca9 100644 --- a/packages/mask/src/plugins/RedPacket/base.ts +++ b/packages/mask/src/plugins/RedPacket/base.ts @@ -1,4 +1,6 @@ import type { Plugin } from '@masknet/plugin-infra' +import { NetworkPluginID } from '@masknet/plugin-infra/web3' +import { ChainId } from '@masknet/web3-shared-evm' import { RedPacketMetaKey, RedPacketNftMetaKey, RedPacketPluginID } from './constants' export const base: Plugin.Shared.Definition = { @@ -16,6 +18,24 @@ export const base: Plugin.Shared.Definition = { networks: {}, }, target: 'stable', + web3: { + [NetworkPluginID.PLUGIN_EVM]: { + supportedChainIds: [ + ChainId.Mainnet, + ChainId.BSC, + ChainId.Matic, + ChainId.Arbitrum, + ChainId.xDai, + ChainId.Fantom, + ChainId.Avalanche, + ChainId.Aurora, + ChainId.Harmony, + ChainId.Conflux, + ], + }, + [NetworkPluginID.PLUGIN_FLOW]: { supportedChainIds: [] }, + [NetworkPluginID.PLUGIN_SOLANA]: { supportedChainIds: [] }, + }, }, contribution: { metadataKeys: new Set([RedPacketMetaKey, RedPacketNftMetaKey]), diff --git a/packages/plugin-infra/src/hooks/useAvailablePlugins.ts b/packages/plugin-infra/src/hooks/useAvailablePlugins.ts index 46f3776e6c81..eb2db2196c27 100644 --- a/packages/plugin-infra/src/hooks/useAvailablePlugins.ts +++ b/packages/plugin-infra/src/hooks/useAvailablePlugins.ts @@ -1,21 +1,7 @@ -import { useMemo } from 'react' import type { Plugin } from '../types' -import { useChainId, useCurrentWeb3NetworkPluginID } from '../web3' -import type { NetworkPluginID } from '../web3-types' type HasRequirement = { enableRequirement: Plugin.Shared.Definition['enableRequirement'] } -function checkPluginAvailable(plugin: HasRequirement, pluginId: NetworkPluginID, chainId: number) { - const supportedChainIds = plugin.enableRequirement.web3?.[pluginId]?.supportedChainIds - if (!supportedChainIds) return true - return supportedChainIds.includes(chainId) -} - export function useAvailablePlugins(plugins: T[]) { - const networkPluginId = useCurrentWeb3NetworkPluginID() - const chainId = useChainId(networkPluginId) - return useMemo( - () => plugins.filter((plugin) => checkPluginAvailable(plugin, networkPluginId, chainId)), - [plugins, networkPluginId, chainId], - ) + return plugins } diff --git a/packages/plugins/CyberConnect/src/base.tsx b/packages/plugins/CyberConnect/src/base.tsx index 83a0be124b1d..1d133b171379 100644 --- a/packages/plugins/CyberConnect/src/base.tsx +++ b/packages/plugins/CyberConnect/src/base.tsx @@ -1,4 +1,6 @@ import type { Plugin } from '@masknet/plugin-infra' +import { NetworkPluginID } from '@masknet/plugin-infra/web3' +import { ChainId } from '@masknet/web3-shared-evm' import { CYBERCONNECT_PLUGIN_ID } from './constants' export const base: Plugin.Shared.Definition = { @@ -12,6 +14,17 @@ export const base: Plugin.Shared.Definition = { architecture: { app: false, web: true }, networks: { type: 'opt-out', networks: {} }, target: 'stable', + web3: { + [NetworkPluginID.PLUGIN_EVM]: { + supportedChainIds: [ChainId.Mainnet, ChainId.BSC, ChainId.Matic, ChainId.Arbitrum, ChainId.xDai], + }, + [NetworkPluginID.PLUGIN_SOLANA]: { + supportedChainIds: [], + }, + [NetworkPluginID.PLUGIN_FLOW]: { + supportedChainIds: [], + }, + }, }, contribution: { postContent: new Set([/https:\/\/app.cyberconnect.me/]) }, }