aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/scripts/lib/config-manager.js10
-rw-r--r--app/scripts/lib/idStore.js10
-rw-r--r--test/unit/config-manager-test.js26
3 files changed, 7 insertions, 39 deletions
diff --git a/app/scripts/lib/config-manager.js b/app/scripts/lib/config-manager.js
index b0dcd4d3f..c79dc7a8f 100644
--- a/app/scripts/lib/config-manager.js
+++ b/app/scripts/lib/config-manager.js
@@ -161,16 +161,6 @@ ConfigManager.prototype.getTx = function(txId) {
return matching.length > 0 ? matching[0] : null
}
-ConfigManager.prototype.getTxWithParams = function(params) {
- var transactions = this.getTxList()
- var matching = transactions.filter((tx) => {
- return Object.keys(tx.txParams).reduce((result, key) => {
- return ('params' in tx) ? tx.params[key] === params[key] && result : result
- }, true)
- })
- return matching.length > 0 ? matching[0] : null
-}
-
ConfigManager.prototype.confirmTx = function(txId) {
this._setTxStatus(txId, 'confirmed')
}
diff --git a/app/scripts/lib/idStore.js b/app/scripts/lib/idStore.js
index 66194fd41..7763d33d8 100644
--- a/app/scripts/lib/idStore.js
+++ b/app/scripts/lib/idStore.js
@@ -135,6 +135,7 @@ IdentityStore.prototype.addUnconfirmedTransaction = function(txParams, cb){
// create txData obj with parameters and meta data
var time = (new Date()).getTime()
var txId = createId()
+ txParams.metamaskId = txId
var txData = {
id: txId,
txParams: txParams,
@@ -337,10 +338,13 @@ function IdManagement(opts) {
txParams.gasLimit = ethUtil.addHexPrefix(txParams.gasLimit || txParams.gas)
txParams.nonce = ethUtil.addHexPrefix(txParams.nonce)
var tx = new Transaction(txParams)
+
+ // Add the tx hash to the persisted meta-tx object
var hash = '0x' + tx.hash().toString('hex')
- var txLog = configManager.getTxWithParams(txParams)
- txLog.hash = hash
- configManager.updateTx(txLog)
+ var metaTx = configManager.getTx(txParams.metamaskId)
+ metaTx.hash = hash
+ configManager.updateTx(metaTx)
+
var rawTx = '0x'+tx.serialize().toString('hex')
return '0x'+LightwalletSigner.signTx(this.keyStore, this.derivedKey, rawTx, txParams.from, this.hdPathString)
}
diff --git a/test/unit/config-manager-test.js b/test/unit/config-manager-test.js
index a5ddf78a4..e414ecb9e 100644
--- a/test/unit/config-manager-test.js
+++ b/test/unit/config-manager-test.js
@@ -156,31 +156,5 @@ describe('config-manager', function() {
assert.equal(configManager.getTx('2').status, 'confirmed')
})
})
-
- describe('#getTxWithParams', function() {
- it('returns a tx with the matching params', function() {
- configManager.addTx({ id: '1', status: 'unconfirmed', txParams: {
- from: 'from',
- to: 'to',
- data: 'data',
- value: 'value',
- }
- })
- configManager.addTx({ id: '2', status: 'unconfirmed', txParams: {
- from: 'from1',
- to: 'to',
- data: 'data',
- value: 'value',
- }
- })
- var result = configManager.getTxWithParams({
- from: 'from',
- to: 'to',
- data: 'data',
- value: 'value',
- })
- assert.equal(result.id, '1')
- })
- })
})
})