Merge pull request #744 from MetaMask/i738-IncreaseGas

Increase gas estimate by 100000 wei
feature/default_network_editable
kumavis 8 years ago committed by GitHub
commit 0f0951ba54
  1. 2
      CHANGELOG.md
  2. 10
      app/scripts/lib/idStore.js
  3. 18
      test/unit/idStore-test.js

@ -2,6 +2,8 @@
## Current Master
- Increase default max gas to `100000` over the RPC's `estimateGas` response.
## 2.13.4 2016-10-17
- Add custom transaction fee field to send form.

@ -2,6 +2,7 @@ const EventEmitter = require('events').EventEmitter
const inherits = require('util').inherits
const async = require('async')
const ethUtil = require('ethereumjs-util')
const BN = ethUtil.BN
const EthQuery = require('eth-query')
const KeyStore = require('eth-lightwallet').keystore
const clone = require('clone')
@ -266,7 +267,7 @@ IdentityStore.prototype.addUnconfirmedTransaction = function (txParams, onTxDone
function estimateGas(cb){
query.estimateGas(txParams, function(err, result){
if (err) return cb(err)
txData.estimatedGas = result
txData.estimatedGas = self.addGasBuffer(result)
cb()
})
}
@ -281,6 +282,13 @@ IdentityStore.prototype.addUnconfirmedTransaction = function (txParams, onTxDone
}
}
IdentityStore.prototype.addGasBuffer = function (gasHex) {
var gas = new BN(gasHex, 16)
var buffer = new BN('100000', 10)
var result = gas.add(buffer)
return ethUtil.addHexPrefix(result.toString(16))
}
// comes from metamask ui
IdentityStore.prototype.approveTransaction = function (txId, cb) {
const configManager = this.configManager

@ -2,6 +2,7 @@ var assert = require('assert')
var IdentityStore = require('../../app/scripts/lib/idStore')
var configManagerGen = require('../lib/mock-config-manager')
const ethUtil = require('ethereumjs-util')
const BN = ethUtil.BN
const async = require('async')
describe('IdentityStore', function() {
@ -138,4 +139,21 @@ describe('IdentityStore', function() {
})
})
})
describe('#addGasBuffer', function() {
const idStore = new IdentityStore({
configManager: configManagerGen(),
ethStore: {
addAccount(acct) { accounts.push(ethUtil.addHexPrefix(acct)) },
},
})
const gas = '0x01'
const bnGas = new BN(gas, 16)
const result = idStore.addGasBuffer(gas)
const bnResult = new BN(result, 16)
assert.ok(bnResult.gt(gas), 'added more gas as buffer.')
assert.equal(result.indexOf('0x'), 0, 'include hex prefix')
})
})

Loading…
Cancel
Save