diff options
author | Frankie <frankie.diamond@gmail.com> | 2018-03-29 03:53:38 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-03-29 03:53:38 +0800 |
commit | 5a9aa153ecd0721be3a643afe1d23349f5b567eb (patch) | |
tree | bb863d2471840fa77adcac2443d3c61faa1fa5e1 /app/scripts/controllers/transactions.js | |
parent | 871edfe12ad37545c596e2e926afc458c0efa559 (diff) | |
parent | 21fbaed97c84e75968cff1810999d0ec1aa5ef26 (diff) | |
download | tangerine-wallet-browser-5a9aa153ecd0721be3a643afe1d23349f5b567eb.tar.gz tangerine-wallet-browser-5a9aa153ecd0721be3a643afe1d23349f5b567eb.tar.zst tangerine-wallet-browser-5a9aa153ecd0721be3a643afe1d23349f5b567eb.zip |
Merge pull request #3767 from MetaMask/tx-state-undefined-value
tx controller - stricter validation and other improvements
Diffstat (limited to 'app/scripts/controllers/transactions.js')
-rw-r--r-- | app/scripts/controllers/transactions.js | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/app/scripts/controllers/transactions.js b/app/scripts/controllers/transactions.js index 3e3909361..7e2cc15da 100644 --- a/app/scripts/controllers/transactions.js +++ b/app/scripts/controllers/transactions.js @@ -250,7 +250,7 @@ module.exports = class TransactionController extends EventEmitter { // wait for a nonce nonceLock = await this.nonceTracker.getNonceLock(fromAddress) // add nonce to txParams - // if txMeta has lastGasPrice then it is a retry at same nonce with higher + // if txMeta has lastGasPrice then it is a retry at same nonce with higher // gas price transaction and their for the nonce should not be calculated const nonce = txMeta.lastGasPrice ? txMeta.txParams.nonce : nonceLock.nextNonce txMeta.txParams.nonce = ethUtil.addHexPrefix(nonce.toString(16)) @@ -273,12 +273,14 @@ module.exports = class TransactionController extends EventEmitter { async signTransaction (txId) { const txMeta = this.txStateManager.getTx(txId) - const txParams = txMeta.txParams - const fromAddress = txParams.from // add network/chain id - txParams.chainId = ethUtil.addHexPrefix(this.getChainId().toString(16)) + const chainId = this.getChainId() + const txParams = Object.assign({}, txMeta.txParams, { chainId }) + // sign tx + const fromAddress = txParams.from const ethTx = new Transaction(txParams) await this.signEthTx(ethTx, fromAddress) + // set state to signed this.txStateManager.setTxStatusSigned(txMeta.id) const rawTx = ethUtil.bufferToHex(ethTx.serialize()) return rawTx |