diff options
author | Kevin Serrano <kevgagser@gmail.com> | 2017-03-02 09:03:55 +0800 |
---|---|---|
committer | Kevin Serrano <kevgagser@gmail.com> | 2017-03-02 09:03:55 +0800 |
commit | 72932bdcba10bd9d47724f271d0c14f84d12b759 (patch) | |
tree | b1426b18930b61d6f24031372f1a91f7375a4c47 /ui | |
parent | 0ac1f749fd68244682d0f2c763028cdf6aa29486 (diff) | |
download | tangerine-wallet-browser-72932bdcba10bd9d47724f271d0c14f84d12b759.tar tangerine-wallet-browser-72932bdcba10bd9d47724f271d0c14f84d12b759.tar.gz tangerine-wallet-browser-72932bdcba10bd9d47724f271d0c14f84d12b759.tar.bz2 tangerine-wallet-browser-72932bdcba10bd9d47724f271d0c14f84d12b759.tar.lz tangerine-wallet-browser-72932bdcba10bd9d47724f271d0c14f84d12b759.tar.xz tangerine-wallet-browser-72932bdcba10bd9d47724f271d0c14f84d12b759.tar.zst tangerine-wallet-browser-72932bdcba10bd9d47724f271d0c14f84d12b759.zip |
Prevent submission of invalid gas parameters.
Diffstat (limited to 'ui')
-rw-r--r-- | ui/app/components/pending-tx-details.js | 11 | ||||
-rw-r--r-- | ui/app/components/pending-tx.js | 18 |
2 files changed, 26 insertions, 3 deletions
diff --git a/ui/app/components/pending-tx-details.js b/ui/app/components/pending-tx-details.js index fc8d65454..e92ce575f 100644 --- a/ui/app/components/pending-tx-details.js +++ b/ui/app/components/pending-tx-details.js @@ -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 ( diff --git a/ui/app/components/pending-tx.js b/ui/app/components/pending-tx.js index ed366aa45..2ab6f25a9 100644 --- a/ui/app/components/pending-tx.js +++ b/ui/app/components/pending-tx.js @@ -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', { |