UNPKG

@atomiqlabs/sdk

Version:

atomiq labs SDK for cross-chain swaps between smart chains and bitcoin

30 lines (29 loc) 1.22 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.CoinPaprikaPriceProvider = void 0; const HttpPriceProvider_1 = require("./abstract/HttpPriceProvider"); const HttpUtils_1 = require("../../http/HttpUtils"); /** * Price provider using CoinPaprika API * @category Pricing */ class CoinPaprikaPriceProvider extends HttpPriceProvider_1.HttpPriceProvider { constructor(coinsMap, url = "https://api.coinpaprika.com/v1", httpRequestTimeout) { super(coinsMap, url, httpRequestTimeout); } /** * @inheritDoc */ async fetchPrice(token, abortSignal) { const response = await (0, HttpUtils_1.httpGet)(this.url + "/tickers/" + token.coinId + "?quotes=BTC", this.httpRequestTimeout, abortSignal); return BigInt(Math.floor(response.quotes.BTC.price * 100000000000000)); } /** * @inheritDoc */ async fetchUsdPrice(abortSignal) { const response = await (0, HttpUtils_1.httpGet)(this.url + "/tickers/btc-bitcoin?quotes=USD", this.httpRequestTimeout, abortSignal); return response.quotes.USD.price / 100000000; } } exports.CoinPaprikaPriceProvider = CoinPaprikaPriceProvider;