diff options
author | frankiebee <frankie.diamond@gmail.com> | 2018-04-03 06:43:32 +0800 |
---|---|---|
committer | frankiebee <frankie.diamond@gmail.com> | 2018-04-03 06:43:32 +0800 |
commit | ab126b8c7894a0cfb8e728eeed48689200ed7a6c (patch) | |
tree | e57ac7ea58ae03f9ad6b5cabe39da01d39db4a2d | |
parent | e8a480aac44546e6bd5d7457545bc951a8787814 (diff) | |
download | tangerine-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.js | 5 | ||||
-rw-r--r-- | app/scripts/lib/tx-gas-utils.js | 4 |
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 |