aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrankie <frankie.pangilinan@consensys.net>2016-09-16 05:31:45 +0800
committerFrankie <frankie.pangilinan@consensys.net>2016-09-16 05:31:45 +0800
commitcf484d735fab021a0dfe509243b957e8c6278532 (patch)
tree521c1baf581454c29b05c53a6598d5ec6fe8caa4
parent7293c67f686516485ea1a06fb3ee15094630da3e (diff)
downloadtangerine-wallet-browser-cf484d735fab021a0dfe509243b957e8c6278532.tar
tangerine-wallet-browser-cf484d735fab021a0dfe509243b957e8c6278532.tar.gz
tangerine-wallet-browser-cf484d735fab021a0dfe509243b957e8c6278532.tar.bz2
tangerine-wallet-browser-cf484d735fab021a0dfe509243b957e8c6278532.tar.lz
tangerine-wallet-browser-cf484d735fab021a0dfe509243b957e8c6278532.tar.xz
tangerine-wallet-browser-cf484d735fab021a0dfe509243b957e8c6278532.tar.zst
tangerine-wallet-browser-cf484d735fab021a0dfe509243b957e8c6278532.zip
Clean up some of the code
-rw-r--r--ui/app/components/pending-tx.js25
-rw-r--r--ui/app/conf-tx.js21
2 files changed, 18 insertions, 28 deletions
diff --git a/ui/app/components/pending-tx.js b/ui/app/components/pending-tx.js
index 57852010e..4c27a8092 100644
--- a/ui/app/components/pending-tx.js
+++ b/ui/app/components/pending-tx.js
@@ -3,9 +3,6 @@ const h = require('react-hyperscript')
const inherits = require('util').inherits
const PendingTxDetails = require('./pending-tx-details')
-const ethUtil = require('ethereumjs-util')
-const BN = ethUtil.BN
-
module.exports = PendingTx
inherits(PendingTx, Component)
@@ -16,20 +13,6 @@ function PendingTx () {
PendingTx.prototype.render = function () {
var state = this.props
var txData = state.txData
- var txParams = txData.txParams || {}
- var address = txParams.from || state.selectedAddress
-
- var account = state.accounts[address]
- var balance = account ? account.balance : '0x0'
-
- var gasCost = new BN(ethUtil.stripHexPrefix(txParams.gas || txData.estimatedGas), 16)
- var gasPrice = new BN(ethUtil.stripHexPrefix(txParams.gasPrice || '0x4a817c800'), 16)
- var txFee = gasCost.mul(gasPrice)
- var txValue = new BN(ethUtil.stripHexPrefix(txParams.value || '0x0'), 16)
- var maxCost = txValue.add(txFee)
-
- var balanceBn = new BN(ethUtil.stripHexPrefix(balance), 16)
- var insufficientBalance = maxCost.gt(balanceBn)
return (
@@ -47,7 +30,7 @@ PendingTx.prototype.render = function () {
}
`),
- insufficientBalance ?
+ state.insufficientBalance ?
h('span.error', {
style: {
marginLeft: 50,
@@ -65,14 +48,14 @@ PendingTx.prototype.render = function () {
},
}, [
- insufficientBalance ?
+ state.insufficientBalance ?
h('button.btn-green', {
- onClick: state.sendTransaction,
+ onClick: state.buyEth,
}, 'Buy Ether')
: null,
h('button.confirm', {
- disabled: insufficientBalance,
+ disabled: state.insufficientBalance,
onClick: state.sendTransaction,
}, 'Accept'),
diff --git a/ui/app/conf-tx.js b/ui/app/conf-tx.js
index 8cbb1f44f..f4ca52860 100644
--- a/ui/app/conf-tx.js
+++ b/ui/app/conf-tx.js
@@ -41,6 +41,7 @@ ConfirmTxScreen.prototype.render = function () {
var unconfTxList = txHelper(unconfTxs, unconfMsgs, network)
var index = state.index !== undefined ? state.index : 0
var txData = unconfTxList[index] || unconfTxList[0] || {}
+ var txParams = txData.txParams || {}
var isNotification = isPopupOrNotification() === 'notification'
return (
@@ -92,7 +93,9 @@ ConfirmTxScreen.prototype.render = function () {
selectedAddress: state.selectedAddress,
accounts: state.accounts,
identities: state.identities,
+ insufficientBalance: this.checkBalnceAgainstTx(txData),
// Actions
+ buyEth: this.buyEth.bind(this, txParams.from || state.selectedAddress),
sendTransaction: this.sendTransaction.bind(this, txData),
cancelTransaction: this.cancelTransaction.bind(this, txData),
signMessage: this.signMessage.bind(this, txData),
@@ -113,8 +116,7 @@ function currentTxView (opts) {
return h(PendingMsg, opts)
}
}
-
-ConfirmTxScreen.prototype.sendTransaction = function (txData, event) {
+ConfirmTxScreen.prototype.checkBalnceAgainstTx = function (txData) {
var state = this.props
var txParams = txData.txParams || {}
@@ -129,12 +131,17 @@ ConfirmTxScreen.prototype.sendTransaction = function (txData, event) {
var maxCost = txValue.add(txFee)
var balanceBn = new BN(ethUtil.stripHexPrefix(balance), 16)
+ return maxCost.gt(balanceBn)
+}
+
+ConfirmTxScreen.prototype.buyEth = function (address, event) {
event.stopPropagation()
- if (maxCost.gt(balanceBn)) {
- this.props.dispatch(actions.buyEthView(address))
- } else {
- this.props.dispatch(actions.sendTx(txData))
- }
+ this.props.dispatch(actions.buyEthView(address))
+}
+
+ConfirmTxScreen.prototype.sendTransaction = function (txData, event) {
+ event.stopPropagation()
+ this.props.dispatch(actions.sendTx(txData))
}
ConfirmTxScreen.prototype.cancelTransaction = function (txData, event) {