aboutsummaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
authorKevin Serrano <kevgagser@gmail.com>2016-07-22 07:44:50 +0800
committerKevin Serrano <kevgagser@gmail.com>2016-07-22 07:44:50 +0800
commita612fcee64422ca43c470d7832a263f5e490611d (patch)
treec6cd96d20a9dfb9d0ebc9d9a66a364d94ee60870 /app
parent716e65424d2ba490a384bfc1f0591685eb2867fa (diff)
downloadtangerine-wallet-browser-a612fcee64422ca43c470d7832a263f5e490611d.tar.gz
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')
-rw-r--r--app/scripts/lib/config-manager.js25
-rw-r--r--app/scripts/metamask-controller.js14
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)