aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrankie <frankie.pangilinan@consensys.net>2016-09-09 03:56:04 +0800
committerFrankie <frankie.pangilinan@consensys.net>2016-09-09 03:56:04 +0800
commit6f86c5f8ee6779eddfde1fbc32e356bbc80708f3 (patch)
tree3458a0b05c8e0664ae6d853b47a385225ea722d2
parent5f8d3085d7603135849eb22ad22c70733c236c2d (diff)
downloadtangerine-wallet-browser-6f86c5f8ee6779eddfde1fbc32e356bbc80708f3.tar
tangerine-wallet-browser-6f86c5f8ee6779eddfde1fbc32e356bbc80708f3.tar.gz
tangerine-wallet-browser-6f86c5f8ee6779eddfde1fbc32e356bbc80708f3.tar.bz2
tangerine-wallet-browser-6f86c5f8ee6779eddfde1fbc32e356bbc80708f3.tar.lz
tangerine-wallet-browser-6f86c5f8ee6779eddfde1fbc32e356bbc80708f3.tar.xz
tangerine-wallet-browser-6f86c5f8ee6779eddfde1fbc32e356bbc80708f3.tar.zst
tangerine-wallet-browser-6f86c5f8ee6779eddfde1fbc32e356bbc80708f3.zip
Add network checks for unconfirmed Txs
-rw-r--r--ui/app/accounts/index.js1
-rw-r--r--ui/app/conf-tx.js4
-rw-r--r--ui/app/reducers/app.js19
-rw-r--r--ui/index.js5
-rw-r--r--ui/lib/tx-helper.js4
5 files changed, 25 insertions, 8 deletions
diff --git a/ui/app/accounts/index.js b/ui/app/accounts/index.js
index 6e12accc7..c20900c1e 100644
--- a/ui/app/accounts/index.js
+++ b/ui/app/accounts/index.js
@@ -11,6 +11,7 @@ module.exports = connect(mapStateToProps)(AccountsScreen)
function mapStateToProps (state) {
const pendingTxs = valuesFor(state.metamask.unconfTxs)
+ .filter(tx => tx.txParams.metamaskNetworkId === state.metamask.network)
const pendingMsgs = valuesFor(state.metamask.unconfMsgs)
const pending = pendingTxs.concat(pendingMsgs)
diff --git a/ui/app/conf-tx.js b/ui/app/conf-tx.js
index 22d29383f..99b4bc9f1 100644
--- a/ui/app/conf-tx.js
+++ b/ui/app/conf-tx.js
@@ -21,6 +21,7 @@ function mapStateToProps (state) {
unconfMsgs: state.metamask.unconfMsgs,
index: state.appState.currentView.context,
warning: state.appState.warning,
+ network: state.metamask.network,
}
}
@@ -32,9 +33,10 @@ function ConfirmTxScreen () {
ConfirmTxScreen.prototype.render = function () {
var state = this.props
+ var network = state.network
var unconfTxs = state.unconfTxs
var unconfMsgs = state.unconfMsgs
- var unconfTxList = txHelper(unconfTxs, unconfMsgs)
+ var unconfTxList = txHelper(unconfTxs, unconfMsgs, network)
var index = state.index !== undefined ? state.index : 0
var txData = unconfTxList[index] || unconfTxList[0] || {}
var isNotification = isPopupOrNotification() === 'notification'
diff --git a/ui/app/reducers/app.js b/ui/app/reducers/app.js
index bad11113a..29d5d9378 100644
--- a/ui/app/reducers/app.js
+++ b/ui/app/reducers/app.js
@@ -7,6 +7,7 @@ module.exports = reduceApp
function reduceApp (state, action) {
// clone and defaults
+ console.log(action.type)
const selectedAccount = state.metamask.selectedAccount
const pendingTxs = hasPendingTxs(state)
let name = 'accounts'
@@ -15,6 +16,15 @@ function reduceApp (state, action) {
}
if (pendingTxs) {
name = 'confTx'
+ } else {
+ try {
+ if (state.appState.currentView.name === 'confTx') {
+ name = 'accountDetail'
+ }
+ } catch (e) {
+ null
+ }
+
}
var defaultView = {
@@ -258,8 +268,9 @@ function reduceApp (state, action) {
case actions.COMPLETED_TX:
var unconfTxs = state.metamask.unconfTxs
var unconfMsgs = state.metamask.unconfMsgs
+ var network = state.metamask.network
- var unconfTxList = txHelper(unconfTxs, unconfMsgs)
+ var unconfTxList = txHelper(unconfTxs, unconfMsgs, network)
.filter(tx => tx !== tx.id)
if (unconfTxList && unconfTxList.length > 0) {
@@ -523,14 +534,16 @@ function reduceApp (state, action) {
function hasPendingTxs (state) {
var unconfTxs = state.metamask.unconfTxs
var unconfMsgs = state.metamask.unconfMsgs
- var unconfTxList = txHelper(unconfTxs, unconfMsgs)
+ var network = state.metamask.network
+ var unconfTxList = txHelper(unconfTxs, unconfMsgs, network)
return unconfTxList.length > 0
}
function indexForPending (state, txId) {
var unconfTxs = state.metamask.unconfTxs
var unconfMsgs = state.metamask.unconfMsgs
- var unconfTxList = txHelper(unconfTxs, unconfMsgs)
+ var network = state.metamask.network
+ var unconfTxList = txHelper(unconfTxs, unconfMsgs, network)
let idx
unconfTxList.forEach((tx, i) => {
if (tx.id === txId) {
diff --git a/ui/index.js b/ui/index.js
index 8cf74f6ee..0cd6ac735 100644
--- a/ui/index.js
+++ b/ui/index.js
@@ -3,7 +3,7 @@ const h = require('react-hyperscript')
const Root = require('./app/root')
const actions = require('./app/actions')
const configureStore = require('./app/store')
-
+const txHelper = require('./lib/tx-helper')
module.exports = launchApp
function launchApp (opts) {
@@ -34,7 +34,8 @@ function startApp (metamaskState, accountManager, opts) {
})
// if unconfirmed txs, start on txConf page
- if (Object.keys(metamaskState.unconfTxs || {}).length) {
+ var unconfirmedTxsAll = txHelper(metamaskState.unconfTxs, metamaskState.unconfMsgs, metamaskState.network)
+ if (unconfirmedTxsAll > 0) {
store.dispatch(actions.showConfTxPage())
}
diff --git a/ui/lib/tx-helper.js b/ui/lib/tx-helper.js
index 8f15cd3cc..c984bc9af 100644
--- a/ui/lib/tx-helper.js
+++ b/ui/lib/tx-helper.js
@@ -1,7 +1,7 @@
const valuesFor = require('../app/util').valuesFor
-module.exports = function (unconfTxs, unconfMsgs) {
- var txValues = valuesFor(unconfTxs)
+module.exports = function (unconfTxs, unconfMsgs, network) {
+ var txValues = network ? valuesFor(unconfTxs).filter(tx => tx.txParams.metamaskNetworkId === network) : valuesFor(unconfTxs)
var msgValues = valuesFor(unconfMsgs)
var allValues = txValues.concat(msgValues)
return allValues.sort(tx => tx.time)