aboutsummaryrefslogtreecommitdiffstats
path: root/app/scripts/controllers
diff options
context:
space:
mode:
authorkumavis <aaron@kumavis.me>2018-03-28 14:55:18 +0800
committerkumavis <aaron@kumavis.me>2018-03-28 14:55:18 +0800
commit21fbaed97c84e75968cff1810999d0ec1aa5ef26 (patch)
treebb863d2471840fa77adcac2443d3c61faa1fa5e1 /app/scripts/controllers
parent871edfe12ad37545c596e2e926afc458c0efa559 (diff)
downloadtangerine-wallet-browser-21fbaed97c84e75968cff1810999d0ec1aa5ef26.tar
tangerine-wallet-browser-21fbaed97c84e75968cff1810999d0ec1aa5ef26.tar.gz
tangerine-wallet-browser-21fbaed97c84e75968cff1810999d0ec1aa5ef26.tar.bz2
tangerine-wallet-browser-21fbaed97c84e75968cff1810999d0ec1aa5ef26.tar.lz
tangerine-wallet-browser-21fbaed97c84e75968cff1810999d0ec1aa5ef26.tar.xz
tangerine-wallet-browser-21fbaed97c84e75968cff1810999d0ec1aa5ef26.tar.zst
tangerine-wallet-browser-21fbaed97c84e75968cff1810999d0ec1aa5ef26.zip
tx controller - explode on non-hex txParams + dont add chainId to txParams + sign with chainId as number
Diffstat (limited to 'app/scripts/controllers')
-rw-r--r--app/scripts/controllers/transactions.js10
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