1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-12-23 09:52:26 +01:00

Prevent submission of invalid gas parameters.

This commit is contained in:
Kevin Serrano 2017-03-01 17:03:55 -08:00
parent 0ac1f749fd
commit 72932bdcba
No known key found for this signature in database
GPG Key ID: 7CC862A58D2889B4
2 changed files with 26 additions and 3 deletions

View File

@ -306,7 +306,6 @@ PTXP.gatherParams = function () {
const state = this.state || {}
const txData = state.txData || props.txData
const txParams = txData.txParams
const gas = state.gas || txParams.gas
const gasPrice = state.gasPrice || txParams.gasPrice
const resultTx = extend(txParams, {
@ -320,6 +319,16 @@ PTXP.gatherParams = function () {
return resultTxMeta
}
PTXP.verifyGasParams = function () {
// We call this in case the gas has not been modified at all
if (!this.state) { return true }
return this._notZeroOrEmptyString(this.state.gas) && this._notZeroOrEmptyString(this.state.gasPrice)
}
PTXP._notZeroOrEmptyString = function (obj) {
return obj !== '' && obj !== '0x0'
}
function forwardCarrat () {
return (

View File

@ -1,10 +1,18 @@
const Component = require('react').Component
const connect = require('react-redux').connect
const h = require('react-hyperscript')
const inherits = require('util').inherits
const PendingTxDetails = require('./pending-tx-details')
const extend = require('xtend')
const actions = require('../actions')
module.exports = PendingTx
module.exports = connect(mapStateToProps)(PendingTx)
function mapStateToProps (state) {
return {
}
}
inherits(PendingTx, Component)
function PendingTx () {
@ -73,7 +81,13 @@ PendingTx.prototype.render = function () {
h('button.confirm.btn-green', {
disabled: props.insufficientBalance,
onClick: props.sendTransaction,
onClick: (txData, event) => {
if (this.refs.details.verifyGasParams()) {
props.sendTransaction(txData, event)
} else {
this.props.dispatch(actions.displayWarning('Invalid Gas Parameters'))
}
},
}, 'Accept'),
h('button.cancel.btn-red', {