mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-11-22 01:47:00 +01:00
Fixing error when user input some letter in token allowance flow (#17117)
* Fixing error when user input some letter in token allowance flow * Rename the regex variable name and added a brief comment above its definition Co-authored-by: Pedro Figueiredo <pedro.figueiredo@consensys.net>
This commit is contained in:
parent
1df1955276
commit
c82c967c46
@ -44,5 +44,7 @@ export const MAX_TOKEN_ALLOWANCE_AMOUNT = new BigNumber(2)
|
|||||||
.pow(256)
|
.pow(256)
|
||||||
.minus(1)
|
.minus(1)
|
||||||
.toString(10);
|
.toString(10);
|
||||||
export const TOKEN_ALLOWANCE_VALUE_REGEX = /^[0-9]{1,}([,.][0-9]{1,})?$/u;
|
// number with optional decimal point using a comma or dot
|
||||||
|
export const NUM_W_OPT_DECIMAL_COMMA_OR_DOT_REGEX =
|
||||||
|
/^[0-9]{1,}([,.][0-9]{1,})?$/u;
|
||||||
export const DECIMAL_REGEX = /\.(\d*)/u;
|
export const DECIMAL_REGEX = /\.(\d*)/u;
|
||||||
|
@ -29,7 +29,7 @@ import {
|
|||||||
} from '../../../../shared/modules/conversion.utils';
|
} from '../../../../shared/modules/conversion.utils';
|
||||||
import {
|
import {
|
||||||
MAX_TOKEN_ALLOWANCE_AMOUNT,
|
MAX_TOKEN_ALLOWANCE_AMOUNT,
|
||||||
TOKEN_ALLOWANCE_VALUE_REGEX,
|
NUM_W_OPT_DECIMAL_COMMA_OR_DOT_REGEX,
|
||||||
DECIMAL_REGEX,
|
DECIMAL_REGEX,
|
||||||
} from '../../../../shared/constants/tokens';
|
} from '../../../../shared/constants/tokens';
|
||||||
import { CustomSpendingCapTooltip } from './custom-spending-cap-tooltip';
|
import { CustomSpendingCapTooltip } from './custom-spending-cap-tooltip';
|
||||||
@ -112,7 +112,7 @@ export default function CustomSpendingCap({
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (valueInput && !TOKEN_ALLOWANCE_VALUE_REGEX.test(valueInput)) {
|
if (valueInput && !NUM_W_OPT_DECIMAL_COMMA_OR_DOT_REGEX.test(valueInput)) {
|
||||||
spendingCapError = t('spendingCapError');
|
spendingCapError = t('spendingCapError');
|
||||||
setCustomSpendingCapText(t('spendingCapErrorDescription', [siteOrigin]));
|
setCustomSpendingCapText(t('spendingCapErrorDescription', [siteOrigin]));
|
||||||
setError(spendingCapError);
|
setError(spendingCapError);
|
||||||
|
@ -52,7 +52,10 @@ import { getCustomTxParamsData } from '../confirm-approve/confirm-approve.util';
|
|||||||
import { setCustomTokenAmount } from '../../ducks/app/app';
|
import { setCustomTokenAmount } from '../../ducks/app/app';
|
||||||
import { valuesFor } from '../../helpers/utils/util';
|
import { valuesFor } from '../../helpers/utils/util';
|
||||||
import { calcTokenAmount } from '../../../shared/lib/transactions-controller-utils';
|
import { calcTokenAmount } from '../../../shared/lib/transactions-controller-utils';
|
||||||
import { MAX_TOKEN_ALLOWANCE_AMOUNT } from '../../../shared/constants/tokens';
|
import {
|
||||||
|
MAX_TOKEN_ALLOWANCE_AMOUNT,
|
||||||
|
NUM_W_OPT_DECIMAL_COMMA_OR_DOT_REGEX,
|
||||||
|
} from '../../../shared/constants/tokens';
|
||||||
import { ConfirmPageContainerNavigation } from '../../components/app/confirm-page-container';
|
import { ConfirmPageContainerNavigation } from '../../components/app/confirm-page-container';
|
||||||
|
|
||||||
export default function TokenAllowance({
|
export default function TokenAllowance({
|
||||||
@ -102,7 +105,11 @@ export default function TokenAllowance({
|
|||||||
return inputValue.replace(/,/gu, '.');
|
return inputValue.replace(/,/gu, '.');
|
||||||
};
|
};
|
||||||
|
|
||||||
let customPermissionAmount = replaceCommaToDot(customTokenAmount).toString();
|
let customPermissionAmount = NUM_W_OPT_DECIMAL_COMMA_OR_DOT_REGEX.test(
|
||||||
|
customTokenAmount,
|
||||||
|
)
|
||||||
|
? replaceCommaToDot(customTokenAmount).toString()
|
||||||
|
: '0';
|
||||||
|
|
||||||
const maxTokenAmount = calcTokenAmount(MAX_TOKEN_ALLOWANCE_AMOUNT, decimals);
|
const maxTokenAmount = calcTokenAmount(MAX_TOKEN_ALLOWANCE_AMOUNT, decimals);
|
||||||
if (customTokenAmount.length > 1 && Number(customTokenAmount)) {
|
if (customTokenAmount.length > 1 && Number(customTokenAmount)) {
|
||||||
|
Loading…
Reference in New Issue
Block a user