diff --git a/package.json b/package.json index 5f1439358317..80591cd966b2 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ "yarn": ">=999.0.0", "npm": ">=999.0.0" }, - "version": "2.29.3", + "version": "2.30.0", "private": true, "license": "AGPL-3.0-or-later", "scripts": { diff --git a/packages/plugins/RedPacket/src/SiteAdaptor/FireflyRedpacketConfirmDialog.tsx b/packages/plugins/RedPacket/src/SiteAdaptor/FireflyRedpacketConfirmDialog.tsx index e4f06c3e51e5..907f6ac2506f 100644 --- a/packages/plugins/RedPacket/src/SiteAdaptor/FireflyRedpacketConfirmDialog.tsx +++ b/packages/plugins/RedPacket/src/SiteAdaptor/FireflyRedpacketConfirmDialog.tsx @@ -288,7 +288,6 @@ export function FireflyRedpacketConfirmDialog({ gasOption, (payload: RedPacketJSONPayload) => onCreated(payload, state?.url, value?.claimRequirements, value?.publicKey), onClose, - currentAccount, ) const popover = usePortalShadowRoot((container) => ( diff --git a/packages/plugins/RedPacket/src/SiteAdaptor/hooks/useCreateCallback.tsx b/packages/plugins/RedPacket/src/SiteAdaptor/hooks/useCreateCallback.tsx index 557904b01f5b..29dab40e739e 100644 --- a/packages/plugins/RedPacket/src/SiteAdaptor/hooks/useCreateCallback.tsx +++ b/packages/plugins/RedPacket/src/SiteAdaptor/hooks/useCreateCallback.tsx @@ -119,7 +119,7 @@ function useCreateParamsCallback( }) return { gas: gas ? toFixed(gas) : undefined, params, paramsObj, gasError } - }, [redPacketSettings, account, redPacketContract]) + }, [redPacketSettings, account, redPacketContract, publicKey]) return getCreateParams } @@ -147,7 +147,7 @@ export function useCreateCallback( const getCreateParams = useCreateParamsCallback(expectedChainId, redPacketSettings, version, publicKey) return useAsyncFn(async () => { - const { token } = redPacketSettings + const token = redPacketSettings.token const createParams = await getCreateParams() if (!token || !redPacketContract || !createParams) return @@ -188,5 +188,5 @@ export function useCreateCallback( } } return { hash, receipt } - }, [account, redPacketContract, redPacketSettings, gasOption, chainId]) + }, [account, redPacketContract, redPacketSettings.token, gasOption, chainId, getCreateParams]) } diff --git a/packages/plugins/RedPacket/src/SiteAdaptor/hooks/useCreateFTRedpacketCallback.ts b/packages/plugins/RedPacket/src/SiteAdaptor/hooks/useCreateFTRedpacketCallback.ts index 6cb0ad7b83de..4ab26a98ac78 100644 --- a/packages/plugins/RedPacket/src/SiteAdaptor/hooks/useCreateFTRedpacketCallback.ts +++ b/packages/plugins/RedPacket/src/SiteAdaptor/hooks/useCreateFTRedpacketCallback.ts @@ -6,7 +6,7 @@ import type { RedPacketJSONPayload, RedPacketRecord } from '@masknet/web3-provid import { formatBalance } from '@masknet/web3-shared-base' import { isNativeTokenAddress, useRedPacketConstants, type GasConfig } from '@masknet/web3-shared-evm' import { BigNumber } from 'bignumber.js' -import { useCallback, useEffect, useRef } from 'react' +import { useCallback, useEffect, useMemo, useRef } from 'react' import { RedPacketRPC } from '../../messages.js' import { useCreateCallback, useCreateParams, type RedPacketSettings } from './useCreateCallback.js' @@ -17,7 +17,6 @@ export function useCreateFTRedpacketCallback( gasOption?: GasConfig, onCreated?: (payload: RedPacketJSONPayload) => void, onClose?: () => void, - currentAccount?: string, ) { // password should remain the same rather than change each time when createState change, // otherwise password in database would be different from creating red-packet. @@ -52,9 +51,10 @@ export function useCreateFTRedpacketCallback( { significant: isNativeToken ? 3 : 0 }, ) + const settingsWithTotal = useMemo(() => ({ ...settings, total }), [settings, total]) const [{ loading: isCreating }, createCallback] = useCreateCallback( chainId, - { ...settings, total, name: currentAccount || settings.name }, + settingsWithTotal, contract_version, redpacketPubkey, gasOption, @@ -82,7 +82,7 @@ export function useCreateFTRedpacketCallback( const redpacketPayload = { sender: { address: account, - name: currentAccount || settings.name, + name: settings.name, message: settings.message, }, is_random: settings.isRandom, @@ -107,7 +107,7 @@ export function useCreateFTRedpacketCallback( // output the redpacket as JSON payload onCreated?.(payload.current) - }, [createCallback, settings, onCreated, currentAccount]) + }, [createCallback, settings, onCreated]) const payload = useRef({ network: EVMChainResolver.chainName(chainId), diff --git a/packages/plugins/RedPacket/src/SiteAdaptor/views/CreateERC20RedPacket.tsx b/packages/plugins/RedPacket/src/SiteAdaptor/views/CreateERC20RedPacket.tsx index 9346a2256b40..4f968d014029 100644 --- a/packages/plugins/RedPacket/src/SiteAdaptor/views/CreateERC20RedPacket.tsx +++ b/packages/plugins/RedPacket/src/SiteAdaptor/views/CreateERC20RedPacket.tsx @@ -441,8 +441,10 @@ export function CreateERC20RedPacket() { diff --git a/packages/plugins/RedPacket/src/SiteAdaptor/views/Erc20RedPacketConfirm.tsx b/packages/plugins/RedPacket/src/SiteAdaptor/views/Erc20RedPacketConfirm.tsx index 38f8f4547338..8cf8271a697a 100644 --- a/packages/plugins/RedPacket/src/SiteAdaptor/views/Erc20RedPacketConfirm.tsx +++ b/packages/plugins/RedPacket/src/SiteAdaptor/views/Erc20RedPacketConfirm.tsx @@ -135,6 +135,8 @@ export function Erc20RedPacketConfirm() { const wallet = useWallet() const { value: smartPayChainId } = useAsync(async () => SmartPayBundler.getSupportedChainId(), []) + const loading = creatingPubkey || isCreating || isWaitGasBeMinus + const disabled = isBalanceInsufficient || loading return ( <>
@@ -236,11 +238,7 @@ export function Erc20RedPacketConfirm() {
- + {isCreating ? Confirming : Confirm} diff --git a/packages/shared/src/UI/components/UploadDropArea/index.tsx b/packages/shared/src/UI/components/UploadDropArea/index.tsx index 0400fc0c0e96..96edc9220d38 100644 --- a/packages/shared/src/UI/components/UploadDropArea/index.tsx +++ b/packages/shared/src/UI/components/UploadDropArea/index.tsx @@ -86,8 +86,6 @@ export const UploadDropArea = memo(function UploadDropArea(props: Props) { showMessage(101) } else if (!omitSizeLimit && files[0].size > maxFileSize) { showMessage(102) - } else if (accept && !accept.includes(files[0].type)) { - showMessage(103) } else { onSelectFile(files[0]) }