mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-11-22 18:00:18 +01:00
Add new blockGasLimit property to txMeta object.
This commit is contained in:
parent
1ffc6ea0b3
commit
26fd016b63
@ -21,19 +21,30 @@ module.exports = class txProviderUtils {
|
||||
this.query.getBlockByNumber('latest', true, (err, block) => {
|
||||
if (err) return cb(err)
|
||||
async.waterfall([
|
||||
self.setBlockGasLimit.bind(self, txMeta, block.gasLimit),
|
||||
self.estimateTxGas.bind(self, txMeta, block.gasLimit),
|
||||
self.setTxGas.bind(self, txMeta, block.gasLimit),
|
||||
], cb)
|
||||
})
|
||||
}
|
||||
|
||||
setBlockGasLimit (txMeta, blockGasLimitHex, cb) {
|
||||
const blockGasLimitBN = hexToBn(blockGasLimitHex)
|
||||
const saferGasLimitBN = blockGasLimitBN.muln(0.95)
|
||||
txMeta.blockGasLimit = bnToHex(saferGasLimitBN)
|
||||
cb()
|
||||
return
|
||||
}
|
||||
|
||||
estimateTxGas (txMeta, blockGasLimitHex, cb) {
|
||||
const txParams = txMeta.txParams
|
||||
// check if gasLimit is already specified
|
||||
txMeta.gasLimitSpecified = Boolean(txParams.gas)
|
||||
// if not, fallback to block gasLimit
|
||||
if (!txMeta.gasLimitSpecified) {
|
||||
txParams.gas = blockGasLimitHex
|
||||
const blockGasLimitBN = hexToBn(blockGasLimitHex)
|
||||
const saferGasLimitBN = blockGasLimitBN.muln(0.95)
|
||||
txParams.gas = bnToHex(saferGasLimitBN)
|
||||
}
|
||||
// run tx, see if it will OOG
|
||||
this.query.estimateGas(txParams, cb)
|
||||
|
Loading…
Reference in New Issue
Block a user