From 22ba0b0c2d4aee355893832dcbd9a5cd87cbf966 Mon Sep 17 00:00:00 2001 From: Dan Finlay <542863+danfinlay@users.noreply.github.com> Date: Wed, 14 Nov 2018 13:34:07 -0800 Subject: Resubmit approved transactions on new block (#5752) * Add beginning of test * Resubmit approved transactions on new block May fix #4343 and related issues, where an error could leave transactions stranded in the approved state. * Remove unused test * Re-approve transactions when retrying approved * Add retry approved test * Include approved in pending tx count * Fix getPendingTxs() * Linted * Only throw hash error in submitted state * Only check submitted txs for block inclusion * Fix test expectations --- app/scripts/controllers/transactions/index.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'app/scripts/controllers/transactions/index.js') diff --git a/app/scripts/controllers/transactions/index.js b/app/scripts/controllers/transactions/index.js index 9f2290924..9cf822d34 100644 --- a/app/scripts/controllers/transactions/index.js +++ b/app/scripts/controllers/transactions/index.js @@ -82,7 +82,12 @@ class TransactionController extends EventEmitter { provider: this.provider, nonceTracker: this.nonceTracker, publishTransaction: (rawTx) => this.query.sendRawTransaction(rawTx), - getPendingTransactions: this.txStateManager.getPendingTransactions.bind(this.txStateManager), + getPendingTransactions: () => { + const pending = this.txStateManager.getPendingTransactions() + const approved = this.txStateManager.getApprovedTransactions() + return [...pending, ...approved] + }, + approveTransaction: this.approveTransaction.bind(this), getCompletedTransactions: this.txStateManager.getConfirmedTransactions.bind(this.txStateManager), }) -- cgit v1.2.3 From ce147bf6d8431f4f0cb5b4de46a5af9628b3e9e2 Mon Sep 17 00:00:00 2001 From: Frankie Date: Fri, 16 Nov 2018 08:34:08 -1000 Subject: Tx controller now uses safe event emitter (#5769) * transactions - use safe-event-emitter over events * tests - pass a platform object on init with a noop showTransactionNotification * test - fix for tx-state-history-helper trying to reduce an empty array * deps - safe-event-emitter * lint --- app/scripts/controllers/transactions/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'app/scripts/controllers/transactions/index.js') diff --git a/app/scripts/controllers/transactions/index.js b/app/scripts/controllers/transactions/index.js index 9cf822d34..b44f66f14 100644 --- a/app/scripts/controllers/transactions/index.js +++ b/app/scripts/controllers/transactions/index.js @@ -1,4 +1,4 @@ -const EventEmitter = require('events') +const EventEmitter = require('safe-event-emitter') const ObservableStore = require('obs-store') const ethUtil = require('ethereumjs-util') const Transaction = require('ethereumjs-tx') -- cgit v1.2.3