diff options
author | kumavis <kumavis@users.noreply.github.com> | 2018-04-06 06:06:29 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-04-06 06:06:29 +0800 |
commit | 741c6097a2cead5447da8af7e5f9dae71740eb5c (patch) | |
tree | 9079a6cc6d73d719f9b1c6a98fb85763efaf4bf7 /app | |
parent | 2dfa8a2e5049c21b30f6b70d06d0cfd56097904a (diff) | |
parent | c02da0f27ca4a4239ebae4cfd3348a656e258b86 (diff) | |
download | tangerine-wallet-browser-741c6097a2cead5447da8af7e5f9dae71740eb5c.tar tangerine-wallet-browser-741c6097a2cead5447da8af7e5f9dae71740eb5c.tar.gz tangerine-wallet-browser-741c6097a2cead5447da8af7e5f9dae71740eb5c.tar.bz2 tangerine-wallet-browser-741c6097a2cead5447da8af7e5f9dae71740eb5c.tar.lz tangerine-wallet-browser-741c6097a2cead5447da8af7e5f9dae71740eb5c.tar.xz tangerine-wallet-browser-741c6097a2cead5447da8af7e5f9dae71740eb5c.tar.zst tangerine-wallet-browser-741c6097a2cead5447da8af7e5f9dae71740eb5c.zip |
Merge pull request #3887 from MetaMask/i#3886
transactions - remove unnecessary keys on txParams
Diffstat (limited to 'app')
-rw-r--r-- | app/scripts/controllers/transactions.js | 37 |
1 files changed, 18 insertions, 19 deletions
diff --git a/app/scripts/controllers/transactions.js b/app/scripts/controllers/transactions.js index a73a8b36d..336b0d8f7 100644 --- a/app/scripts/controllers/transactions.js +++ b/app/scripts/controllers/transactions.js @@ -185,10 +185,10 @@ module.exports = class TransactionController extends EventEmitter { async addUnapprovedTransaction (txParams) { // validate - this._validateTxParams(txParams) - this._normalizeTxParams(txParams) + const normalizedTxParams = this._normalizeTxParams(txParams) + this._validateTxParams(normalizedTxParams) // construct txMeta - let txMeta = this.txStateManager.generateTxMeta({txParams}) + let txMeta = this.txStateManager.generateTxMeta({ txParams: normalizedTxParams }) this.addTx(txMeta) this.emit('newUnapprovedTx', txMeta) // add default tx params @@ -315,25 +315,24 @@ module.exports = class TransactionController extends EventEmitter { // _normalizeTxParams (txParams) { - delete txParams.chainId - - if ( !txParams.to ) { - delete txParams.to - } else { - txParams.to = ethUtil.addHexPrefix(txParams.to) - } - txParams.from = ethUtil.addHexPrefix(txParams.from).toLowerCase() - - if (!txParams.data) { - delete txParams.data - } else { - txParams.data = ethUtil.addHexPrefix(txParams.data) + // functions that handle normalizing of that key in txParams + const whiteList = { + from: from => ethUtil.addHexPrefix(from).toLowerCase(), + to: to => ethUtil.addHexPrefix(txParams.to).toLowerCase(), + nonce: nonce => ethUtil.addHexPrefix(nonce), + value: value => ethUtil.addHexPrefix(value), + data: data => ethUtil.addHexPrefix(data), + gas: gas => ethUtil.addHexPrefix(gas), + gasPrice: gasPrice => ethUtil.addHexPrefix(gasPrice), } - if (txParams.value) txParams.value = ethUtil.addHexPrefix(txParams.value) + // apply only keys in the whiteList + const normalizedTxParams = {} + Object.keys(whiteList).forEach((key) => { + if (txParams[key]) normalizedTxParams[key] = whiteList[key](txParams[key]) + }) - if (txParams.gas) txParams.gas = ethUtil.addHexPrefix(txParams.gas) - if (txParams.gasPrice) txParams.gas = ethUtil.addHexPrefix(txParams.gas) + return normalizedTxParams } _validateTxParams (txParams) { |