aboutsummaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
authorkumavis <kumavis@users.noreply.github.com>2018-04-06 06:06:29 +0800
committerGitHub <noreply@github.com>2018-04-06 06:06:29 +0800
commit741c6097a2cead5447da8af7e5f9dae71740eb5c (patch)
tree9079a6cc6d73d719f9b1c6a98fb85763efaf4bf7 /app
parent2dfa8a2e5049c21b30f6b70d06d0cfd56097904a (diff)
parentc02da0f27ca4a4239ebae4cfd3348a656e258b86 (diff)
downloadtangerine-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.js37
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) {