UNPKG

1.12 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3const node_fetch_1 = require("node-fetch");
4const ecb_1 = require("./ecb");
5const log_1 = require("../common/log");
6const log = log_1.create('ecb-plus-xrp');
7const CHARTS_API = 'https://data.ripple.com/v2/exchange_rates/EUR+rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq/XRP';
8class ECBAndXRPBackend extends ecb_1.default {
9 async connect() {
10 await super.connect();
11 if (!this.rates.XRP) {
12 this.rates.XRP = await this._getXRPRate();
13 }
14 this.currencies.push('XRP');
15 this.currencies.sort();
16 }
17 async _getXRPRate() {
18 const rateRes = await node_fetch_1.default(CHARTS_API);
19 if (rateRes.status !== 200) {
20 throw new Error('unexpected HTTP status code from Ripple Data API. status=' + rateRes.status);
21 }
22 const body = await rateRes.json();
23 const rate = Number(body.rate).toFixed(5);
24 log.trace('loaded EUR/XRP rate. rate=%s', rate);
25 return Number(rate);
26 }
27}
28exports.default = ECBAndXRPBackend;
29//# sourceMappingURL=ecb-plus-xrp.js.map
\No newline at end of file