diff options
author | Kevin Serrano <kevgagser@gmail.com> | 2016-07-22 07:44:50 +0800 |
---|---|---|
committer | Kevin Serrano <kevgagser@gmail.com> | 2016-07-22 07:44:50 +0800 |
commit | a612fcee64422ca43c470d7832a263f5e490611d (patch) | |
tree | c6cd96d20a9dfb9d0ebc9d9a66a364d94ee60870 /app/scripts | |
parent | 716e65424d2ba490a384bfc1f0591685eb2867fa (diff) | |
download | tangerine-wallet-browser-a612fcee64422ca43c470d7832a263f5e490611d.tar tangerine-wallet-browser-a612fcee64422ca43c470d7832a263f5e490611d.tar.gz tangerine-wallet-browser-a612fcee64422ca43c470d7832a263f5e490611d.tar.bz2 tangerine-wallet-browser-a612fcee64422ca43c470d7832a263f5e490611d.tar.lz tangerine-wallet-browser-a612fcee64422ca43c470d7832a263f5e490611d.tar.xz tangerine-wallet-browser-a612fcee64422ca43c470d7832a263f5e490611d.tar.zst tangerine-wallet-browser-a612fcee64422ca43c470d7832a263f5e490611d.zip |
Change function names. Add interval polling for api. Refactor functions.
Diffstat (limited to 'app/scripts')
-rw-r--r-- | app/scripts/lib/config-manager.js | 25 | ||||
-rw-r--r-- | app/scripts/metamask-controller.js | 14 |
2 files changed, 31 insertions, 8 deletions
diff --git a/app/scripts/lib/config-manager.js b/app/scripts/lib/config-manager.js index 03f8c054d..14caa80c8 100644 --- a/app/scripts/lib/config-manager.js +++ b/app/scripts/lib/config-manager.js @@ -282,19 +282,30 @@ ConfigManager.prototype.getCurrentFiat = function () { return ('fiatCurrency' in data) && data.fiatCurrency } -ConfigManager.prototype.setConversionRate = function () { +ConfigManager.prototype.updateConversionRate = function () { var data = this.getData() return rp(`https://www.cryptonator.com/api/ticker/eth-${data.fiatCurrency}`) - .then(function (response) { + .then((response) => { const parsedResponse = JSON.parse(response) - data.conversionRate = Number(parsedResponse.ticker.price) - data.conversionDate = new Date(parsedResponse.timestamp).toString() - this.setData(data) - }.bind(this)).catch(function (err) { - console.log('Error in conversion.', err) + this.setConversionPrice(parsedResponse.ticker.price) + this.setConversionDate(parsedResponse.timestamp) + }).catch((err) => { + console.error('Error in conversion.', err) }) } +ConfigManager.prototype.setConversionPrice = function(price) { + var data = this.getData() + data.conversionRate = Number(parsedResponse.ticker.price) + this.setData(data) +} + +ConfigManager.prototype.setConversionDate = function (datestring) { + var data = this.getData() + data.conversionDate = datestring + this.setData(data) +} + ConfigManager.prototype.getConversionRate = function () { var data = this.getData() return ('conversionRate' in data) && data.conversionRate diff --git a/app/scripts/metamask-controller.js b/app/scripts/metamask-controller.js index 99769fa3c..e121fad6a 100644 --- a/app/scripts/metamask-controller.js +++ b/app/scripts/metamask-controller.js @@ -21,6 +21,7 @@ module.exports = class MetamaskController { this.idStore.setStore(this.ethStore) this.messageManager = messageManager this.publicConfigStore = this.initPublicConfigStore() + this.scheduleConversionInterval() } getState () { @@ -241,7 +242,8 @@ module.exports = class MetamaskController { setCurrentFiat (fiat, cb) { try { this.configManager.setCurrentFiat(fiat) - this.configManager.setConversionRate() + this.configManager.updateConversionRate() + this.scheduleConversionInterval() const data = { conversionRate: this.configManager.getConversionRate, currentFiat: this.configManager.getCurrentFiat, @@ -253,6 +255,16 @@ module.exports = class MetamaskController { } } + scheduleConversionInterval () { + if (this.conversionInterval) { + clearInterval(this.conversionInterval) + } + this.conversionInterval = setInterval(() => { + console.log("Updated currency!") + this.configManager.updateConversionRate() + }, 1000) + } + // called from popup setRpcTarget (rpcTarget) { this.configManager.setRpcTarget(rpcTarget) |