@atomiqlabs/sdk
Version:
atomiq labs SDK for cross-chain swaps between smart chains and bitcoin
30 lines (29 loc) • 1.22 kB
JavaScript
;
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;