aboutsummaryrefslogtreecommitdiffstats
path: root/ui
diff options
context:
space:
mode:
authorDan <danjm.com@gmail.com>2017-09-27 08:21:45 +0800
committerChi Kei Chan <chikeichan@gmail.com>2017-09-27 09:43:26 +0800
commit541b69dda9a5ddbb0ea4e4c0df805e886f53645c (patch)
tree127748f60dd8d195c72f9642a0d3f85aa451576e /ui
parent25c2865076784f3e5346f7e34cbf80b9fe210ade (diff)
downloadtangerine-wallet-browser-541b69dda9a5ddbb0ea4e4c0df805e886f53645c.tar.gz
tangerine-wallet-browser-541b69dda9a5ddbb0ea4e4c0df805e886f53645c.tar.zst
tangerine-wallet-browser-541b69dda9a5ddbb0ea4e4c0df805e886f53645c.zip
Gets gas and price estimates when send components mount.
Diffstat (limited to 'ui')
-rw-r--r--ui/app/actions.js4
-rw-r--r--ui/app/components/send-token/index.js32
-rw-r--r--ui/app/send.js33
3 files changed, 27 insertions, 42 deletions
diff --git a/ui/app/actions.js b/ui/app/actions.js
index a0dbbbf11..63d22238b 100644
--- a/ui/app/actions.js
+++ b/ui/app/actions.js
@@ -452,10 +452,10 @@ function signTx (txData) {
}
}
-function estimateGas ({ to, amount }) {
+function estimateGas () {
return (dispatch) => {
return new Promise((resolve, reject) => {
- global.ethQuery.estimateGas({ to, amount }, (err, data) => {
+ global.ethQuery.estimateGas({}, (err, data) => {
if (err) {
dispatch(actions.displayWarning(err.message))
return reject(err)
diff --git a/ui/app/components/send-token/index.js b/ui/app/components/send-token/index.js
index 379f63883..02423a348 100644
--- a/ui/app/components/send-token/index.js
+++ b/ui/app/components/send-token/index.js
@@ -57,9 +57,8 @@ function mapDispatchToProps (dispatch) {
dispatch(actions.signTokenTx(tokenAddress, toAddress, amount, txData))
),
updateTokenExchangeRate: token => dispatch(actions.updateTokenExchangeRate(token)),
- estimateGas: ({ to, amount }) => dispatch(actions.estimateGas({ to, amount })),
+ estimateGas: () => dispatch(actions.estimateGas()),
getGasPrice: () => dispatch(actions.getGasPrice()),
-
}
}
@@ -82,27 +81,22 @@ SendTokenScreen.prototype.componentWillMount = function () {
const {
updateTokenExchangeRate,
selectedToken: { symbol },
+ getGasPrice,
+ estimateGas,
} = this.props
updateTokenExchangeRate(symbol)
-}
-SendTokenScreen.prototype.estimateGasAndPrice = function () {
- const { selectedToken } = this.props
- const { errors, amount, to } = this.state
-
- if (!errors.to && !errors.amount && amount > 0) {
- Promise.all([
- this.props.getGasPrice(),
- this.props.estimateGas({ to, amount: this.getAmountToSend(amount, selectedToken) }),
- ])
- .then(([blockGasPrice, estimatedGas]) => {
- this.setState({
- blockGasPrice,
- estimatedGas,
- })
+ Promise.all([
+ getGasPrice(),
+ estimateGas(),
+ ])
+ .then(([blockGasPrice, estimatedGas]) => {
+ this.setState({
+ blockGasPrice,
+ estimatedGas,
})
- }
+ })
}
SendTokenScreen.prototype.validate = function () {
@@ -238,7 +232,6 @@ SendTokenScreen.prototype.renderToAddressInput = function () {
}),
onBlur: () => {
this.setErrorsFor('to')
- this.estimateGasAndPrice()
},
onFocus: event => {
if (to) event.target.select()
@@ -300,7 +293,6 @@ SendTokenScreen.prototype.renderAmountInput = function () {
}),
onBlur: () => {
this.setErrorsFor('amount')
- this.estimateGasAndPrice()
},
onFocus: () => this.clearErrorsFor('amount'),
}),
diff --git a/ui/app/send.js b/ui/app/send.js
index 8791e9124..dc7e7c8ec 100644
--- a/ui/app/send.js
+++ b/ui/app/send.js
@@ -93,7 +93,6 @@ function SendTransactionScreen () {
this.getAmountToSend = this.getAmountToSend.bind(this)
this.setErrorsFor = this.setErrorsFor.bind(this)
this.clearErrorsFor = this.clearErrorsFor.bind(this)
- this.estimateGasAndPrice = this.estimateGasAndPrice.bind(this)
this.renderFromInput = this.renderFromInput.bind(this)
this.renderToInput = this.renderToInput.bind(this)
@@ -103,6 +102,19 @@ function SendTransactionScreen () {
this.renderErrorMessage = this.renderErrorMessage.bind(this)
}
+SendTransactionScreen.prototype.componentWillMount = function () {
+ Promise.all([
+ this.props.dispatch(getGasPrice()),
+ this.props.dispatch(estimateGas()),
+ ])
+ .then(([blockGasPrice, estimatedGas]) => {
+ this.setState({
+ blockGasPrice,
+ estimatedGas,
+ })
+ })
+}
+
SendTransactionScreen.prototype.renderErrorMessage = function(errorType, warning) {
const { errors } = this.state
const errorMessage = errors[errorType];
@@ -171,7 +183,6 @@ SendTransactionScreen.prototype.renderToInput = function (to, identities, addres
},
onBlur: () => {
this.setErrorsFor('to')
- this.estimateGasAndPrice()
},
onFocus: event => {
this.clearErrorsFor('to')
@@ -230,7 +241,6 @@ SendTransactionScreen.prototype.renderAmountInput = function (activeCurrency) {
},
onBlur: () => {
this.setErrorsFor('amount')
- this.estimateGasAndPrice()
},
onFocus: () => this.clearErrorsFor('amount'),
}),
@@ -383,23 +393,6 @@ SendTransactionScreen.prototype.setActiveCurrency = function (newCurrency) {
this.setState({ activeCurrency: newCurrency })
}
-SendTransactionScreen.prototype.estimateGasAndPrice = function () {
- const { errors, sendAmount, newTx } = this.state
-
- if (!errors.to && !errors.amount && newTx.amount > 0) {
- Promise.all([
- this.props.dispatch(getGasPrice()),
- this.props.dispatch(estimateGas({ to: newTx.to, amount: sendAmount })),
- ])
- .then(([blockGasPrice, estimatedGas]) => {
- this.setState({
- blockGasPrice,
- estimatedGas,
- })
- })
- }
-}
-
SendTransactionScreen.prototype.back = function () {
var address = this.props.address
this.props.dispatch(backToAccountDetail(address))