From 7fa0f48fb5d7b0c245f5f6576717720f71fdf5ce Mon Sep 17 00:00:00 2001 From: mouradski Date: Mon, 31 Oct 2022 22:49:40 +0100 Subject: [PATCH 1/2] FIX : USDT->USD conversion applied only to the first exchange. --- lib/PriceProviderImpl.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/PriceProviderImpl.ts b/lib/PriceProviderImpl.ts index e08fa29f..9a4e34fc 100644 --- a/lib/PriceProviderImpl.ts +++ b/lib/PriceProviderImpl.ts @@ -206,9 +206,9 @@ export class WsLimitedPriceProvider implements IPriceProvider { async getPrice(): Promise { let prices = []; if(this._exchanges.length > 0) { - let conversionRate:number = await this.getUsdtConversionRate( this._exchanges[0].market ); - for (let { ex } of this._exchanges) { - let priceInfo = this._ex2priceInfo[ex]; + for (let exchange of this._exchanges) { + let priceInfo = this._ex2priceInfo[exchange.ex]; + let conversionRate:number = await this.getUsdtConversionRate( exchange.market ); // price shall not be older than 3min if (priceInfo && priceInfo.price && priceInfo.priceTime > Date.now() - 1000*60*3) { prices.push(Number(priceInfo.price) * conversionRate); From 8c76dc4963088d649be6cf9d83fca4ee8e60f63f Mon Sep 17 00:00:00 2001 From: mouradski Date: Mon, 31 Oct 2022 23:20:33 +0100 Subject: [PATCH 2/2] Refactoring --- lib/PriceProviderImpl.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/PriceProviderImpl.ts b/lib/PriceProviderImpl.ts index 9a4e34fc..94e94c4d 100644 --- a/lib/PriceProviderImpl.ts +++ b/lib/PriceProviderImpl.ts @@ -206,9 +206,9 @@ export class WsLimitedPriceProvider implements IPriceProvider { async getPrice(): Promise { let prices = []; if(this._exchanges.length > 0) { - for (let exchange of this._exchanges) { - let priceInfo = this._ex2priceInfo[exchange.ex]; - let conversionRate:number = await this.getUsdtConversionRate( exchange.market ); + for (let {ex, market} of this._exchanges) { + let priceInfo = this._ex2priceInfo[ex]; + let conversionRate:number = await this.getUsdtConversionRate( market ); // price shall not be older than 3min if (priceInfo && priceInfo.price && priceInfo.priceTime > Date.now() - 1000*60*3) { prices.push(Number(priceInfo.price) * conversionRate);