aboutsummaryrefslogtreecommitdiffstats
path: root/ui/app/components/tx-list.js
diff options
context:
space:
mode:
authorDan <danjm.com@gmail.com>2017-09-08 00:18:13 +0800
committerChi Kei Chan <chikeichan@gmail.com>2017-09-08 01:25:56 +0800
commiteabbfb83197ce948f59e0762a30d1d30266ad11c (patch)
tree37660c7930c2d8e4151d89fa39956a168d1088df /ui/app/components/tx-list.js
parent3e6b619bd8862d27b18f22ff3645fa96a96b185b (diff)
downloadtangerine-wallet-browser-eabbfb83197ce948f59e0762a30d1d30266ad11c.tar.gz
tangerine-wallet-browser-eabbfb83197ce948f59e0762a30d1d30266ad11c.tar.zst
tangerine-wallet-browser-eabbfb83197ce948f59e0762a30d1d30266ad11c.zip
Link user from transaction list to etherscan if they have a transaction hash.
Diffstat (limited to 'ui/app/components/tx-list.js')
-rw-r--r--ui/app/components/tx-list.js27
1 files changed, 26 insertions, 1 deletions
diff --git a/ui/app/components/tx-list.js b/ui/app/components/tx-list.js
index 654b95416..6a0849daf 100644
--- a/ui/app/components/tx-list.js
+++ b/ui/app/components/tx-list.js
@@ -2,6 +2,7 @@ const Component = require('react').Component
const connect = require('react-redux').connect
const h = require('react-hyperscript')
const inherits = require('util').inherits
+const prefixForNetwork = require('../../lib/etherscan-prefix-for-network')
const selectors = require('../selectors')
const TxListItem = require('./tx-list-item')
const { formatBalance, formatDate } = require('../util')
@@ -71,6 +72,8 @@ TxList.prototype.renderTransactionListItem = function (transaction) {
transactionStatus: transaction.status,
transactionAmount: formatBalance(transaction.txParams.value, 6),
transActionId: transaction.id,
+ transactionHash: transaction.hash,
+ transactionNetworkId: transaction.metamaskNetworkId,
}
const {
@@ -79,6 +82,8 @@ TxList.prototype.renderTransactionListItem = function (transaction) {
transactionAmount,
dateString,
transActionId,
+ transactionHash,
+ transactionNetworkId,
} = props
const { showConfTxPage } = this.props
@@ -90,13 +95,33 @@ TxList.prototype.renderTransactionListItem = function (transaction) {
dateString,
address,
transactionAmount,
+ transactionHash,
+ className: '.tx-list-clickable',
}
if (transactionStatus === 'unapproved') {
opts.onClick = () => showConfTxPage({id: transActionId})
- opts.className = '.tx-list-pending-item-container'
+ opts.className += '.tx-list-pending-item-container'
+ }
+ else if (transactionHash) {
+ opts.onClick = () => this.view(transactionHash, transactionNetworkId)
}
return h(TxListItem, opts)
}
+TxList.prototype.view = function (txHash, network) {
+ const url = etherscanLinkFor(txHash, network)
+ if (url) {
+ navigateTo(url)
+ }
+}
+
+function navigateTo (url) {
+ global.platform.openWindow({ url })
+}
+
+function etherscanLinkFor (txHash, network) {
+ const prefix = prefixForNetwork(network)
+ return `https://${prefix}etherscan.io/tx/${txHash}`
+}