diff --git a/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/index.tsx b/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/index.tsx index 814db696b16e..bf01e18c4647 100644 --- a/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/index.tsx +++ b/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacket/index.tsx @@ -63,7 +63,10 @@ export function RedPacket(props: RedPacketProps) { : EthereumTokenType.ERC20), payload.token?.address ?? payload.token_address ?? '', ) - const token = payload.token ?? tokenDetailed + const token = + payload.token && ['chainId', 'decimal', 'symbol'].every((k) => Reflect.has(payload.token ?? {}, k)) + ? payload.token + : tokenDetailed // #endregion const { canFetch, canClaim, canRefund, listOfStatus } = availabilityComputed diff --git a/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacketInHistoryList.tsx b/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacketInHistoryList.tsx index 3a5495fe28ca..df7cfeaff2ac 100644 --- a/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacketInHistoryList.tsx +++ b/packages/mask/src/plugins/RedPacket/SNSAdaptor/RedPacketInHistoryList.tsx @@ -18,6 +18,8 @@ import { FungibleTokenDetailed, useFungibleTokenDetailed, useTokenConstants, + ERC20TokenDetailed, + NativeTokenDetailed, } from '@masknet/web3-shared-evm' import { dateTimeFormat } from '../../ITO/assets/formatDate' import ActionButton from '../../../extension/options-page/DashboardComponents/ActionButton' @@ -208,7 +210,10 @@ export function RedPacketInHistoryList(props: RedPacketInHistoryListProps) { tokenAddress ?? '', ) - const historyToken = (history as RedPacketJSONPayload).token ?? tokenDetailed + const historyToken = + (history as RedPacketJSONPayload).token ?? + tokenDetailed ?? + ({ address: history.token_address } as ERC20TokenDetailed | NativeTokenDetailed) // #region remote controlled transaction dialog const { setDialog: setTransactionDialog } = useRemoteControlledDialog( diff --git a/packages/mask/src/plugins/RedPacket/schema.json b/packages/mask/src/plugins/RedPacket/schema.json index 0f7f193c1f70..50d264cbc15c 100644 --- a/packages/mask/src/plugins/RedPacket/schema.json +++ b/packages/mask/src/plugins/RedPacket/schema.json @@ -87,7 +87,7 @@ "title": "symbol" } }, - "required": ["address", "decimals", "name", "symbol"], + "required": ["address"], "title": "token" } },