From 46596f1e86037bcfdc5851077522df8dcc4cf772 Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Tue, 26 May 2026 12:43:42 +0300 Subject: [PATCH 1/3] Add ability to log metadata for CurrencyConversionDataFindingError --- workers/loc.api/errors/index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/workers/loc.api/errors/index.js b/workers/loc.api/errors/index.js index 07abb655..0a42b738 100644 --- a/workers/loc.api/errors/index.js +++ b/workers/loc.api/errors/index.js @@ -71,8 +71,8 @@ class ObjectMappingError extends BaseError { } class CurrencyConversionDataFindingError extends BaseError { - constructor (message = 'ERR_DATA_IS_NOT_FOUND_TO_CONVERT_CURRENCY') { - super(message) + constructor (data, message = 'ERR_DATA_IS_NOT_FOUND_TO_CONVERT_CURRENCY') { + super({ data, message }) } } From 069fcb12c2eaed4a94b0915253bc0c4a0052c55d Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Tue, 26 May 2026 12:44:47 +0300 Subject: [PATCH 2/3] Log symbol and mts for CurrencyConversionDataFindingError --- workers/loc.api/sync/currency.converter/index.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/workers/loc.api/sync/currency.converter/index.js b/workers/loc.api/sync/currency.converter/index.js index 0ae43616..424cf139 100644 --- a/workers/loc.api/sync/currency.converter/index.js +++ b/workers/loc.api/sync/currency.converter/index.js @@ -1031,7 +1031,9 @@ class CurrencyConverter { ) if (!Number.isFinite(price)) { - throw new CurrencyConversionDataFindingError() + throw new CurrencyConversionDataFindingError( + { symbol: reqSymb, mts } + ) } return price @@ -1082,7 +1084,9 @@ class CurrencyConverter { ) } - throw new CurrencyConversionDataFindingError() + throw new CurrencyConversionDataFindingError( + { symbol: reqSymb, mts: end } + ) } async convertManyByCandles (data, convSchema) { From 43cce7047ff63e988f649d0b4a10e776757da5ec Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Tue, 26 May 2026 13:07:59 +0300 Subject: [PATCH 3/3] Enhance getting ccy pair for currency conversion --- workers/loc.api/sync/currency.converter/index.js | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/workers/loc.api/sync/currency.converter/index.js b/workers/loc.api/sync/currency.converter/index.js index 424cf139..3c671e1f 100644 --- a/workers/loc.api/sync/currency.converter/index.js +++ b/workers/loc.api/sync/currency.converter/index.js @@ -348,17 +348,25 @@ class CurrencyConverter { if (typeof symbol !== 'string') { return '' } - if (symbol.length < 8) { + if (symbol.length < 6) { return symbol } + + const hasFlag = ( + symbol.startsWith('t') || + symbol.startsWith('f') + ) + const flag = hasFlag + ? symbol[0] + : 't' + if ( - symbol[0] !== 't' && - symbol[0] !== 'f' + symbol.length === 7 && + hasFlag ) { return symbol } - const flag = symbol[0] const [firstSymb, lastSymb] = splitSymbolPairs(symbol) const _firstSymb = this._getConvertingSymb(firstSymb) const _lastSymb = this._getConvertingSymb(lastSymb)