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

detect tx error - show warning and fix gasLimit

This commit is contained in:
kumavis 2016-11-10 21:19:34 -08:00
parent 3775a4bf79
commit 536cab0687
2 changed files with 25 additions and 2 deletions

View File

@ -259,10 +259,24 @@ IdentityStore.prototype.addUnconfirmedTransaction = function (txParams, onTxDone
}
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 (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.txParams.gasLimit = txData.estimatedGas
txData.txParams.gas = txData.estimatedGas
cb()
})
}

View File

@ -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 ?
h('span.error', {
style: {