diff options
author | frankiebee <frankie.diamond@gmail.com> | 2018-07-11 02:32:05 +0800 |
---|---|---|
committer | frankiebee <frankie.diamond@gmail.com> | 2018-07-11 02:32:05 +0800 |
commit | 28c509914bf09850dd9aaef52b212f6271633e93 (patch) | |
tree | 049373cf51ae16580a5f18dd29e195e68d4f7b53 /ui/app/actions.js | |
parent | 94a4f99115cf549a3014d29d828e7a432bf36a62 (diff) | |
parent | f6de948e42ae633d40aef72595a01caa622a280d (diff) | |
download | tangerine-wallet-browser-28c509914bf09850dd9aaef52b212f6271633e93.tar tangerine-wallet-browser-28c509914bf09850dd9aaef52b212f6271633e93.tar.gz tangerine-wallet-browser-28c509914bf09850dd9aaef52b212f6271633e93.tar.bz2 tangerine-wallet-browser-28c509914bf09850dd9aaef52b212f6271633e93.tar.lz tangerine-wallet-browser-28c509914bf09850dd9aaef52b212f6271633e93.tar.xz tangerine-wallet-browser-28c509914bf09850dd9aaef52b212f6271633e93.tar.zst tangerine-wallet-browser-28c509914bf09850dd9aaef52b212f6271633e93.zip |
Merge branch 'develop' of https://github.com/MetaMask/metamask-extension into i#3896
Diffstat (limited to 'ui/app/actions.js')
-rw-r--r-- | ui/app/actions.js | 53 |
1 files changed, 39 insertions, 14 deletions
diff --git a/ui/app/actions.js b/ui/app/actions.js index 1edf692b6..ad890f565 100644 --- a/ui/app/actions.js +++ b/ui/app/actions.js @@ -6,7 +6,6 @@ const { calcGasTotal, calcTokenBalance, estimateGas, - estimateGasPriceFromRecentBlocks, } = require('./components/send_/send.utils') const ethUtil = require('ethereumjs-util') const { fetchLocale } = require('../i18n-helper') @@ -175,6 +174,8 @@ var actions = { CLEAR_SEND: 'CLEAR_SEND', OPEN_FROM_DROPDOWN: 'OPEN_FROM_DROPDOWN', CLOSE_FROM_DROPDOWN: 'CLOSE_FROM_DROPDOWN', + GAS_LOADING_STARTED: 'GAS_LOADING_STARTED', + GAS_LOADING_FINISHED: 'GAS_LOADING_FINISHED', setGasLimit, setGasPrice, updateGasData, @@ -190,6 +191,8 @@ var actions = { updateSendErrors, clearSend, setSelectedAddress, + gasLoadingStarted, + gasLoadingFinished, // app messages confirmSeedWords: confirmSeedWords, showAccountDetail: showAccountDetail, @@ -740,20 +743,28 @@ function updateGasData ({ to, value, }) { - const estimatedGasPrice = estimateGasPriceFromRecentBlocks(recentBlocks) return (dispatch) => { - return Promise.all([ - Promise.resolve(estimatedGasPrice), - estimateGas({ - estimateGasMethod: background.estimateGas, - blockGasLimit, - selectedAddress, - selectedToken, - to, - value, - gasPrice: estimatedGasPrice, - }), - ]) + dispatch(actions.gasLoadingStarted()) + return new Promise((resolve, reject) => { + background.getGasPrice((err, data) => { + if (err) return reject(err) + return resolve(data) + }) + }) + .then(estimateGasPrice => { + return Promise.all([ + Promise.resolve(estimateGasPrice), + estimateGas({ + estimateGasMethod: background.estimateGas, + blockGasLimit, + selectedAddress, + selectedToken, + to, + value, + estimateGasPrice, + }), + ]) + }) .then(([gasPrice, gas]) => { dispatch(actions.setGasPrice(gasPrice)) dispatch(actions.setGasLimit(gas)) @@ -762,14 +773,28 @@ function updateGasData ({ .then((gasEstimate) => { dispatch(actions.setGasTotal(gasEstimate)) dispatch(updateSendErrors({ gasLoadingError: null })) + dispatch(actions.gasLoadingFinished()) }) .catch(err => { log.error(err) dispatch(updateSendErrors({ gasLoadingError: 'gasLoadingError' })) + dispatch(actions.gasLoadingFinished()) }) } } +function gasLoadingStarted () { + return { + type: actions.GAS_LOADING_STARTED, + } +} + +function gasLoadingFinished () { + return { + type: actions.GAS_LOADING_FINISHED, + } +} + function updateSendTokenBalance ({ selectedToken, tokenContract, |