ensure that values written to txParams are hex strings

feature/default_network_editable
frankiebee 7 years ago
parent 59909601b8
commit 77a48fb0b1
  1. 2
      app/scripts/controllers/transactions.js
  2. 9
      app/scripts/lib/tx-state-manager.js

@ -212,7 +212,7 @@ module.exports = class TransactionController extends EventEmitter {
const txParams = txMeta.txParams const txParams = txMeta.txParams
const fromAddress = txParams.from const fromAddress = txParams.from
// add network/chain id // add network/chain id
txParams.chainId = this.getChainId() txParams.chainId = ethUtil.addHexPrefix(this.getChainId().toString(16))
const ethTx = new Transaction(txParams) const ethTx = new Transaction(txParams)
await this.signEthTx(ethTx, fromAddress) await this.signEthTx(ethTx, fromAddress)
this.txStateManager.setTxStatusSigned(txMeta.id) this.txStateManager.setTxStatusSigned(txMeta.id)

@ -1,6 +1,7 @@
const extend = require('xtend') const extend = require('xtend')
const EventEmitter = require('events') const EventEmitter = require('events')
const ObservableStore = require('obs-store') const ObservableStore = require('obs-store')
const ethUtil = require('ethereumjs-util')
const txStateHistoryHelper = require('./tx-state-history-helper') const txStateHistoryHelper = require('./tx-state-history-helper')
module.exports = class TransactionStateManger extends EventEmitter { module.exports = class TransactionStateManger extends EventEmitter {
@ -82,6 +83,14 @@ module.exports = class TransactionStateManger extends EventEmitter {
} }
updateTx (txMeta) { updateTx (txMeta) {
if (txMeta.txParams) {
Object.keys(txMeta.txParams).forEach((key) => {
let value = txMeta.txParams[key]
if (typeof value !== 'string') console.error(`${key}: ${value} in txParams is not a string`)
if (!ethUtil.isHexPrefixed(value)) console.error('is not hex prefixed, anything on txParams must be hex prefixed')
})
}
// create txMeta snapshot for history // create txMeta snapshot for history
const currentState = txStateHistoryHelper.snapshotFromTxMeta(txMeta) const currentState = txStateHistoryHelper.snapshotFromTxMeta(txMeta)
// recover previous tx state obj // recover previous tx state obj

Loading…
Cancel
Save