diff --git a/app/scripts/controllers/transactions.js b/app/scripts/controllers/transactions.js index a73a8b36d..0b78d62f1 100644 --- a/app/scripts/controllers/transactions.js +++ b/app/scripts/controllers/transactions.js @@ -315,6 +315,18 @@ module.exports = class TransactionController extends EventEmitter { // _normalizeTxParams (txParams) { + const acceptableKeys = [ + 'from', + 'to', + 'nonce', + 'value', + 'data', + 'gas', + 'gasPrice', + ] + Object.keys(txParams).forEach((key) => { + if (!acceptableKeys.includes(key)) delete txParams[key] + }) delete txParams.chainId if ( !txParams.to ) { diff --git a/test/unit/tx-controller-test.js b/test/unit/tx-controller-test.js index 3fec9758f..e552464cf 100644 --- a/test/unit/tx-controller-test.js +++ b/test/unit/tx-controller-test.js @@ -239,6 +239,7 @@ describe('Transaction Controller', function () { from: 'a7df1beDBF813f57096dF77FCd515f0B3900e402', to: null, data: '68656c6c6f20776f726c64', + random: 'hello world', } txController._normalizeTxParams(txParams) @@ -247,7 +248,7 @@ describe('Transaction Controller', function () { assert(!txParams.to, 'their should be no to address if null') assert.equal(txParams.from.slice(0, 2), '0x', 'from should be hexPrefixd') assert.equal(txParams.data.slice(0, 2), '0x', 'data should be hexPrefixd') - + assert(!('random' in txParams), 'their should be no random key in txParams') txParams.to = 'a7df1beDBF813f57096dF77FCd515f0B3900e402' txController._normalizeTxParams(txParams)