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

remove constant buffer and add multiplier

This commit is contained in:
Jared Pereira 2017-03-07 19:57:57 -05:00
parent e78e642eef
commit 4256e631a6

View File

@ -55,7 +55,7 @@ module.exports = class txProviderUtils {
// try adding an additional gas buffer to our estimation for safety // try adding an additional gas buffer to our estimation for safety
const estimatedGasBn = new BN(ethUtil.stripHexPrefix(txData.estimatedGas), 16) const estimatedGasBn = new BN(ethUtil.stripHexPrefix(txData.estimatedGas), 16)
const blockGasLimitBn = new BN(ethUtil.stripHexPrefix(blockGasLimitHex), 16) const blockGasLimitBn = new BN(ethUtil.stripHexPrefix(blockGasLimitHex), 16)
const estimationWithBuffer = new BN(this.addGasBuffer(estimatedGasBn), 16) const estimationWithBuffer = new BN(this.addGasBuffer(estimatedGasBn, blockGasLimitHex), 16)
// added gas buffer is too high // added gas buffer is too high
if (estimationWithBuffer.gt(blockGasLimitBn)) { if (estimationWithBuffer.gt(blockGasLimitBn)) {
txParams.gas = txData.estimatedGas txParams.gas = txData.estimatedGas
@ -68,11 +68,14 @@ module.exports = class txProviderUtils {
return return
} }
addGasBuffer (gas) { addGasBuffer (gas, blockGasLimitHex) {
const gasBuffer = new BN('100000', 10) const blockGasLimitBn = new BN(ethUtil.stripHexPrefix(blockGasLimitHex), 16)
const bnGas = new BN(ethUtil.stripHexPrefix(gas), 16) const bnGas = new BN(ethUtil.stripHexPrefix(gas), 16)
const correct = bnGas.add(gasBuffer) const bufferedGas = bnGas.mul(1.5)
return ethUtil.addHexPrefix(correct.toString(16))
if (bnGas.gt(blockGasLimitBn)) return gas
if (bufferedGas.lt(blockGasLimitBn)) return ethUtil.addHexPrefix(bufferedGas.toString(16))
return ethUtil.addHexPrefix(blockGasLimitBn.toString(16))
} }
fillInTxParams (txParams, cb) { fillInTxParams (txParams, cb) {