diff --git a/packages/mask/src/plugins/ITO/SNSAdaptor/ConfirmDialog.tsx b/packages/mask/src/plugins/ITO/SNSAdaptor/ConfirmDialog.tsx index b2d3bcceb42f..b90082c9d6e5 100644 --- a/packages/mask/src/plugins/ITO/SNSAdaptor/ConfirmDialog.tsx +++ b/packages/mask/src/plugins/ITO/SNSAdaptor/ConfirmDialog.tsx @@ -315,7 +315,12 @@ export function ConfirmDialog(props: ConfirmDialogProps) { {t('plugin_ito_send_text', { - total: formatAmountPrecision(poolSettings?.total, poolSettings?.token?.decimals), + total: formatAmountPrecision( + poolSettings?.total, + poolSettings?.token?.decimals, + undefined, + poolSettings?.token?.decimals, + ), symbol: poolSettings?.token?.symbol, })} diff --git a/packages/mask/src/plugins/ITO/SNSAdaptor/CreateForm.tsx b/packages/mask/src/plugins/ITO/SNSAdaptor/CreateForm.tsx index 321f62d68bf8..80227ec579cb 100644 --- a/packages/mask/src/plugins/ITO/SNSAdaptor/CreateForm.tsx +++ b/packages/mask/src/plugins/ITO/SNSAdaptor/CreateForm.tsx @@ -183,13 +183,22 @@ export function CreateForm(props: CreateFormProps) { tokenAndAmount?.token?.address ?? '', ) - const onTotalOfPerWalletChange = useCallback((ev: ChangeEvent) => { - const total = ev.currentTarget.value - if (total === '') setTotalOfPerWallet('') - if (/^\d+\.?\d*$/.test(total)) { - setTotalOfPerWallet(total) - } - }, []) + const RE_MATCH_WHOLE_AMOUNT = useMemo( + () => new RegExp(`^\\d*\\.?\\d{0,${tokenAndAmount?.token?.decimals ?? 18}}$`), // d.ddd...d + [tokenAndAmount?.token?.decimals], + ) + + const onTotalOfPerWalletChange = useCallback( + (ev: ChangeEvent) => { + const total = ev.currentTarget.value + if (!RE_MATCH_WHOLE_AMOUNT.test(total)) return + if (total === '') setTotalOfPerWallet('') + if (/^\d+\.?\d*$/.test(total)) { + setTotalOfPerWallet(total) + } + }, + [tokenAndAmount?.token?.decimals, RE_MATCH_WHOLE_AMOUNT], + ) // qualificationAddress const [qualificationAddress, setQualificationAddress] = useState( diff --git a/packages/mask/src/plugins/ITO/SNSAdaptor/ITO.tsx b/packages/mask/src/plugins/ITO/SNSAdaptor/ITO.tsx index d1d7f5d2b03f..c1ae97abd553 100644 --- a/packages/mask/src/plugins/ITO/SNSAdaptor/ITO.tsx +++ b/packages/mask/src/plugins/ITO/SNSAdaptor/ITO.tsx @@ -548,8 +548,8 @@ export function ITO(props: ITO_Props) { {t('plugin_ito_swapped_status', { - remain: formatAmountPrecision(sold, token.decimals), - total: formatAmountPrecision(total, token.decimals), + remain: formatAmountPrecision(sold, token.decimals, undefined, token.decimals), + total: formatAmountPrecision(total, token.decimals, undefined, token.decimals), token: token.symbol, })}