mirror of
https://github.com/trezor/trezor-wallet
synced 2024-11-30 12:18:09 +00:00
add gas price and nonce l10n
This commit is contained in:
parent
5000ea65e4
commit
baee0855c5
@ -357,21 +357,33 @@ export const gasLimitValidation = ($state: State): PayloadAction<State> => (
|
|||||||
/*
|
/*
|
||||||
* Gas price value validation
|
* Gas price value validation
|
||||||
*/
|
*/
|
||||||
export const gasPriceValidation = ($state: State): PayloadAction<State> => (): State => {
|
export const gasPriceValidation = ($state: State): PayloadAction<State> => (
|
||||||
|
dispatch: Dispatch,
|
||||||
|
getState: GetState
|
||||||
|
): State => {
|
||||||
const state = { ...$state };
|
const state = { ...$state };
|
||||||
if (!state.touched.gasPrice) return state;
|
if (!state.touched.gasPrice) return state;
|
||||||
|
|
||||||
|
// get react-intl imperative api
|
||||||
|
const { language, messages } = getState().wallet;
|
||||||
|
const intlProvider = new IntlProvider({ language, messages });
|
||||||
|
const { intl } = intlProvider.getChildContext();
|
||||||
|
|
||||||
const { gasPrice } = state;
|
const { gasPrice } = state;
|
||||||
if (gasPrice.length < 1) {
|
if (gasPrice.length < 1) {
|
||||||
state.errors.gasPrice = 'Gas price is not set';
|
// state.errors.gasPrice = 'Gas price is not set';
|
||||||
|
state.errors.gasPrice = intl.formatMessage(l10nMessages.TR_GAS_PRICE_IS_NOT_SET);
|
||||||
} else if (gasPrice.length > 0 && !validators.isNumber(gasPrice)) {
|
} else if (gasPrice.length > 0 && !validators.isNumber(gasPrice)) {
|
||||||
state.errors.gasPrice = 'Gas price is not a number';
|
// state.errors.gasPrice = 'Gas price is not a number';
|
||||||
|
state.errors.gasPrice = intl.formatMessage(l10nMessages.TR_GAS_PRICE_IS_NOT_A_NUMBER);
|
||||||
} else {
|
} else {
|
||||||
const gp: BigNumber = new BigNumber(gasPrice);
|
const gp: BigNumber = new BigNumber(gasPrice);
|
||||||
if (gp.isGreaterThan(1000)) {
|
if (gp.isGreaterThan(1000)) {
|
||||||
state.warnings.gasPrice = 'Gas price is too high';
|
// state.warnings.gasPrice = 'Gas price is too high';
|
||||||
|
state.warnings.gasPrice = intl.formatMessage(l10nMessages.TR_GAS_PRICE_IS_TOO_HIGH);
|
||||||
} else if (gp.isLessThanOrEqualTo('0')) {
|
} else if (gp.isLessThanOrEqualTo('0')) {
|
||||||
state.errors.gasPrice = 'Gas price is too low';
|
// state.errors.gasPrice = 'Gas price is too low';
|
||||||
|
state.errors.gasPrice = intl.formatMessage(l10nMessages.TR_GAS_PRICE_IS_TOO_LOW);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return state;
|
return state;
|
||||||
@ -387,33 +399,56 @@ export const nonceValidation = ($state: State): PayloadAction<State> => (
|
|||||||
const state = { ...$state };
|
const state = { ...$state };
|
||||||
if (!state.touched.nonce) return state;
|
if (!state.touched.nonce) return state;
|
||||||
|
|
||||||
|
// get react-intl imperative api
|
||||||
|
const { language, messages } = getState().wallet;
|
||||||
|
const intlProvider = new IntlProvider({ language, messages });
|
||||||
|
const { intl } = intlProvider.getChildContext();
|
||||||
|
|
||||||
const { account } = getState().selectedAccount;
|
const { account } = getState().selectedAccount;
|
||||||
if (!account || account.networkType !== 'ethereum') return state;
|
if (!account || account.networkType !== 'ethereum') return state;
|
||||||
|
|
||||||
const { nonce } = state;
|
const { nonce } = state;
|
||||||
if (nonce.length < 1) {
|
if (nonce.length < 1) {
|
||||||
state.errors.nonce = 'Nonce is not set';
|
// state.errors.nonce = 'Nonce is not set';
|
||||||
|
state.errors.nonce = intl.formatMessage(l10nMessages.TR_NONCE_IS_NOT_SET);
|
||||||
} else if (!validators.isAbs(nonce)) {
|
} else if (!validators.isAbs(nonce)) {
|
||||||
state.errors.nonce = 'Nonce is not a valid number';
|
// state.errors.nonce = 'Nonce is not a valid number';
|
||||||
|
state.errors.nonce = intl.formatMessage(l10nMessages.TR_NONCE_IS_NOT_A_NUMBER);
|
||||||
} else {
|
} else {
|
||||||
const n: BigNumber = new BigNumber(nonce);
|
const n: BigNumber = new BigNumber(nonce);
|
||||||
if (n.isLessThan(account.nonce)) {
|
if (n.isLessThan(account.nonce)) {
|
||||||
state.warnings.nonce = 'Nonce is lower than recommended';
|
// state.warnings.nonce = 'Nonce is lower than recommended';
|
||||||
|
state.warnings.nonce = intl.formatMessage(
|
||||||
|
l10nMessages.TR_NONCE_IS_LOWER_THAN_RECOMMENDED
|
||||||
|
);
|
||||||
} else if (n.isGreaterThan(account.nonce)) {
|
} else if (n.isGreaterThan(account.nonce)) {
|
||||||
state.warnings.nonce = 'Nonce is greater than recommended';
|
// state.warnings.nonce = 'Nonce is greater than recommended';
|
||||||
|
state.warnings.nonce = intl.formatMessage(
|
||||||
|
l10nMessages.TR_NONCE_IS_GREATER_THAN_RECOMMENDED
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return state;
|
return state;
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Gas price value validation
|
* Data validation
|
||||||
*/
|
*/
|
||||||
export const dataValidation = ($state: State): PayloadAction<State> => (): State => {
|
export const dataValidation = ($state: State): PayloadAction<State> => (
|
||||||
|
dispatch: Dispatch,
|
||||||
|
getState: GetState
|
||||||
|
): State => {
|
||||||
const state = { ...$state };
|
const state = { ...$state };
|
||||||
if (!state.touched.data || state.data.length === 0) return state;
|
if (!state.touched.data || state.data.length === 0) return state;
|
||||||
|
|
||||||
|
// get react-intl imperative api
|
||||||
|
const { language, messages } = getState().wallet;
|
||||||
|
const intlProvider = new IntlProvider({ language, messages });
|
||||||
|
const { intl } = intlProvider.getChildContext();
|
||||||
|
|
||||||
if (!ethUtils.isHex(state.data)) {
|
if (!ethUtils.isHex(state.data)) {
|
||||||
state.errors.data = 'Data is not valid hexadecimal';
|
// state.errors.data = 'Data is not valid hexadecimal';
|
||||||
|
state.errors.data = intl.formatMessage(l10nMessages.TR_DATA_IS_NOT_VALID_HEX);
|
||||||
}
|
}
|
||||||
return state;
|
return state;
|
||||||
};
|
};
|
||||||
|
@ -55,6 +55,42 @@ const definedMessages: Messages = defineMessages({
|
|||||||
id: 'TR_GAS_LIMIT_IS_BELOW_RECOMMENDED',
|
id: 'TR_GAS_LIMIT_IS_BELOW_RECOMMENDED',
|
||||||
defaultMessage: 'Gas limit is below recommended',
|
defaultMessage: 'Gas limit is below recommended',
|
||||||
},
|
},
|
||||||
|
TR_GAS_PRICE_IS_NOT_A_NUMBER: {
|
||||||
|
id: 'TR_GAS_PRICE_IS_NOT_A_NUMBER',
|
||||||
|
defaultMessage: 'Gas price is not a number',
|
||||||
|
},
|
||||||
|
TR_GAS_PRICE_IS_NOT_SET: {
|
||||||
|
id: 'TR_GAS_PRICE_IS_NOT_SET',
|
||||||
|
defaultMessage: 'Gas price is not set',
|
||||||
|
},
|
||||||
|
TR_GAS_PRICE_IS_TOO_LOW: {
|
||||||
|
id: 'TR_GAS_PRICE_IS_TOO_LOW',
|
||||||
|
defaultMessage: 'Gas price is too low',
|
||||||
|
},
|
||||||
|
TR_GAS_PRICE_IS_TOO_HIGH: {
|
||||||
|
id: 'TR_GAS_PRICE_IS_TOO_HIGH',
|
||||||
|
defaultMessage: 'Gas price is too high',
|
||||||
|
},
|
||||||
|
TR_NONCE_IS_NOT_A_NUMBER: {
|
||||||
|
id: 'TR_NONCE_IS_NOT_A_NUMBER',
|
||||||
|
defaultMessage: 'Nonce is not a valid number',
|
||||||
|
},
|
||||||
|
TR_NONCE_IS_NOT_SET: {
|
||||||
|
id: 'TR_NONCE_IS_NOT_SET',
|
||||||
|
defaultMessage: 'Nonce is not set',
|
||||||
|
},
|
||||||
|
TR_NONCE_IS_GREATER_THAN_RECOMMENDED: {
|
||||||
|
id: 'TR_NONCE_IS_GREATER_THAN_RECOMMENDED',
|
||||||
|
defaultMessage: 'Nonce is greater than recommended',
|
||||||
|
},
|
||||||
|
TR_NONCE_IS_LOWER_THAN_RECOMMENDED: {
|
||||||
|
id: 'TR_NONCE_IS_LOWER_THAN_RECOMMENDED',
|
||||||
|
defaultMessage: 'Nonce is lower than recommended',
|
||||||
|
},
|
||||||
|
TR_DATA_IS_NOT_VALID_HEX: {
|
||||||
|
id: 'TR_DATA_IS_NOT_VALID_HEX',
|
||||||
|
defaultMessage: 'Data is not valid hexadecimal',
|
||||||
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
export default definedMessages;
|
export default definedMessages;
|
||||||
|
Loading…
Reference in New Issue
Block a user