aboutsummaryrefslogtreecommitdiffstats
path: root/lib/rates.js
blob: b6c38a5085d13cb4d64ff0bbc0ef2a46a6c3ab75 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
const axios = require("axios");

let binance = require("./binance")();

let fetchRates;
(fetchRates = async () => {
  let rates = require("./devrates");

  if (process.env.NODE_ENV === "production") {
    try {
      let res = await axios.get(
        `http://data.fixer.io/api/latest?access_key=${config.fixer}`
      );

      let fx = res.data.rates;

      fx &&
        Object.keys(fx).map(symbol => {
          rates[symbol] = fx[symbol] / fx["USD"];
        });
    } catch (e) {
      l.error("error fetching rates", e);
    }
  }

  app.set("fxrates", rates);

  setTimeout(fetchRates, 7200000);
})();

setInterval(() => {
  broadcast("rates", app.get("rates"));
}, 1000);

setInterval(() => {
  binance.terminate();
  binance = require("./binance")();
}, 360000);