aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfrankiebee <frankie.diamond@gmail.com>2018-04-03 06:43:32 +0800
committerfrankiebee <frankie.diamond@gmail.com>2018-04-03 06:43:32 +0800
commitab126b8c7894a0cfb8e728eeed48689200ed7a6c (patch)
treee57ac7ea58ae03f9ad6b5cabe39da01d39db4a2d
parente8a480aac44546e6bd5d7457545bc951a8787814 (diff)
downloadtangerine-wallet-browser-ab126b8c7894a0cfb8e728eeed48689200ed7a6c.tar
tangerine-wallet-browser-ab126b8c7894a0cfb8e728eeed48689200ed7a6c.tar.gz
tangerine-wallet-browser-ab126b8c7894a0cfb8e728eeed48689200ed7a6c.tar.bz2
tangerine-wallet-browser-ab126b8c7894a0cfb8e728eeed48689200ed7a6c.tar.lz
tangerine-wallet-browser-ab126b8c7894a0cfb8e728eeed48689200ed7a6c.tar.xz
tangerine-wallet-browser-ab126b8c7894a0cfb8e728eeed48689200ed7a6c.tar.zst
tangerine-wallet-browser-ab126b8c7894a0cfb8e728eeed48689200ed7a6c.zip
transactions gasLimit - use the block gasLimit if getCode fails
-rw-r--r--app/scripts/controllers/transactions.js5
-rw-r--r--app/scripts/lib/tx-gas-utils.js4
2 files changed, 6 insertions, 3 deletions
diff --git a/app/scripts/controllers/transactions.js b/app/scripts/controllers/transactions.js
index a18a2d2e2..31e53554d 100644
--- a/app/scripts/controllers/transactions.js
+++ b/app/scripts/controllers/transactions.js
@@ -187,12 +187,12 @@ module.exports = class TransactionController extends EventEmitter {
// validate
await this.txGasUtil.validateTxParams(txParams)
// construct txMeta
- const txMeta = this.txStateManager.generateTxMeta({txParams})
+ let txMeta = this.txStateManager.generateTxMeta({txParams})
this.addTx(txMeta)
this.emit('newUnapprovedTx', txMeta)
// add default tx params
try {
- await this.addTxDefaults(txMeta)
+ txMeta = await this.addTxDefaults(txMeta)
} catch (error) {
console.log(error)
this.txStateManager.setTxStatusFailed(txMeta.id, error)
@@ -215,6 +215,7 @@ module.exports = class TransactionController extends EventEmitter {
}
txParams.gasPrice = ethUtil.addHexPrefix(gasPrice.toString(16))
txParams.value = txParams.value || '0x0'
+ if (txParams.to === null) delete txParams.to
// set gasLimit
return await this.txGasUtil.analyzeGasUsage(txMeta)
}
diff --git a/app/scripts/lib/tx-gas-utils.js b/app/scripts/lib/tx-gas-utils.js
index 4be7738b0..829b4c421 100644
--- a/app/scripts/lib/tx-gas-utils.js
+++ b/app/scripts/lib/tx-gas-utils.js
@@ -52,7 +52,9 @@ module.exports = class TxGasUtil {
// if recipient has no code, gas is 21k max:
const recipient = txParams.to
const hasRecipient = Boolean(recipient)
- const code = await this.query.getCode(recipient)
+ let code
+ if (recipient) code = await this.query.getCode(recipient)
+
if (hasRecipient && (!code || code === '0x')) {
txParams.gas = SIMPLE_GAS_COST
txMeta.simpleSend = true // Prevents buffer addition