aboutsummaryrefslogtreecommitdiffstats
path: root/ui/app/actions.js
diff options
context:
space:
mode:
authorDan <danjm.com@gmail.com>2017-09-22 12:15:26 +0800
committerDan <danjm.com@gmail.com>2017-09-26 08:24:55 +0800
commit88c4226bf1dca8647a45f3921396daaa88bbf939 (patch)
treeb1a777ed4dcfcf058166e5b9a180f11c8654caf1 /ui/app/actions.js
parenta1d87b821b7e0a444257065d284b13f98e4d3173 (diff)
downloadtangerine-wallet-browser-88c4226bf1dca8647a45f3921396daaa88bbf939.tar
tangerine-wallet-browser-88c4226bf1dca8647a45f3921396daaa88bbf939.tar.gz
tangerine-wallet-browser-88c4226bf1dca8647a45f3921396daaa88bbf939.tar.bz2
tangerine-wallet-browser-88c4226bf1dca8647a45f3921396daaa88bbf939.tar.lz
tangerine-wallet-browser-88c4226bf1dca8647a45f3921396daaa88bbf939.tar.xz
tangerine-wallet-browser-88c4226bf1dca8647a45f3921396daaa88bbf939.tar.zst
tangerine-wallet-browser-88c4226bf1dca8647a45f3921396daaa88bbf939.zip
Estimate gasPrice and gasLimit in send screen.
Diffstat (limited to 'ui/app/actions.js')
-rw-r--r--ui/app/actions.js57
1 files changed, 57 insertions, 0 deletions
diff --git a/ui/app/actions.js b/ui/app/actions.js
index 0a2b4a636..a43809fc0 100644
--- a/ui/app/actions.js
+++ b/ui/app/actions.js
@@ -129,6 +129,17 @@ var actions = {
cancelAllTx: cancelAllTx,
viewPendingTx: viewPendingTx,
VIEW_PENDING_TX: 'VIEW_PENDING_TX',
+ // send screen
+ estimateGas,
+ updateGasEstimate,
+ UPDATE_GAS_ESTIMATE: 'UPDATE_GAS_ESTIMATE',
+ updateGasPrice,
+ UPDATE_GAS_PRICE: 'UPDATE_GAS_PRICE',
+ getGasPrice,
+ CLEAR_GAS_ESTIMATE: 'CLEAR_GAS_ESTIMATE',
+ CLEAR_GAS_PRICE: 'CLEAR_GAS_PRICE',
+ clearGasEstimate,
+ clearGasPrice,
// app messages
confirmSeedWords: confirmSeedWords,
showAccountDetail: showAccountDetail,
@@ -449,6 +460,26 @@ function signTx (txData) {
}
}
+function estimateGas ({ to, amount }) {
+ return (dispatch) => {
+ global.ethQuery.estimateGas({ to, amount }, (err, data) => {
+ if (err) return dispatch(actions.displayWarning(err.message))
+ dispatch(actions.hideWarning())
+ dispatch(actions.updateGasEstimate(data))
+ })
+ }
+}
+
+function getGasPrice () {
+ return (dispatch) => {
+ global.ethQuery.gasPrice((err, data) => {
+ if (err) return dispatch(actions.displayWarning(err.message))
+ dispatch(actions.hideWarning())
+ dispatch(actions.updateGasPrice(data))
+ })
+ }
+}
+
function sendTx (txData) {
log.info(`actions - sendTx: ${JSON.stringify(txData.txParams)}`)
return (dispatch) => {
@@ -506,6 +537,32 @@ function txError (err) {
}
}
+function updateGasEstimate (gas) {
+ return {
+ type: actions.UPDATE_GAS_ESTIMATE,
+ value: gas,
+ }
+}
+
+function clearGasEstimate () {
+ return {
+ type: actions.CLEAR_GAS_ESTIMATE,
+ }
+}
+
+function updateGasPrice (gasPrice) {
+ return {
+ type: actions.UPDATE_GAS_PRICE,
+ value: gasPrice,
+ }
+}
+
+function clearGasPrice () {
+ return {
+ type: actions.CLEAR_GAS_PRICE,
+ }
+}
+
function cancelMsg (msgData) {
log.debug(`background.cancelMessage`)
background.cancelMessage(msgData.id)