diff --git a/package.json b/package.json
index 853e066c325f..d8f48100f2d7 100644
--- a/package.json
+++ b/package.json
@@ -7,7 +7,7 @@
"yarn": ">=999.0.0",
"npm": ">=999.0.0"
},
- "version": "2.8.0",
+ "version": "2.9.0",
"private": true,
"license": "AGPL-3.0-or-later",
"scripts": {
diff --git a/packages/dashboard/src/locales/qya-AA.json b/packages/dashboard/src/locales/qya-AA.json
index fd59188c81fa..dfab6f0d573f 100644
--- a/packages/dashboard/src/locales/qya-AA.json
+++ b/packages/dashboard/src/locales/qya-AA.json
@@ -186,7 +186,6 @@
"wallets_add_token_next": "crwdns1787:0crwdne1787:0",
"wallets_empty_tokens_tip": "crwdns1789:0crwdne1789:0",
"wallets_empty_collectible_tip": "crwdns1791:0crwdne1791:0",
- "wallets_reload": "crwdns17240:0crwdne17240:0",
"wallets_address_copied": "crwdns1793:0crwdne1793:0",
"public_key_copied": "crwdns16574:0crwdne16574:0",
"wallets_address_copy": "crwdns1795:0crwdne1795:0",
diff --git a/packages/mask/shared-ui/locales/en-US.json b/packages/mask/shared-ui/locales/en-US.json
index 41ba082b3a94..30924df501d6 100644
--- a/packages/mask/shared-ui/locales/en-US.json
+++ b/packages/mask/shared-ui/locales/en-US.json
@@ -896,7 +896,7 @@
"popups_social_account": "Social Accounts",
"popups_connected_wallets": "Connected Wallets",
"popups_loading": "Loading",
- "popups_connect_your_web2_social_accounts": "Connect your web2 social accounts",
+ "popups_connect_your_web2_social_accounts": "Connect your social media accounts",
"popups_connect_social_account": "Connect Social Account",
"popups_disconnect_success": " Disconnect successfully. ",
"popups_disconnect_failed": "Disconnect failed.",
diff --git a/packages/mask/shared-ui/locales/qya-AA.json b/packages/mask/shared-ui/locales/qya-AA.json
index 6c4a154a8b3f..e430fbf22a3a 100644
--- a/packages/mask/shared-ui/locales/qya-AA.json
+++ b/packages/mask/shared-ui/locales/qya-AA.json
@@ -98,7 +98,6 @@
"copy_success_of_image": "crwdns4039:0crwdne4039:0",
"connecting": "crwdns4043:0crwdne4043:0",
"collectibles_name": "crwdns16232:0crwdne16232:0",
- "select_an_nft": "crwdns17246:0crwdne17246:0",
"create": "crwdns4047:0crwdne4047:0",
"copied": "crwdns9361:0crwdne9361:0",
"daily": "crwdns4057:0crwdne4057:0",
@@ -356,10 +355,57 @@
"application_hint": "crwdns16628:0crwdne16628:0",
"plugin_red_packet_create": "crwdns11873:0crwdne11873:0",
"plugin_red_packet_claimed": "crwdns16926:0crwdne16926:0",
+ "plugin_red_packet_erc20_tab_title": "crwdns16928:0crwdne16928:0",
+ "plugin_red_packet_erc721_tab_title": "crwdns16930:0crwdne16930:0",
+ "plugin_red_packet_name": "crwdns16932:0crwdne16932:0",
+ "plugin_red_packet_recommend_feature_description": "crwdns16934:0crwdne16934:0",
+ "plugin_red_packet_description": "crwdns16936:0crwdne16936:0",
+ "plugin_red_packet_erc721_insufficient_balance": "crwdns16938:0crwdne16938:0",
+ "plugin_red_packet_details": "crwdns16940:0crwdne16940:0",
+ "plugin_red_packet_split_mode": "crwdns16942:0crwdne16942:0",
+ "plugin_red_packet_average": "crwdns16944:0crwdne16944:0",
+ "plugin_red_packet_random": "crwdns16946:0crwdne16946:0",
+ "plugin_red_packet_shares": "crwdns16948:0crwdne16948:0",
+ "plugin_red_packet_best_wishes": "crwdns16950:0crwdne16950:0",
+ "plugin_red_packet_create_new": "crwdns16952:0crwdne16952:0",
"plugin_red_packet_claim": "crwdns16954:0crwdne16954:0",
+ "plugin_red_packet_claiming": "crwdns16956:0crwdne16956:0",
+ "plugin_red_packet_refund": "crwdns16958:0crwdne16958:0",
+ "plugin_red_packet_empty": "crwdns16960:0crwdne16960:0",
+ "plugin_red_packet_data_broken": "crwdns16962:0{{duration}}crwdne16962:0",
+ "plugin_red_packet_refunding": "crwdns16964:0crwdne16964:0",
+ "plugin_red_packet_select_existing": "crwdns16966:0crwdne16966:0",
+ "plugin_red_packet_share_unclaimed_message_official_account": "crwdns16968:0{{sender}}crwdnd16968:0{{network}}crwdnd16968:0{{account}}crwdnd16968:0{{payload}}crwdne16968:0",
+ "plugin_red_packet_share_unclaimed_message_not_twitter": "crwdns16970:0{{sender}}crwdnd16970:0{{network}}crwdnd16970:0{{payload}}crwdne16970:0",
+ "plugin_red_packet_share_message_official_account": "crwdns16972:0{{sender}}crwdnd16972:0{{network}}crwdnd16972:0{{account}}crwdnd16972:0{{payload}}crwdne16972:0",
+ "plugin_red_packet_share_message_not_twitter": "crwdns16974:0{{sender}}crwdnd16974:0{{network}}crwdnd16974:0{{payload}}crwdne16974:0",
+ "plugin_red_packet_nft_share_foreshow_message": "crwdns16976:0{{sender}}crwdnd16976:0{{network}}crwdnd16976:0{{account}}crwdnd16976:0{{payload}}crwdne16976:0",
+ "plugin_red_packet_nft_share_foreshow_message_not_twitter": "crwdns16978:0{{sender}}crwdnd16978:0{{network}}crwdnd16978:0{{payload}}crwdne16978:0",
+ "plugin_red_packet_nft_share_claimed_message": "crwdns16980:0{{sender}}crwdnd16980:0{{network}}crwdnd16980:0{{account}}crwdnd16980:0{{payload}}crwdne16980:0",
+ "plugin_red_packet_nft_share_claimed_message_not_twitter": "crwdns16982:0{{sender}}crwdnd16982:0{{network}}crwdnd16982:0{{payload}}crwdne16982:0",
+ "plugin_red_packet_nft_tip": "crwdns16984:0crwdne16984:0",
+ "plugin_red_packet_nft_no_history": "crwdns16986:0crwdne16986:0",
+ "plugin_red_packet_attached_message": "crwdns16988:0crwdne16988:0",
+ "plugin_red_packet_from": "crwdns16990:0{{name}}crwdne16990:0",
+ "plugin_red_packet_description_claimed": "crwdns16992:0{{amount}}crwdnd16992:0{{symbol}}crwdne16992:0",
+ "plugin_red_packet_description_expired": "crwdns16994:0crwdne16994:0",
+ "plugin_red_packet_description_refunded": "crwdns16996:0crwdne16996:0",
+ "plugin_red_packet_description_refund": "crwdns16998:0{{balance}}crwdnd16998:0{{symbol}}crwdne16998:0",
+ "plugin_red_packet_description_empty": "crwdns17000:0crwdne17000:0",
+ "plugin_red_packet_description_broken": "crwdns17002:0crwdne17002:0",
+ "plugin_red_packet_description_failover": "crwdns17004:0{{shares}}crwdnd17004:0{{total}}crwdnd17004:0{{symbol}}crwdne17004:0",
+ "plugin_red_packet_amount_per_share": "crwdns17006:0crwdne17006:0",
+ "plugin_red_packet_send_symbol": "crwdns17008:0{{amount}}crwdnd17008:0{{symbol}}crwdne17008:0",
+ "plugin_red_packet_amount_total": "crwdns17010:0crwdne17010:0",
+ "plugin_red_packet_next": "crwdns17012:0crwdne17012:0",
+ "plugin_red_packet_back": "crwdns17014:0crwdne17014:0",
+ "plugin_red_packet_hint": "crwdns17016:0crwdne17016:0",
+ "plugin_red_packet_token": "crwdns17018:0crwdne17018:0",
+ "plugin_red_packet_message_label": "crwdns17020:0crwdne17020:0",
"plugin_red_packet_create_with_token": "crwdns4775:0{{amount}}crwdnd4775:0{{symbol}}crwdne4775:0",
"plugin_nft_red_packet_create": "crwdns11875:0crwdne11875:0",
"plugin_red_packet_nft_account_name": "crwdns8159:0crwdne8159:0",
+ "plugin_red_packet_nft_shift_select_tip": "crwdns10819:0{{text}}crwdne10819:0",
"plugin_gitcoin_select_a_token": "crwdns4793:0crwdne4793:0",
"plugin_gitcoin_insufficient_balance": "crwdns4799:0{{symbol}}crwdne4799:0",
"plugin_trader_fail_to_load": "crwdns10207:0crwdne10207:0",
diff --git a/packages/mask/shared-ui/locales/zh-CN.json b/packages/mask/shared-ui/locales/zh-CN.json
index 0dbd24f25028..e3d10e476752 100644
--- a/packages/mask/shared-ui/locales/zh-CN.json
+++ b/packages/mask/shared-ui/locales/zh-CN.json
@@ -298,6 +298,7 @@
"plugin_red_packet_create_with_token": "使用 {{symbol}} 创建红包",
"plugin_nft_red_packet_create": "创建一个NFT红包",
"plugin_red_packet_nft_account_name": "钱包账户",
+ "plugin_red_packet_nft_shift_select_tip": "您也可以使用 {{text}} 选择多个NFT。",
"plugin_gitcoin_select_a_token": "选择代币",
"plugin_gitcoin_insufficient_balance": "{{symbol}} 余额不足",
"plugin_trader_fail_to_load": "无法加载趋势信息自 ",
diff --git a/packages/mask/shared/site-adaptors/index.ts b/packages/mask/shared/site-adaptors/index.ts
index f85949604ff1..a06c3c9d8c24 100644
--- a/packages/mask/shared/site-adaptors/index.ts
+++ b/packages/mask/shared/site-adaptors/index.ts
@@ -4,4 +4,4 @@ import './implementations/facebook.com'
import './implementations/twitter.com'
import './implementations/minds.com'
import './implementations/instagram.com'
-import './implementations/opensea.io'
+// add opensea
diff --git a/packages/mask/src/components/InjectedComponents/ProfileTabContent.tsx b/packages/mask/src/components/InjectedComponents/ProfileTabContent.tsx
index 63bf85fd115b..84a4027d0f9b 100644
--- a/packages/mask/src/components/InjectedComponents/ProfileTabContent.tsx
+++ b/packages/mask/src/components/InjectedComponents/ProfileTabContent.tsx
@@ -63,11 +63,7 @@ export function ProfileTabContent(props: ProfileTabContentProps) {
return availablePlugins
.flatMap((x) => x.ProfileTabs?.map((y) => ({ ...y, pluginID: x.ID })) ?? EMPTY_LIST)
.filter((z) => z.Utils?.shouldDisplay?.(identity, socialAddressList) ?? true)
- }, [
- identity.identifier?.userId,
- availablePlugins.map((x) => x.ID).join(),
- socialAddressList.map((x) => x.address).join(),
- ])
+ }, [identity, availablePlugins.map((x) => x.ID).join(), socialAddressList.map((x) => x.address).join()])
const tabs = displayPlugins
.sort((a, z) => {
diff --git a/packages/mask/src/components/shared/VerifyWallet/CurrentWalletBox.tsx b/packages/mask/src/components/shared/VerifyWallet/CurrentWalletBox.tsx
index 6a5e882e1777..65da148fa976 100644
--- a/packages/mask/src/components/shared/VerifyWallet/CurrentWalletBox.tsx
+++ b/packages/mask/src/components/shared/VerifyWallet/CurrentWalletBox.tsx
@@ -2,7 +2,6 @@ import {
useAccount,
useNetworkDescriptor,
useProviderDescriptor,
- useProviderType,
useReverseAddress,
useWeb3State,
} from '@masknet/plugin-infra/web3'
@@ -105,7 +104,7 @@ export function CurrentWalletBox(props: CurrentWalletBox) {
const { t } = useI18N()
const { classes } = useStyles()
const { wallet, walletName, notInPop, changeWallet } = props
- const providerType = useProviderType(NetworkPluginID.PLUGIN_EVM)
+ const { providerType } = wallet
const providerDescriptor = useProviderDescriptor(NetworkPluginID.PLUGIN_EVM, providerType)
const networkDescriptor = useNetworkDescriptor(NetworkPluginID.PLUGIN_EVM)
const frontAccount = useAccount(NetworkPluginID.PLUGIN_EVM)
@@ -133,9 +132,6 @@ export function CurrentWalletBox(props: CurrentWalletBox) {
{walletName ?? providerDescriptor?.name}
- {domain && Others?.formatDomainName ? (
- {Others.formatDomainName(domain)}
- ) : null}
>
)}
diff --git a/packages/mask/src/components/shared/VerifyWallet/Steps.tsx b/packages/mask/src/components/shared/VerifyWallet/Steps.tsx
index 110be98a396f..67ea8aea2ddd 100644
--- a/packages/mask/src/components/shared/VerifyWallet/Steps.tsx
+++ b/packages/mask/src/components/shared/VerifyWallet/Steps.tsx
@@ -162,7 +162,9 @@ export function Steps(props: StepsProps) {
return (
- {notEvm && {t('plugin_tips_not_evm_alert')}}
+ {notEvm && wallet.account && (
+ {t('plugin_tips_not_evm_alert')}
+ )}
{isBound && {t('wallet_verify_has_bound')}}
{notConnected && (
diff --git a/packages/mask/src/components/shared/WalletStatusBox/index.tsx b/packages/mask/src/components/shared/WalletStatusBox/index.tsx
index 0d0072c08eb1..f725032f28cc 100644
--- a/packages/mask/src/components/shared/WalletStatusBox/index.tsx
+++ b/packages/mask/src/components/shared/WalletStatusBox/index.tsx
@@ -13,7 +13,7 @@ import {
import { FormattedAddress, useSnackbarCallback, WalletIcon } from '@masknet/shared'
import { ProviderType } from '@masknet/web3-shared-evm'
import { isDashboardPage } from '@masknet/shared-base'
-import { formatBalance, NetworkPluginID } from '@masknet/web3-shared-base'
+import { formatBalance } from '@masknet/web3-shared-base'
import { useRemoteControlledDialog } from '@masknet/shared-base-ui'
import { getMaskColor, makeStyles } from '@masknet/theme'
import { Button, Link, Typography } from '@mui/material'
@@ -120,12 +120,12 @@ export function WalletStatusBox(props: WalletStatusBox) {
const { classes } = useStyles({
contentBackground: providerDescriptor?.backgroundGradient,
})
- const connection = useWeb3Connection(NetworkPluginID.PLUGIN_EVM)
+ const connection = useWeb3Connection()
const chainId = useChainId()
const account = useAccount()
const wallet = useWallet()
- const { value: balance = '0' } = useBalance()
- const { value: nativeToken } = useNativeToken(NetworkPluginID.PLUGIN_EVM)
+ const { value: balance = '0', loading: loadingBalance } = useBalance()
+ const { value: nativeToken, loading: loadingNativeToken } = useNativeToken()
const networkDescriptor = useNetworkDescriptor()
const { Others } = useWeb3State()
const { value: domain } = useReverseAddress(undefined, account)
@@ -200,30 +200,29 @@ export function WalletStatusBox(props: WalletStatusBox) {
- {networkDescriptor?.networkSupporterPluginID === NetworkPluginID.PLUGIN_EVM ? (
-
-
- {formatBalance(balance, nativeToken?.decimals, 3)} {nativeToken?.symbol}
-
-
- ) : null}
+
+
+
+ {loadingNativeToken || loadingBalance
+ ? '-'
+ : `${formatBalance(balance, nativeToken?.decimals, 3)} ${nativeToken?.symbol}`}
+
+
{!props.disableChange && (
- {networkDescriptor?.networkSupporterPluginID === NetworkPluginID.PLUGIN_EVM ? (
-
- ) : null}
+