Ensures that transactions cannot be confirmed if gas limit is below 21000. (#6625)

feature/default_network_editable
Dan J Miller 6 years ago committed by GitHub
parent 2b5c7b82a9
commit 5e2fd8ae86
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 17
      ui/app/components/app/gas-customization/gas-modal-page-container/gas-modal-page-container.container.js
  2. 9
      ui/app/pages/confirm-transaction-base/confirm-transaction-base.component.js

@ -201,7 +201,20 @@ const mapDispatchToProps = dispatch => {
}
const mergeProps = (stateProps, dispatchProps, ownProps) => {
const { gasPriceButtonGroupProps, isConfirm, txId, isSpeedUp, insufficientBalance, maxModeOn, customGasPrice, customGasTotal, balance, selectedToken, tokenBalance} = stateProps
const {
gasPriceButtonGroupProps,
isConfirm,
txId,
isSpeedUp,
insufficientBalance,
maxModeOn,
customGasPrice,
customGasTotal,
balance,
selectedToken,
tokenBalance,
customGasLimit,
} = stateProps
const {
updateCustomGasPrice: dispatchUpdateCustomGasPrice,
hideGasButtonGroup: dispatchHideGasButtonGroup,
@ -251,7 +264,7 @@ const mergeProps = (stateProps, dispatchProps, ownProps) => {
dispatchHideSidebar()
}
},
disableSave: insufficientBalance || (isSpeedUp && customGasPrice === 0),
disableSave: insufficientBalance || (isSpeedUp && customGasPrice === 0) || customGasLimit < 21000,
}
}

@ -9,6 +9,7 @@ import { DEFAULT_ROUTE, CONFIRM_TRANSACTION_ROUTE } from '../../helpers/constant
import {
INSUFFICIENT_FUNDS_ERROR_KEY,
TRANSACTION_ERROR_KEY,
GAS_LIMIT_TOO_LOW_ERROR_KEY,
} from '../../helpers/constants/error-keys'
import { CONFIRMED_STATUS, DROPPED_STATUS } from '../../helpers/constants/transactions'
import UserPreferencedCurrencyDisplay from '../../components/app/user-preferenced-currency-display'
@ -134,6 +135,7 @@ export default class ConfirmTransactionBase extends Component {
value: amount,
} = {},
} = {},
customGas,
} = this.props
const insufficientBalance = balance && !isBalanceSufficient({
@ -150,6 +152,13 @@ export default class ConfirmTransactionBase extends Component {
}
}
if (customGas.gasLimit < 21000) {
return {
valid: false,
errorKey: GAS_LIMIT_TOO_LOW_ERROR_KEY,
}
}
if (simulationFails) {
return {
valid: true,

Loading…
Cancel
Save