aboutsummaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
authorDan Finlay <flyswatter@users.noreply.github.com>2017-03-08 13:41:54 +0800
committerGitHub <noreply@github.com>2017-03-08 13:41:54 +0800
commitde5a30c5ff3acbcda7a46a3caba70a622308dbb2 (patch)
tree378135a51316e92cf58025b8823e7f109145a88b /app
parenta8551c4fe2c86b0cab5afa23040cc0c9b0cf444f (diff)
parent0889309bf32fbb23f8bcea037338a9b240439e64 (diff)
downloadtangerine-wallet-browser-de5a30c5ff3acbcda7a46a3caba70a622308dbb2.tar
tangerine-wallet-browser-de5a30c5ff3acbcda7a46a3caba70a622308dbb2.tar.gz
tangerine-wallet-browser-de5a30c5ff3acbcda7a46a3caba70a622308dbb2.tar.bz2
tangerine-wallet-browser-de5a30c5ff3acbcda7a46a3caba70a622308dbb2.tar.lz
tangerine-wallet-browser-de5a30c5ff3acbcda7a46a3caba70a622308dbb2.tar.xz
tangerine-wallet-browser-de5a30c5ff3acbcda7a46a3caba70a622308dbb2.tar.zst
tangerine-wallet-browser-de5a30c5ff3acbcda7a46a3caba70a622308dbb2.zip
Merge pull request #1187 from MetaMask/i1118-IncreaseGasBuffer
I1118 increase gas buffer
Diffstat (limited to 'app')
-rw-r--r--app/scripts/lib/tx-utils.js13
1 files changed, 8 insertions, 5 deletions
diff --git a/app/scripts/lib/tx-utils.js b/app/scripts/lib/tx-utils.js
index 19a2d430e..f5051eb8f 100644
--- a/app/scripts/lib/tx-utils.js
+++ b/app/scripts/lib/tx-utils.js
@@ -55,7 +55,7 @@ module.exports = class txProviderUtils {
// try adding an additional gas buffer to our estimation for safety
const estimatedGasBn = new BN(ethUtil.stripHexPrefix(txData.estimatedGas), 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
if (estimationWithBuffer.gt(blockGasLimitBn)) {
txParams.gas = txData.estimatedGas
@@ -68,11 +68,14 @@ module.exports = class txProviderUtils {
return
}
- addGasBuffer (gas) {
- const gasBuffer = new BN('100000', 10)
+ addGasBuffer (gas, blockGasLimitHex) {
+ const blockGasLimitBn = new BN(ethUtil.stripHexPrefix(blockGasLimitHex), 16)
const bnGas = new BN(ethUtil.stripHexPrefix(gas), 16)
- const correct = bnGas.add(gasBuffer)
- return ethUtil.addHexPrefix(correct.toString(16))
+ const bufferedGas = bnGas.muln(1.5)
+
+ 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) {