detect tx error - show warning and fix gasLimit

feature/default_network_editable
kumavis 8 years ago
parent 3775a4bf79
commit 536cab0687
  1. 18
      app/scripts/lib/idStore.js
  2. 9
      ui/app/components/pending-tx.js

@ -259,10 +259,24 @@ IdentityStore.prototype.addUnconfirmedTransaction = function (txParams, onTxDone
} }
function estimateGas(cb){ function estimateGas(cb){
query.estimateGas(txParams, function(err, result){ var estimationParams = extend(txParams)
// 1 billion gas for estimation
var gasLimit = '0x3b9aca00'
estimationParams.gas = gasLimit
query.estimateGas(estimationParams, function(err, result){
if (err) return cb(err) if (err) return cb(err)
if (result === estimationParams.gas) {
txData.simulationFails = true
query.getBlockByNumber('latest', true, function(err, block){
if (err) return cb(err)
txData.estimatedGas = block.gasLimit
txData.txParams.gas = block.gasLimit
cb()
})
return
}
txData.estimatedGas = self.addGasBuffer(result) txData.estimatedGas = self.addGasBuffer(result)
txData.txParams.gasLimit = txData.estimatedGas txData.txParams.gas = txData.estimatedGas
cb() cb()
}) })
} }

@ -30,6 +30,15 @@ PendingTx.prototype.render = function () {
} }
`), `),
txData.simulationFails ?
h('span.error', {
style: {
marginLeft: 50,
fontSize: '0.9em',
},
}, 'Transaction Error. Exception thrown in contract code.')
: null,
state.insufficientBalance ? state.insufficientBalance ?
h('span.error', { h('span.error', {
style: { style: {

Loading…
Cancel
Save