From 631b7975afbef83016de094a1ff452f7f91c9530 Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Tue, 23 Jun 2026 14:40:53 +0300 Subject: [PATCH 01/30] Make weighted-averages-report pug template --- .../templates/weighted-averages-report.pug | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 workers/loc.api/generate-report-file/pdf-writer/templates/weighted-averages-report.pug diff --git a/workers/loc.api/generate-report-file/pdf-writer/templates/weighted-averages-report.pug b/workers/loc.api/generate-report-file/pdf-writer/templates/weighted-averages-report.pug new file mode 100644 index 00000000..aa59dcea --- /dev/null +++ b/workers/loc.api/generate-report-file/pdf-writer/templates/weighted-averages-report.pug @@ -0,0 +1,21 @@ +extends base.pug + +block commonHeader + - const data = Array.isArray(apiData?.res) ? apiData.res : [{}] + - const columns = reportColumns ?? Object.keys(data?.[0] ?? {}) + + .content + ul.responsive-table + li.table-header + each columnVal, columnKey in columns + .col #{columnVal} + +block content + - const data = Array.isArray(apiData?.res) ? apiData.res : [{}] + - const columns = reportColumns ?? Object.keys(data?.[0] ?? {}) + + ul.responsive-table + each dataItem, dataIndex in data + li.table-row + each columnVal, columnKey in columns + .col #{dataItem[columnKey]} From d0db881e53ca622bcbfafdbcfb4ce12ae09dafd6 Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Tue, 23 Jun 2026 14:41:16 +0300 Subject: [PATCH 02/30] Register weighted-averages-report pug template --- .../generate-report-file/pdf-writer/template-file-names.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/workers/loc.api/generate-report-file/pdf-writer/template-file-names.js b/workers/loc.api/generate-report-file/pdf-writer/template-file-names.js index df828418..d62fbcd0 100644 --- a/workers/loc.api/generate-report-file/pdf-writer/template-file-names.js +++ b/workers/loc.api/generate-report-file/pdf-writer/template-file-names.js @@ -1,5 +1,6 @@ 'use strict' module.exports = { - MAIN: 'main.pug' + MAIN: 'main.pug', + WEIGHTED_AVERAGES_REPORT: 'weighted-averages-report.pug' } From 1950de3c581a715d7efb8d4c5f7d92dfc3c09496 Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Tue, 23 Jun 2026 14:41:35 +0300 Subject: [PATCH 03/30] Add weighted-averages-report pug into report data --- workers/loc.api/generate-report-file/report.file.job.data.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/workers/loc.api/generate-report-file/report.file.job.data.js b/workers/loc.api/generate-report-file/report.file.job.data.js index 9e719135..bc347107 100644 --- a/workers/loc.api/generate-report-file/report.file.job.data.js +++ b/workers/loc.api/generate-report-file/report.file.job.data.js @@ -14,6 +14,7 @@ const { FindMethodToGetReportFileError, SymbolsTypeError } = require('../errors') +const TEMPLATE_FILE_NAMES = require('./pdf-writer/template-file-names') const depsTypes = (TYPES) => [ TYPES.RService, @@ -1234,7 +1235,8 @@ class ReportFileJobData { firstTradeMts: 'date', lastTradeMts: 'date' }, - csvCustomWriter: this.weightedAveragesReportCsvWriter + csvCustomWriter: this.weightedAveragesReportCsvWriter, + pdfCustomTemplateName: TEMPLATE_FILE_NAMES.WEIGHTED_AVERAGES_REPORT } return jobData From de1fe9fe3e40e2ecaf55cc793a04cc3a3214d37a Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Tue, 23 Jun 2026 15:09:19 +0300 Subject: [PATCH 04/30] Fix weighted-averages-report pug template --- .../pdf-writer/templates/weighted-averages-report.pug | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/workers/loc.api/generate-report-file/pdf-writer/templates/weighted-averages-report.pug b/workers/loc.api/generate-report-file/pdf-writer/templates/weighted-averages-report.pug index aa59dcea..417a86fd 100644 --- a/workers/loc.api/generate-report-file/pdf-writer/templates/weighted-averages-report.pug +++ b/workers/loc.api/generate-report-file/pdf-writer/templates/weighted-averages-report.pug @@ -1,7 +1,7 @@ extends base.pug block commonHeader - - const data = Array.isArray(apiData?.res) ? apiData.res : [{}] + - const data = Array.isArray(apiData) ? apiData : [{}] - const columns = reportColumns ?? Object.keys(data?.[0] ?? {}) .content @@ -11,7 +11,7 @@ block commonHeader .col #{columnVal} block content - - const data = Array.isArray(apiData?.res) ? apiData.res : [{}] + - const data = Array.isArray(apiData) ? apiData : [{}] - const columns = reportColumns ?? Object.keys(data?.[0] ?? {}) ul.responsive-table From 7a7b9b84cd6ec7bff84413edc9d2713a3d15b9ad Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Tue, 23 Jun 2026 15:10:17 +0300 Subject: [PATCH 05/30] Prevent skipping weighted-averages-report test for pdf --- test/test-cases/report-file-generations.js | 5 ----- 1 file changed, 5 deletions(-) diff --git a/test/test-cases/report-file-generations.js b/test/test-cases/report-file-generations.js index f5f34262..07af5124 100644 --- a/test/test-cases/report-file-generations.js +++ b/test/test-cases/report-file-generations.js @@ -777,11 +777,6 @@ module.exports = ( it('it should be successfully performed by the getWeightedAveragesReportFile method', async function () { this.timeout(60000) - // TODO: Wait for implementation of pdf template in the next release - if (isPDFRequired) { - this.skip() - } - const procPromise = queueToPromise(params.processorQueue) const aggrPromise = queueToPromise(params.aggregatorQueue) From c9d627da1a1c8eac1d7b8f1334fe2ffedb006aa9 Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Wed, 24 Jun 2026 11:57:24 +0300 Subject: [PATCH 06/30] Add top header to weighted average report pug template --- .../pdf-writer/templates/weighted-averages-report.pug | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/workers/loc.api/generate-report-file/pdf-writer/templates/weighted-averages-report.pug b/workers/loc.api/generate-report-file/pdf-writer/templates/weighted-averages-report.pug index 417a86fd..edfd1f32 100644 --- a/workers/loc.api/generate-report-file/pdf-writer/templates/weighted-averages-report.pug +++ b/workers/loc.api/generate-report-file/pdf-writer/templates/weighted-averages-report.pug @@ -3,9 +3,17 @@ extends base.pug block commonHeader - const data = Array.isArray(apiData) ? apiData : [{}] - const columns = reportColumns ?? Object.keys(data?.[0] ?? {}) + - const columnArr = Array.isArray(columns) ? [...columns] : Object.keys(columns) + - const topColumns = columnArr.fill('') + - topColumns[1] = 'Buy' + - topColumns[4] = 'Sell' + - topColumns[7] = 'Cumulative' .content ul.responsive-table + li.table-header + each columnVal, columnKey in topColumns + .col #{columnVal} li.table-header each columnVal, columnKey in columns .col #{columnVal} From 028f2b890e756a00902706884c51dbfdcb473c2d Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Wed, 24 Jun 2026 12:57:36 +0300 Subject: [PATCH 07/30] Adjust font-size for weighted average report pdf --- .../pdf-writer/templates/style.css | 16 ++++++++++------ .../templates/weighted-averages-report.pug | 4 ++-- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/workers/loc.api/generate-report-file/pdf-writer/templates/style.css b/workers/loc.api/generate-report-file/pdf-writer/templates/style.css index 8e3c6e08..9481e3d6 100644 --- a/workers/loc.api/generate-report-file/pdf-writer/templates/style.css +++ b/workers/loc.api/generate-report-file/pdf-writer/templates/style.css @@ -54,30 +54,34 @@ html, body, .header, .footer { font-size: 11px; } -h1 { +h1, .h1 { font-size: 16px; } -h2 { +h2, .h2 { font-size: 14px; } -h3 { +h3, .h3 { font-size: 12px; } -h4 { +h4, .h4 { font-size: 11px; } -h5 { +h5, .h5 { font-size: 10px; } -h6 { +h6, .h6 { font-size: 9px; } +h7, .h7 { + font-size: 8px; +} + .footer { width: 100%; } diff --git a/workers/loc.api/generate-report-file/pdf-writer/templates/weighted-averages-report.pug b/workers/loc.api/generate-report-file/pdf-writer/templates/weighted-averages-report.pug index edfd1f32..ebf9b4a6 100644 --- a/workers/loc.api/generate-report-file/pdf-writer/templates/weighted-averages-report.pug +++ b/workers/loc.api/generate-report-file/pdf-writer/templates/weighted-averages-report.pug @@ -10,7 +10,7 @@ block commonHeader - topColumns[7] = 'Cumulative' .content - ul.responsive-table + ul.responsive-table.h7 li.table-header each columnVal, columnKey in topColumns .col #{columnVal} @@ -22,7 +22,7 @@ block content - const data = Array.isArray(apiData) ? apiData : [{}] - const columns = reportColumns ?? Object.keys(data?.[0] ?? {}) - ul.responsive-table + ul.responsive-table.h7 each dataItem, dataIndex in data li.table-row each columnVal, columnKey in columns From 2206a8491920ca355b48c691e3140959139565a1 Mon Sep 17 00:00:00 2001 From: Abhishek Kochar Date: Thu, 2 Jul 2026 15:41:52 +0800 Subject: [PATCH 08/30] update api-node-rest package Signed-off-by: Abhishek Kochar --- package-lock.json | 57 ++++++++++++++--------------------------------- package.json | 2 +- 2 files changed, 18 insertions(+), 41 deletions(-) diff --git a/package-lock.json b/package-lock.json index d3b12d18..aed38d54 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,7 +18,7 @@ "ajv": "8.18.0", "ajv-formats": "3.0.1", "async": "3.2.4", - "bitfinex-api-node": "7.0.0", + "bitfinex-api-node": "git+https://github.com/bitfinexcom/bitfinex-api-node.git", "colors": "1.4.0", "csv": "5.5.3", "i18next": "23.15.1", @@ -722,8 +722,7 @@ "node_modules/after-all-results": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/after-all-results/-/after-all-results-2.0.0.tgz", - "integrity": "sha512-2zHEyuhSJOuCrmas9YV0YL/MFCWLxe1dS6k/ENhgYrb/JqyMnadLN4iIAc9kkZrbElMDyyAGH/0J18OPErOWLg==", - "license": "MIT" + "integrity": "sha512-2zHEyuhSJOuCrmas9YV0YL/MFCWLxe1dS6k/ENhgYrb/JqyMnadLN4iIAc9kkZrbElMDyyAGH/0J18OPErOWLg==" }, "node_modules/ajv": { "version": "8.18.0", @@ -1094,7 +1093,6 @@ "resolved": "https://registry.npmjs.org/async-cache/-/async-cache-1.1.0.tgz", "integrity": "sha512-YDQc4vBn5NFhY6g6HhVshyi3Fy9+SQ5ePnE7JLDJn1DoL+i7ER+vMwtTNOYk9leZkYMnOwpBCWqyLDPw8Aig8g==", "deprecated": "No longer maintained. Use [lru-cache](http://npm.im/lru-cache) version 7.6 or higher, and provide an asynchronous `fetchMethod` option.", - "license": "ISC", "dependencies": { "lru-cache": "^4.0.0" } @@ -1230,10 +1228,9 @@ } }, "node_modules/bfx-api-node-models": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/bfx-api-node-models/-/bfx-api-node-models-2.1.0.tgz", - "integrity": "sha512-S4C6xS6x/Vlds+8HOJFm+hG+LUzk1xnlUomHvMCHLf/96/J+B1iP3NMMt2D22jryvEgezE8tFptgN81CZWgK9Q==", - "license": "MIT", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bfx-api-node-models/-/bfx-api-node-models-2.1.1.tgz", + "integrity": "sha512-lgN1hooCsabrjPrDQe8JjmGMB8Uh95i7FQT4U06aebeXTyeLTghnygc5tVFKC2RumSPKnCJZ4eGwGA1E1SoRCw==", "dependencies": { "bfx-api-node-util": "^1.0.10", "bfx-hf-util": "git+https://github.com/bitfinexcom/bfx-hf-util.git#v1.0.12", @@ -1250,7 +1247,6 @@ "version": "4.3.3", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "license": "MIT", "dependencies": { "ms": "2.1.2" }, @@ -1266,14 +1262,12 @@ "node_modules/bfx-api-node-models/node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "license": "MIT" + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "node_modules/bfx-api-node-rest": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/bfx-api-node-rest/-/bfx-api-node-rest-6.0.0.tgz", - "integrity": "sha512-LaS5HuJ8hESIAtsfT4XhJlpCParc2wTduA6/U71Ysee+jO4PU91j3EGbqAyFLUJ6tTjwy24GIjqwByb4qZYZ5Q==", - "license": "MIT", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/bfx-api-node-rest/-/bfx-api-node-rest-8.0.0.tgz", + "integrity": "sha512-ukCW6CL92OIc8KDJ4d+QfaqHzIETfpBX7BbzV4j5lALVeaw+DUuerqnAbXidq5q4013ldG8aSpldKIYcDZCDKg==", "dependencies": { "bfx-api-node-models": "^2.0.0", "bfx-api-node-util": "^1.0.10", @@ -1283,14 +1277,13 @@ "node-fetch": "^2.6.9" }, "engines": { - "node": ">=8.3.0" + "node": ">=16.0.0" } }, "node_modules/bfx-api-node-rest/node_modules/debug": { "version": "4.3.3", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "license": "MIT", "dependencies": { "ms": "2.1.2" }, @@ -1306,8 +1299,7 @@ "node_modules/bfx-api-node-rest/node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "license": "MIT" + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "node_modules/bfx-api-node-util": { "version": "1.0.12", @@ -1412,13 +1404,12 @@ } }, "node_modules/bitfinex-api-node": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/bitfinex-api-node/-/bitfinex-api-node-7.0.0.tgz", - "integrity": "sha512-mK1WL2y+DxUGum41YM/h1LVVYSUBsxAiw21KgJG06+zbn5GIfvMHaVlOwecpGexLOoZUhtfddyFnwgzd5Qn2bQ==", + "version": "9.0.0", + "resolved": "git+ssh://git@github.com/bitfinexcom/bitfinex-api-node.git#f6181cbe3d421548244f37af8045b0d37729c73f", "license": "MIT", "dependencies": { "bfx-api-node-models": "^2.0.0", - "bfx-api-node-rest": "^6.0.0", + "bfx-api-node-rest": "^8.0.0", "bfx-api-node-util": "^1.0.12", "bfx-api-node-ws1": "^1.0.0", "bignumber.js": "9.0.0", @@ -1506,8 +1497,7 @@ "node_modules/bluebird": { "version": "3.7.2", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", - "license": "MIT" + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" }, "node_modules/body-parser": { "version": "1.20.4", @@ -2249,7 +2239,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.0.tgz", "integrity": "sha512-1uBwHxF+Y/4yF5G48fwnKq6QsIXheor3ZLPT80yGBV1oEUwpPojlEhQbWKVw1VwcTQyMGHK1/XMmTjmlsmTTGA==", - "license": "Apache-2.0", "dependencies": { "exit-on-epipe": "~1.0.1", "printj": "~1.1.0" @@ -2535,7 +2524,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/dirty-chai/-/dirty-chai-2.0.1.tgz", "integrity": "sha512-ys79pWKvDMowIDEPC6Fig8d5THiC0DJ2gmTeGzVAoEH18J8OzLud0Jh7I9IWg3NSk8x2UocznUuFmfHCXYZx9w==", - "license": "MIT", "peerDependencies": { "chai": ">=2.2.1 <5" } @@ -2634,7 +2622,6 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/error-callsites/-/error-callsites-2.0.4.tgz", "integrity": "sha512-V877Ch4FC4FN178fDK1fsrHN4I1YQIBdtjKrHh3BUHMnh3SMvwUVrqkaOgDpUuevgSNna0RBq6Ox9SGlxYrigA==", - "license": "MIT", "engines": { "node": ">=6.x" } @@ -3424,7 +3411,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz", "integrity": "sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw==", - "license": "Apache-2.0", "engines": { "node": ">=0.8" } @@ -4428,7 +4414,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.1.tgz", "integrity": "sha512-oDM0kUSNFC31ShNxHKUyfZKy8ZeXZBWMjMdZHKLOk13uvT27VTL/QzRGfRUcevJhpkZAvlhPYuXkF7eNWrtyxQ==", - "license": "ISC", "bin": { "in-install": "in-install.js", "in-publish": "in-publish.js", @@ -5241,7 +5226,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/load-source-map/-/load-source-map-1.0.0.tgz", "integrity": "sha512-U69swlFKzCLHTWBBrN+Skou49GPVn9sg8JkngBFh1A/WzjOPaJ2lgtWSGh+457Qsg+r/gmHHFBwsSJQA7nI6sQ==", - "license": "MIT", "dependencies": { "in-publish": "^2.0.0", "semver": "^5.3.0", @@ -5252,7 +5236,6 @@ "version": "5.7.2", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "license": "ISC", "bin": { "semver": "bin/semver" } @@ -5428,7 +5411,6 @@ "version": "4.1.5", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "license": "ISC", "dependencies": { "pseudomap": "^1.0.2", "yallist": "^2.1.2" @@ -6379,7 +6361,6 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/printj/-/printj-1.1.2.tgz", "integrity": "sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ==", - "license": "Apache-2.0", "bin": { "printj": "bin/printj.njs" }, @@ -6437,8 +6418,7 @@ "node_modules/pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==", - "license": "ISC" + "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==" }, "node_modules/pstree.remy": { "version": "1.1.8", @@ -7306,7 +7286,6 @@ "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", - "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -7324,7 +7303,6 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/stackman/-/stackman-4.0.1.tgz", "integrity": "sha512-lntIge3BFEElgvpZT2ld5f4U+mF84fRtJ8vA3ymUVx1euVx43ZMkd09+5RWW4FmvYDFhZwPh1gvtdsdnJyF4Fg==", - "license": "MIT", "dependencies": { "after-all-results": "^2.0.0", "async-cache": "^1.1.0", @@ -8307,8 +8285,7 @@ "node_modules/yallist": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==", - "license": "ISC" + "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==" }, "node_modules/yargs": { "version": "17.2.1", diff --git a/package.json b/package.json index 4f704a88..98ea0630 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,7 @@ "ajv": "8.18.0", "ajv-formats": "3.0.1", "async": "3.2.4", - "bitfinex-api-node": "7.0.0", + "bitfinex-api-node": "git+https://github.com/bitfinexcom/bitfinex-api-node.git", "colors": "1.4.0", "csv": "5.5.3", "i18next": "23.15.1", From c9e8b50a5d1a0172b526e87e6f009acfb76b0ed8 Mon Sep 17 00:00:00 2001 From: Abhishek Kochar Date: Thu, 2 Jul 2026 19:01:51 +0800 Subject: [PATCH 09/30] revert back to version Signed-off-by: Abhishek Kochar --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index aed38d54..2afd9eb0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,7 +18,7 @@ "ajv": "8.18.0", "ajv-formats": "3.0.1", "async": "3.2.4", - "bitfinex-api-node": "git+https://github.com/bitfinexcom/bitfinex-api-node.git", + "bitfinex-api-node": "9.0.0", "colors": "1.4.0", "csv": "5.5.3", "i18next": "23.15.1", diff --git a/package.json b/package.json index 98ea0630..eea6694d 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,7 @@ "ajv": "8.18.0", "ajv-formats": "3.0.1", "async": "3.2.4", - "bitfinex-api-node": "git+https://github.com/bitfinexcom/bitfinex-api-node.git", + "bitfinex-api-node": "9.0.0", "colors": "1.4.0", "csv": "5.5.3", "i18next": "23.15.1", From 0c56b0e291caa3b03a765a406ab91e7ae458a347 Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Wed, 15 Jul 2026 12:06:46 +0300 Subject: [PATCH 10/30] Add wallet def into json schema validation --- workers/loc.api/data-validator/schemas/defs.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/workers/loc.api/data-validator/schemas/defs.js b/workers/loc.api/data-validator/schemas/defs.js index 325146ad..bed2e5db 100644 --- a/workers/loc.api/data-validator/schemas/defs.js +++ b/workers/loc.api/data-validator/schemas/defs.js @@ -152,6 +152,10 @@ module.exports = { candleTimeframe: { type: 'string', minLength: 2 + }, + wallet: { + type: 'string', + minLength: 1 } } } From 61fd5e30279b192c617bb3d711f7684d09d86bd4 Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Wed, 15 Jul 2026 12:07:07 +0300 Subject: [PATCH 11/30] Add wallet field to ledgers req param validation --- workers/loc.api/data-validator/schemas/getLedgersReq.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/workers/loc.api/data-validator/schemas/getLedgersReq.js b/workers/loc.api/data-validator/schemas/getLedgersReq.js index cdf049e6..fa8cbce9 100644 --- a/workers/loc.api/data-validator/schemas/getLedgersReq.js +++ b/workers/loc.api/data-validator/schemas/getLedgersReq.js @@ -19,6 +19,9 @@ module.exports = { symbol: { $ref: 'defs#/definitions/symbolWithMinItem' }, + wallet: { + $ref: 'defs#/definitions/wallet' + }, category: { type: ['string', 'integer'], if: { From c065215304778bc8d034d86cd18c1d2c487e679f Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Wed, 15 Jul 2026 12:07:28 +0300 Subject: [PATCH 12/30] Add wallet field to ledgers file req param validation --- workers/loc.api/data-validator/schemas/getLedgersFileReq.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/workers/loc.api/data-validator/schemas/getLedgersFileReq.js b/workers/loc.api/data-validator/schemas/getLedgersFileReq.js index 524896a6..841b5f7e 100644 --- a/workers/loc.api/data-validator/schemas/getLedgersFileReq.js +++ b/workers/loc.api/data-validator/schemas/getLedgersFileReq.js @@ -19,6 +19,9 @@ module.exports = { symbol: { $ref: 'defs#/definitions/symbolWithMinItem' }, + wallet: { + $ref: 'defs#/definitions/wallet' + }, category: { type: ['string', 'integer'], if: { From 19ef90f6b53145f07e7b5dff74e6b4ed7269f4c0 Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Wed, 15 Jul 2026 12:07:56 +0300 Subject: [PATCH 13/30] Pass wallet field to ledgers rest_v2 method --- .../loc.api/helpers/prepare-response/helpers/get-params-map.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/workers/loc.api/helpers/prepare-response/helpers/get-params-map.js b/workers/loc.api/helpers/prepare-response/helpers/get-params-map.js index f70c446b..1a569561 100644 --- a/workers/loc.api/helpers/prepare-response/helpers/get-params-map.js +++ b/workers/loc.api/helpers/prepare-response/helpers/get-params-map.js @@ -27,7 +27,8 @@ const PARAMS_MAP = { ledgers: { ...MAIN_PARAMS_MAP, symbol: 'filters.ccy', - category: 'filters.category' + category: 'filters.category', + wallet: 'filters.wallet' }, statusMessages: { type: 'type', From 76d0388a4c4ebe0085f77e9e1f9dc007446b1fa9 Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Wed, 15 Jul 2026 12:09:14 +0300 Subject: [PATCH 14/30] Add test case for getLedgers method filtered by wallet --- test/1-api.spec.js | 32 ++++++++++++++++++++++++++++++++ test/helpers/mock-data.js | 2 +- 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/test/1-api.spec.js b/test/1-api.spec.js index 97dd5484..bbe90dca 100644 --- a/test/1-api.spec.js +++ b/test/1-api.spec.js @@ -778,6 +778,38 @@ describe('API', () => { ]) }) + it('it should be successfully performed by the getLedgers method filtered by wallet', async function () { + this.timeout(5000) + + const res = await agent + .post(`${basePath}/json-rpc`) + .type('json') + .send({ + auth, + method: 'getLedgers', + params: { + wallet: 'exchange', + start: 0, + end, + limit: 2 + }, + id: 5 + }) + .expect('Content-Type', /json/) + .expect(200) + + assert.isObject(res.body) + assert.propertyVal(res.body, 'id', 5) + assert.isObject(res.body.result) + assert.isArray(res.body.result.res) + assert.isNumber(res.body.result.nextPage) + + for (const resItem of res.body.result.res) { + assert.isObject(resItem) + assert.deepEqual(resItem.wallet, 'exchange') + } + }) + it('it should be successfully performed by the getLedgers method, without params', async function () { this.timeout(5000) diff --git a/test/helpers/mock-data.js b/test/helpers/mock-data.js index ae11d980..bf178010 100644 --- a/test/helpers/mock-data.js +++ b/test/helpers/mock-data.js @@ -209,7 +209,7 @@ module.exports = new Map([ [[ 12345, 'BTC', - null, + 'exchange', _ms, null, -0.00001, From dcc68823988f51c77e6ea1457acaf6efc65ab135 Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Mon, 20 Jul 2026 12:13:50 +0300 Subject: [PATCH 15/30] Update bitfinex-api-node --- package-lock.json | 55 +++++++++++++++++++++++++++++++++-------------- package.json | 2 +- 2 files changed, 40 insertions(+), 17 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2afd9eb0..f2b3d19f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,7 +18,7 @@ "ajv": "8.18.0", "ajv-formats": "3.0.1", "async": "3.2.4", - "bitfinex-api-node": "9.0.0", + "bitfinex-api-node": "9.1.0", "colors": "1.4.0", "csv": "5.5.3", "i18next": "23.15.1", @@ -722,7 +722,8 @@ "node_modules/after-all-results": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/after-all-results/-/after-all-results-2.0.0.tgz", - "integrity": "sha512-2zHEyuhSJOuCrmas9YV0YL/MFCWLxe1dS6k/ENhgYrb/JqyMnadLN4iIAc9kkZrbElMDyyAGH/0J18OPErOWLg==" + "integrity": "sha512-2zHEyuhSJOuCrmas9YV0YL/MFCWLxe1dS6k/ENhgYrb/JqyMnadLN4iIAc9kkZrbElMDyyAGH/0J18OPErOWLg==", + "license": "MIT" }, "node_modules/ajv": { "version": "8.18.0", @@ -1093,6 +1094,7 @@ "resolved": "https://registry.npmjs.org/async-cache/-/async-cache-1.1.0.tgz", "integrity": "sha512-YDQc4vBn5NFhY6g6HhVshyi3Fy9+SQ5ePnE7JLDJn1DoL+i7ER+vMwtTNOYk9leZkYMnOwpBCWqyLDPw8Aig8g==", "deprecated": "No longer maintained. Use [lru-cache](http://npm.im/lru-cache) version 7.6 or higher, and provide an asynchronous `fetchMethod` option.", + "license": "ISC", "dependencies": { "lru-cache": "^4.0.0" } @@ -1228,9 +1230,10 @@ } }, "node_modules/bfx-api-node-models": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bfx-api-node-models/-/bfx-api-node-models-2.1.1.tgz", - "integrity": "sha512-lgN1hooCsabrjPrDQe8JjmGMB8Uh95i7FQT4U06aebeXTyeLTghnygc5tVFKC2RumSPKnCJZ4eGwGA1E1SoRCw==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/bfx-api-node-models/-/bfx-api-node-models-2.1.2.tgz", + "integrity": "sha512-LVX5CDIpVJB7t62iOIAh7bGL6ovQBrTQeTHRNFNzYw1w8jXPZpeeh6S5Niv0NLRht1RVd9Vsv7sN1EUzWDB28w==", + "license": "MIT", "dependencies": { "bfx-api-node-util": "^1.0.10", "bfx-hf-util": "git+https://github.com/bitfinexcom/bfx-hf-util.git#v1.0.12", @@ -1247,6 +1250,7 @@ "version": "4.3.3", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "license": "MIT", "dependencies": { "ms": "2.1.2" }, @@ -1262,12 +1266,14 @@ "node_modules/bfx-api-node-models/node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "license": "MIT" }, "node_modules/bfx-api-node-rest": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/bfx-api-node-rest/-/bfx-api-node-rest-8.0.0.tgz", - "integrity": "sha512-ukCW6CL92OIc8KDJ4d+QfaqHzIETfpBX7BbzV4j5lALVeaw+DUuerqnAbXidq5q4013ldG8aSpldKIYcDZCDKg==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/bfx-api-node-rest/-/bfx-api-node-rest-8.1.0.tgz", + "integrity": "sha512-hTGVPTZUfSG8mA695p3HIXU7mDS0HU55zU2/a9XkMCdH/iVtdhvcr3+5KmzV5wc3vRZ2op+mdTrRCGSPraGU1w==", + "license": "MIT", "dependencies": { "bfx-api-node-models": "^2.0.0", "bfx-api-node-util": "^1.0.10", @@ -1284,6 +1290,7 @@ "version": "4.3.3", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "license": "MIT", "dependencies": { "ms": "2.1.2" }, @@ -1299,7 +1306,8 @@ "node_modules/bfx-api-node-rest/node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "license": "MIT" }, "node_modules/bfx-api-node-util": { "version": "1.0.12", @@ -1404,12 +1412,13 @@ } }, "node_modules/bitfinex-api-node": { - "version": "9.0.0", - "resolved": "git+ssh://git@github.com/bitfinexcom/bitfinex-api-node.git#f6181cbe3d421548244f37af8045b0d37729c73f", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/bitfinex-api-node/-/bitfinex-api-node-9.1.0.tgz", + "integrity": "sha512-zBbrGZaVTXL5qv/5DVWoMyVu+bS8ZuLulIVXzE9nozoG3b2MkfozzFyloSOOwHeEJ0hTuWqFfKKlX6ldAXTkPQ==", "license": "MIT", "dependencies": { "bfx-api-node-models": "^2.0.0", - "bfx-api-node-rest": "^8.0.0", + "bfx-api-node-rest": "^8.1.0", "bfx-api-node-util": "^1.0.12", "bfx-api-node-ws1": "^1.0.0", "bignumber.js": "9.0.0", @@ -1497,7 +1506,8 @@ "node_modules/bluebird": { "version": "3.7.2", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "license": "MIT" }, "node_modules/body-parser": { "version": "1.20.4", @@ -2239,6 +2249,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.0.tgz", "integrity": "sha512-1uBwHxF+Y/4yF5G48fwnKq6QsIXheor3ZLPT80yGBV1oEUwpPojlEhQbWKVw1VwcTQyMGHK1/XMmTjmlsmTTGA==", + "license": "Apache-2.0", "dependencies": { "exit-on-epipe": "~1.0.1", "printj": "~1.1.0" @@ -2524,6 +2535,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/dirty-chai/-/dirty-chai-2.0.1.tgz", "integrity": "sha512-ys79pWKvDMowIDEPC6Fig8d5THiC0DJ2gmTeGzVAoEH18J8OzLud0Jh7I9IWg3NSk8x2UocznUuFmfHCXYZx9w==", + "license": "MIT", "peerDependencies": { "chai": ">=2.2.1 <5" } @@ -2622,6 +2634,7 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/error-callsites/-/error-callsites-2.0.4.tgz", "integrity": "sha512-V877Ch4FC4FN178fDK1fsrHN4I1YQIBdtjKrHh3BUHMnh3SMvwUVrqkaOgDpUuevgSNna0RBq6Ox9SGlxYrigA==", + "license": "MIT", "engines": { "node": ">=6.x" } @@ -3411,6 +3424,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz", "integrity": "sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw==", + "license": "Apache-2.0", "engines": { "node": ">=0.8" } @@ -4414,6 +4428,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.1.tgz", "integrity": "sha512-oDM0kUSNFC31ShNxHKUyfZKy8ZeXZBWMjMdZHKLOk13uvT27VTL/QzRGfRUcevJhpkZAvlhPYuXkF7eNWrtyxQ==", + "license": "ISC", "bin": { "in-install": "in-install.js", "in-publish": "in-publish.js", @@ -5226,6 +5241,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/load-source-map/-/load-source-map-1.0.0.tgz", "integrity": "sha512-U69swlFKzCLHTWBBrN+Skou49GPVn9sg8JkngBFh1A/WzjOPaJ2lgtWSGh+457Qsg+r/gmHHFBwsSJQA7nI6sQ==", + "license": "MIT", "dependencies": { "in-publish": "^2.0.0", "semver": "^5.3.0", @@ -5236,6 +5252,7 @@ "version": "5.7.2", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "license": "ISC", "bin": { "semver": "bin/semver" } @@ -5411,6 +5428,7 @@ "version": "4.1.5", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "license": "ISC", "dependencies": { "pseudomap": "^1.0.2", "yallist": "^2.1.2" @@ -6361,6 +6379,7 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/printj/-/printj-1.1.2.tgz", "integrity": "sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ==", + "license": "Apache-2.0", "bin": { "printj": "bin/printj.njs" }, @@ -6418,7 +6437,8 @@ "node_modules/pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==" + "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==", + "license": "ISC" }, "node_modules/pstree.remy": { "version": "1.1.8", @@ -7286,6 +7306,7 @@ "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -7303,6 +7324,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/stackman/-/stackman-4.0.1.tgz", "integrity": "sha512-lntIge3BFEElgvpZT2ld5f4U+mF84fRtJ8vA3ymUVx1euVx43ZMkd09+5RWW4FmvYDFhZwPh1gvtdsdnJyF4Fg==", + "license": "MIT", "dependencies": { "after-all-results": "^2.0.0", "async-cache": "^1.1.0", @@ -8285,7 +8307,8 @@ "node_modules/yallist": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==" + "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==", + "license": "ISC" }, "node_modules/yargs": { "version": "17.2.1", diff --git a/package.json b/package.json index eea6694d..d25abe33 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,7 @@ "ajv": "8.18.0", "ajv-formats": "3.0.1", "async": "3.2.4", - "bitfinex-api-node": "9.0.0", + "bitfinex-api-node": "9.1.0", "colors": "1.4.0", "csv": "5.5.3", "i18next": "23.15.1", From 578aa24d7c574e6a4056ee60db4b9809be641955 Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Fri, 31 Jul 2026 13:01:32 +0300 Subject: [PATCH 16/30] Update inversify to v7 --- package-lock.json | 94 ++++++++++++++++++++++++++++++++++++++++++++--- package.json | 2 +- 2 files changed, 90 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index f2b3d19f..e6bf61ad 100644 --- a/package-lock.json +++ b/package-lock.json @@ -23,7 +23,7 @@ "csv": "5.5.3", "i18next": "23.15.1", "i18next-fs-backend": "2.3.2", - "inversify": "6.0.1", + "inversify": "7.11.0", "lru": "3.1.0", "moment": "2.29.4", "moment-timezone": "0.5.39", @@ -471,6 +471,54 @@ "dev": true, "license": "BSD-3-Clause" }, + "node_modules/@inversifyjs/common": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@inversifyjs/common/-/common-1.5.2.tgz", + "integrity": "sha512-WlzR9xGadABS9gtgZQ+luoZ8V6qm4Ii6RQfcfC9Ho2SOlE6ZuemFo7PKJvKI0ikm8cmKbU8hw5UK6E4qovH21w==", + "license": "MIT" + }, + "node_modules/@inversifyjs/core": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/@inversifyjs/core/-/core-9.2.0.tgz", + "integrity": "sha512-Nm7BR6KmpgshIHpVQWuEDehqRVb6GBm8LFEuhc2s4kSZWrArZ15RmXQzROLk4m+hkj4kMXgvMm5Qbopot/D6Sg==", + "license": "MIT", + "dependencies": { + "@inversifyjs/common": "1.5.2", + "@inversifyjs/prototype-utils": "0.1.3", + "@inversifyjs/reflect-metadata-utils": "1.4.1" + } + }, + "node_modules/@inversifyjs/core/node_modules/@inversifyjs/reflect-metadata-utils": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@inversifyjs/reflect-metadata-utils/-/reflect-metadata-utils-1.4.1.tgz", + "integrity": "sha512-Cp77C4d2wLaHXiUB7iH6Cxb7i1lD/YDuTIHLTDzKINqGSz0DCSoL/Dg2wVkW/6Qx03r/yQMLJ+32Agl32N2X8g==", + "license": "MIT", + "peerDependencies": { + "reflect-metadata": "~0.2.2" + } + }, + "node_modules/@inversifyjs/core/node_modules/reflect-metadata": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.2.tgz", + "integrity": "sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==", + "license": "Apache-2.0", + "peer": true + }, + "node_modules/@inversifyjs/plugin": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@inversifyjs/plugin/-/plugin-0.2.0.tgz", + "integrity": "sha512-R/JAdkTSD819pV1zi0HP54mWHyX+H2m8SxldXRgPQarS3ySV4KPyRdosWcfB8Se0JJZWZLHYiUNiS6JvMWSPjw==", + "license": "MIT" + }, + "node_modules/@inversifyjs/prototype-utils": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@inversifyjs/prototype-utils/-/prototype-utils-0.1.3.tgz", + "integrity": "sha512-EzRamZzNgE9Sn3QtZ8NncNa2lpPMZfspqbK6BWFguWnOpK8ymp2TUuH46ruFHZhrHKnknPd7fG22ZV7iF517TQ==", + "license": "MIT", + "dependencies": { + "@inversifyjs/common": "1.5.2" + } + }, "node_modules/@isaacs/cliui": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", @@ -4469,10 +4517,46 @@ } }, "node_modules/inversify": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/inversify/-/inversify-6.0.1.tgz", - "integrity": "sha512-B3ex30927698TJENHR++8FfEaJGqoWOgI6ZY5Ht/nLUsFCwHn6akbwtnUAPCgUepAnTpe2qHxhDNjoKLyz6rgQ==", - "license": "MIT" + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/inversify/-/inversify-7.11.0.tgz", + "integrity": "sha512-yZDprSSr8TyVeMGI/AOV4ws6gwjX22hj9Z8/oHAVpJORY6WRFTcUzhnZtibBUHEw2U8ArvHcR+i863DplQ3Cwg==", + "license": "MIT", + "dependencies": { + "@inversifyjs/common": "1.5.2", + "@inversifyjs/container": "1.15.0", + "@inversifyjs/core": "9.2.0" + } + }, + "node_modules/inversify/node_modules/@inversifyjs/container": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/@inversifyjs/container/-/container-1.15.0.tgz", + "integrity": "sha512-U2xYsPrJTz5za2TExi5lg8qOWf8TEVBpN+pQM7B8BVA2rajtbRE9A66SLRHk8c1eGXmg+0K4Hdki6tWAsSQBUA==", + "license": "MIT", + "dependencies": { + "@inversifyjs/common": "1.5.2", + "@inversifyjs/core": "9.2.0", + "@inversifyjs/plugin": "0.2.0", + "@inversifyjs/reflect-metadata-utils": "1.4.1" + }, + "peerDependencies": { + "reflect-metadata": "~0.2.2" + } + }, + "node_modules/inversify/node_modules/@inversifyjs/reflect-metadata-utils": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@inversifyjs/reflect-metadata-utils/-/reflect-metadata-utils-1.4.1.tgz", + "integrity": "sha512-Cp77C4d2wLaHXiUB7iH6Cxb7i1lD/YDuTIHLTDzKINqGSz0DCSoL/Dg2wVkW/6Qx03r/yQMLJ+32Agl32N2X8g==", + "license": "MIT", + "peerDependencies": { + "reflect-metadata": "~0.2.2" + } + }, + "node_modules/inversify/node_modules/reflect-metadata": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.2.tgz", + "integrity": "sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==", + "license": "Apache-2.0", + "peer": true }, "node_modules/ipaddr.js": { "version": "1.9.1", diff --git a/package.json b/package.json index d25abe33..cc4335f7 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,7 @@ "csv": "5.5.3", "i18next": "23.15.1", "i18next-fs-backend": "2.3.2", - "inversify": "6.0.1", + "inversify": "7.11.0", "lru": "3.1.0", "moment": "2.29.4", "moment-timezone": "0.5.39", From 59c1ae0fb1c9780ef5a6d4313843cffdc6b4d2cb Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Fri, 31 Jul 2026 13:02:38 +0300 Subject: [PATCH 17/30] Use new api method to init-uninit di deps --- workers/api.service.report.wrk.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/workers/api.service.report.wrk.js b/workers/api.service.report.wrk.js index 45ca9047..4c4832db 100644 --- a/workers/api.service.report.wrk.js +++ b/workers/api.service.report.wrk.js @@ -88,12 +88,12 @@ class WrkReportServiceApi extends WrkApi { loadCoreDeps (...args) { this.coreDeps.push(coreDeps(...args)) - this.container.load(...this.coreDeps) + this.container.loadSync(...this.coreDeps) } loadAppDeps (...args) { this.appDeps.push(appDeps(...args)) - this.container.load(...this.appDeps) + this.container.loadSync(...this.appDeps) } async getI18next (i18nextConfigs) { @@ -267,9 +267,9 @@ class WrkReportServiceApi extends WrkApi { next => { this.stopService().then(next).catch(next) }, next => { super._stop(next) }, next => { - this.container.unbindAll() - this.container.unload(...this.coreDeps) - this.container.unload(...this.appDeps) + this.container.unbindAllSync() + this.container.unloadSync(...this.coreDeps) + this.container.unloadSync(...this.appDeps) next() } From eaff40fd7c3e8d2393c4f98c1cc67d9c15aec1ee Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Fri, 31 Jul 2026 13:04:01 +0300 Subject: [PATCH 18/30] Use new ctx interface to bind deps --- workers/loc.api/di/app.deps.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/workers/loc.api/di/app.deps.js b/workers/loc.api/di/app.deps.js index f3af548b..0682fed1 100644 --- a/workers/loc.api/di/app.deps.js +++ b/workers/loc.api/di/app.deps.js @@ -43,7 +43,7 @@ module.exports = ({ link, i18next }) => { - return new ContainerModule((bind) => { + return new ContainerModule(({ bind }) => { bind(TYPES.RService).toConstantValue(rService) bind(TYPES.RootPath).toConstantValue(rService.ctx.rootPath) bind(TYPES.I18next).toConstantValue(i18next) @@ -60,13 +60,13 @@ module.exports = ({ ]) bind(TYPES.RServiceDepsSchemaAliase) .toDynamicValue((ctx) => { - return ctx.container.get(TYPES.RServiceDepsSchema) + return ctx.get(TYPES.RServiceDepsSchema) }) bind(TYPES.InjectDepsToRService) .toDynamicValue((ctx) => { return bindDepsToInstance( - ctx.container.get(TYPES.RService), - ctx.container.get(TYPES.RServiceDepsSchemaAliase) + ctx.get(TYPES.RService), + ctx.get(TYPES.RServiceDepsSchemaAliase) ) }) .inSingletonScope() From e58025e5d26282203a30f32ceb7f6db6a803bcbb Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Fri, 31 Jul 2026 13:04:55 +0300 Subject: [PATCH 19/30] Fix logger bind with di --- workers/loc.api/di/core.deps.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/workers/loc.api/di/core.deps.js b/workers/loc.api/di/core.deps.js index eaa52ffb..94bda690 100644 --- a/workers/loc.api/di/core.deps.js +++ b/workers/loc.api/di/core.deps.js @@ -9,11 +9,11 @@ const loggerFactory = require('../logger') const dataValidator = require('../data-validator') module.exports = () => { - return new ContainerModule((bind) => { - bind(TYPES.LoggerFactory).toFunction(loggerFactory) + return new ContainerModule(({ bind }) => { + bind(TYPES.LoggerFactory).toConstantValue(loggerFactory) bind(TYPES.Logger).toDynamicValue((ctx) => { return bindDepsToFn( - ctx.container.get(TYPES.LoggerFactory), + ctx.get(TYPES.LoggerFactory), [TYPES.CONF] ) }).inSingletonScope() From 481cebde450a590f56bfa4d12c32b928b7be41bf Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Fri, 31 Jul 2026 13:07:24 +0300 Subject: [PATCH 20/30] Update concurrently dep --- package-lock.json | 189 +++++++++++++++++++++++++++++++++++++++------- package.json | 2 +- 2 files changed, 162 insertions(+), 29 deletions(-) diff --git a/package-lock.json b/package-lock.json index e6bf61ad..783824b7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -39,7 +39,7 @@ "@bitfinex/bfx-report-express": "git+https://github.com/bitfinexcom/bfx-report-express.git", "bfx-api-mock-srv": "2.0.0", "chai": "4.3.4", - "concurrently": "9.2.1", + "concurrently": "10.0.4", "cross-env": "10.1.0", "grenache-grape": "1.0.0", "mocha": "11.1.0", @@ -2132,62 +2132,182 @@ "license": "MIT" }, "node_modules/concurrently": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-9.2.1.tgz", - "integrity": "sha512-fsfrO0MxV64Znoy8/l1vVIjjHa29SZyyqPgQBwhiDcaW8wJc2W3XWVOGx4M3oJBnv/zdUZIIp1gDeS98GzP8Ng==", + "version": "10.0.4", + "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-10.0.4.tgz", + "integrity": "sha512-trZql+7l/0+WRAsAnEdctr4+iiOS6ZrViI6H8QWcCF9MFS/LT0dKpe8vluB1to6it+OxSI4VospFTIFMW8DJRw==", "dev": true, "license": "MIT", "dependencies": { - "chalk": "4.1.2", + "chalk": "5.6.2", "rxjs": "7.8.2", - "shell-quote": "1.8.3", - "supports-color": "8.1.1", + "shell-quote": "1.9.0", + "supports-color": "10.2.2", "tree-kill": "1.2.2", - "yargs": "17.7.2" + "yargs": "18.0.0" }, "bin": { - "conc": "dist/bin/concurrently.js", - "concurrently": "dist/bin/concurrently.js" + "conc": "dist/bin/index.js", + "concurrently": "dist/bin/index.js" }, "engines": { - "node": ">=18" + "node": ">=22" }, "funding": { "url": "https://github.com/open-cli-tools/concurrently?sponsor=1" } }, + "node_modules/concurrently/node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/concurrently/node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/concurrently/node_modules/chalk": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", + "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, "node_modules/concurrently/node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-9.0.1.tgz", + "integrity": "sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w==", "dev": true, "license": "ISC", "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" + "string-width": "^7.2.0", + "strip-ansi": "^7.1.0", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/concurrently/node_modules/emoji-regex": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz", + "integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==", + "dev": true, + "license": "MIT" + }, + "node_modules/concurrently/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/concurrently/node_modules/strip-ansi": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", + "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.2.2" }, "engines": { "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/concurrently/node_modules/supports-color": { + "version": "10.2.2", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-10.2.2.tgz", + "integrity": "sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/concurrently/node_modules/wrap-ansi": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz", + "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, "node_modules/concurrently/node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-18.0.0.tgz", + "integrity": "sha512-4UEqdc2RYGHZc7Doyqkrqiln3p9X2DZVxaGbwhn2pi7MrRagKaOcIKe8L3OxYcbhXLgLFUS3zAYuQjKBQgmuNg==", "dev": true, "license": "MIT", "dependencies": { - "cliui": "^8.0.1", + "cliui": "^9.0.1", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", + "string-width": "^7.2.0", "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" + "yargs-parser": "^22.0.0" }, "engines": { - "node": ">=12" + "node": "^20.19.0 || ^22.12.0 || >=23" + } + }, + "node_modules/concurrently/node_modules/yargs-parser": { + "version": "22.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-22.0.0.tgz", + "integrity": "sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=23" } }, "node_modules/config": { @@ -3881,6 +4001,19 @@ "node": "6.* || 8.* || >= 10.*" } }, + "node_modules/get-east-asian-width": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.6.0.tgz", + "integrity": "sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/get-func-name": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", @@ -7261,9 +7394,9 @@ } }, "node_modules/shell-quote": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz", - "integrity": "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.9.0.tgz", + "integrity": "sha512-Iov+JwFv/2HcTpcwNMKd8+IWNb8tboQJNQTkAY/LLVK7gGH9jy+LGkVqPxfekHl+yMmiqXszdGWXgkfml7hjqA==", "dev": true, "license": "MIT", "engines": { diff --git a/package.json b/package.json index cc4335f7..1e3abe49 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "@bitfinex/bfx-report-express": "git+https://github.com/bitfinexcom/bfx-report-express.git", "bfx-api-mock-srv": "2.0.0", "chai": "4.3.4", - "concurrently": "9.2.1", + "concurrently": "10.0.4", "cross-env": "10.1.0", "grenache-grape": "1.0.0", "mocha": "11.1.0", From 44a2e898e4c425c246926623c8007f79ac1edc27 Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Fri, 31 Jul 2026 13:08:03 +0300 Subject: [PATCH 21/30] Update standard dep --- package-lock.json | 221 +++++++++++++++++++++++++++++++++------------- package.json | 2 +- 2 files changed, 161 insertions(+), 62 deletions(-) diff --git a/package-lock.json b/package-lock.json index 783824b7..6ea0c129 100644 --- a/package-lock.json +++ b/package-lock.json @@ -44,7 +44,7 @@ "grenache-grape": "1.0.0", "mocha": "11.1.0", "nodemon": "3.1.14", - "standard": "17.0.0", + "standard": "17.1.2", "supertest": "7.1.0" }, "engines": { @@ -970,18 +970,20 @@ "license": "MIT" }, "node_modules/array-includes": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", - "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.9.tgz", + "integrity": "sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.4", - "is-string": "^1.0.7" + "es-abstract": "^1.24.0", + "es-object-atoms": "^1.1.1", + "get-intrinsic": "^1.3.0", + "is-string": "^1.1.1", + "math-intrinsics": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -2818,9 +2820,9 @@ } }, "node_modules/es-abstract": { - "version": "1.23.9", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.9.tgz", - "integrity": "sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA==", + "version": "1.24.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.2.tgz", + "integrity": "sha512-2FpH9Q5i2RRwyEP1AylXe6nYLR5OhaJTZwmlcP0dL/+JCbgg7yyEo/sEK6HeGZRf3dFpWwThaRHVApXSkW3xeg==", "dev": true, "license": "MIT", "dependencies": { @@ -2828,18 +2830,18 @@ "arraybuffer.prototype.slice": "^1.0.4", "available-typed-arrays": "^1.0.7", "call-bind": "^1.0.8", - "call-bound": "^1.0.3", + "call-bound": "^1.0.4", "data-view-buffer": "^1.0.2", "data-view-byte-length": "^1.0.2", "data-view-byte-offset": "^1.0.1", "es-define-property": "^1.0.1", "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", + "es-object-atoms": "^1.1.1", "es-set-tostringtag": "^2.1.0", "es-to-primitive": "^1.3.0", "function.prototype.name": "^1.1.8", - "get-intrinsic": "^1.2.7", - "get-proto": "^1.0.0", + "get-intrinsic": "^1.3.0", + "get-proto": "^1.0.1", "get-symbol-description": "^1.1.0", "globalthis": "^1.0.4", "gopd": "^1.2.0", @@ -2851,21 +2853,24 @@ "is-array-buffer": "^3.0.5", "is-callable": "^1.2.7", "is-data-view": "^1.0.2", + "is-negative-zero": "^2.0.3", "is-regex": "^1.2.1", + "is-set": "^2.0.3", "is-shared-array-buffer": "^1.0.4", "is-string": "^1.1.1", "is-typed-array": "^1.1.15", - "is-weakref": "^1.1.0", + "is-weakref": "^1.1.1", "math-intrinsics": "^1.1.0", - "object-inspect": "^1.13.3", + "object-inspect": "^1.13.4", "object-keys": "^1.1.1", "object.assign": "^4.1.7", "own-keys": "^1.0.1", - "regexp.prototype.flags": "^1.5.3", + "regexp.prototype.flags": "^1.5.4", "safe-array-concat": "^1.1.3", "safe-push-apply": "^1.0.0", "safe-regex-test": "^1.1.0", "set-proto": "^1.0.0", + "stop-iteration-iterator": "^1.1.0", "string.prototype.trim": "^1.2.10", "string.prototype.trimend": "^1.0.9", "string.prototype.trimstart": "^1.0.8", @@ -2874,7 +2879,7 @@ "typed-array-byte-offset": "^1.0.4", "typed-array-length": "^1.0.7", "unbox-primitive": "^1.1.0", - "which-typed-array": "^1.1.18" + "which-typed-array": "^1.1.19" }, "engines": { "node": ">= 0.4" @@ -3075,9 +3080,9 @@ } }, "node_modules/eslint-config-standard": { - "version": "17.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-17.0.0.tgz", - "integrity": "sha512-/2ks1GKyqSOkH7JFvXJicu0iMpoojkwB+f5Du/1SC0PtBL+s8v30k9njRZ21pm2drKYm2342jFnGWzttxPmZVg==", + "version": "17.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-17.1.0.tgz", + "integrity": "sha512-IwHwmaBNtDK4zDHQukFDW5u/aTb8+meQWZvNFWkiGmbWjD6bqyuSSBxxXKkCftCUzc1zwCH2m/baCNDLGmuO5Q==", "dev": true, "funding": [ { @@ -3094,10 +3099,13 @@ } ], "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, "peerDependencies": { "eslint": "^8.0.1", "eslint-plugin-import": "^2.25.2", - "eslint-plugin-n": "^15.0.0", + "eslint-plugin-n": "^15.0.0 || ^16.0.0 ", "eslint-plugin-promise": "^6.0.0" } }, @@ -3127,15 +3135,15 @@ } }, "node_modules/eslint-import-resolver-node": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", - "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", + "version": "0.3.10", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.10.tgz", + "integrity": "sha512-tRrKqFyCaKict5hOd244sL6EQFNycnMQnBe+j8uqGNXYzsImGbGUU4ibtoaBmv5FLwJwcFJNeg1GeVjQfbMrDQ==", "dev": true, "license": "MIT", "dependencies": { "debug": "^3.2.7", - "is-core-module": "^2.13.0", - "resolve": "^1.22.4" + "is-core-module": "^2.16.1", + "resolve": "^2.0.0-next.6" } }, "node_modules/eslint-import-resolver-node/node_modules/debug": { @@ -3148,10 +3156,34 @@ "ms": "^2.1.1" } }, + "node_modules/eslint-import-resolver-node/node_modules/resolve": { + "version": "2.0.0-next.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.7.tgz", + "integrity": "sha512-tqt+NBWwyaMgw3zDsnygx4CByWjQEJHOPMdslYhppaQSJUtL/D4JO9CcBBlhPoI8lz9oJIDXkwXfhF4aWqP8xQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "is-core-module": "^2.16.2", + "node-exports-info": "^1.6.0", + "object-keys": "^1.1.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/eslint-module-utils": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.0.tgz", - "integrity": "sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==", + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.14.0.tgz", + "integrity": "sha512-W2WCRZ9Dqntd+2u8jJcVMV2PKulc6RdLgUUoh/yQr3uB6lo/ZOeGx11sv60/8S4QFFKNslAlWhr9u0Ef7ZW6Ig==", "dev": true, "license": "MIT", "dependencies": { @@ -3223,30 +3255,30 @@ } }, "node_modules/eslint-plugin-import": { - "version": "2.31.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.31.0.tgz", - "integrity": "sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==", + "version": "2.32.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.32.0.tgz", + "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==", "dev": true, "license": "MIT", "dependencies": { "@rtsao/scc": "^1.1.0", - "array-includes": "^3.1.8", - "array.prototype.findlastindex": "^1.2.5", - "array.prototype.flat": "^1.3.2", - "array.prototype.flatmap": "^1.3.2", + "array-includes": "^3.1.9", + "array.prototype.findlastindex": "^1.2.6", + "array.prototype.flat": "^1.3.3", + "array.prototype.flatmap": "^1.3.3", "debug": "^3.2.7", "doctrine": "^2.1.0", "eslint-import-resolver-node": "^0.3.9", - "eslint-module-utils": "^2.12.0", + "eslint-module-utils": "^2.12.1", "hasown": "^2.0.2", - "is-core-module": "^2.15.1", + "is-core-module": "^2.16.1", "is-glob": "^4.0.3", "minimatch": "^3.1.2", "object.fromentries": "^2.0.8", "object.groupby": "^1.0.3", - "object.values": "^1.2.0", + "object.values": "^1.2.1", "semver": "^6.3.1", - "string.prototype.trimend": "^1.0.8", + "string.prototype.trimend": "^1.0.9", "tsconfig-paths": "^3.15.0" }, "engines": { @@ -4461,9 +4493,9 @@ } }, "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz", + "integrity": "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==", "license": "MIT", "dependencies": { "function-bind": "^1.1.2" @@ -4806,12 +4838,12 @@ } }, "node_modules/is-core-module": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", - "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "version": "2.16.2", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.2.tgz", + "integrity": "sha512-evOr8xfXKxE6qSR0hSXL2r3sd7ALj8+7jQEUvPYcm5sgZFdJ+AYzT6yNmJenvIYQBgIGwfwz08sL8zoL7yq2BA==", "license": "MIT", "dependencies": { - "hasown": "^2.0.2" + "hasown": "^2.0.3" }, "engines": { "node": ">= 0.4" @@ -4945,6 +4977,19 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-negative-zero": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -5989,6 +6034,35 @@ "node": ">= 0.6" } }, + "node_modules/node-exports-info": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/node-exports-info/-/node-exports-info-1.6.2.tgz", + "integrity": "sha512-kXs9Go0cah0qHVV2v389IXQLdLCeE1xfFtjOAF+iobu0OIoG1pje8At2vMHyaPMiPMnG/LWP50twML21eMcAag==", + "dev": true, + "license": "MIT", + "dependencies": { + "array.prototype.flatmap": "^1.3.3", + "es-errors": "^1.3.0", + "object.entries": "^1.1.9", + "semver": "^6.3.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/node-exports-info/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/node-fetch": { "version": "2.7.0", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", @@ -7551,9 +7625,9 @@ } }, "node_modules/standard": { - "version": "17.0.0", - "resolved": "https://registry.npmjs.org/standard/-/standard-17.0.0.tgz", - "integrity": "sha512-GlCM9nzbLUkr+TYR5I2WQoIah4wHA2lMauqbyPLV/oI5gJxqhHzhjl9EG2N0lr/nRqI3KCbCvm/W3smxvLaChA==", + "version": "17.1.2", + "resolved": "https://registry.npmjs.org/standard/-/standard-17.1.2.tgz", + "integrity": "sha512-WLm12WoXveKkvnPnPnaFUUHuOB2cUdAsJ4AiGHL2G0UNMrcRAWY2WriQaV8IQ3oRmYr0AWUbLNr94ekYFAHOrA==", "dev": true, "funding": [ { @@ -7571,17 +7645,18 @@ ], "license": "MIT", "dependencies": { - "eslint": "^8.13.0", - "eslint-config-standard": "17.0.0", + "eslint": "^8.41.0", + "eslint-config-standard": "17.1.0", "eslint-config-standard-jsx": "^11.0.0", - "eslint-plugin-import": "^2.26.0", - "eslint-plugin-n": "^15.1.0", - "eslint-plugin-promise": "^6.0.0", - "eslint-plugin-react": "^7.28.0", - "standard-engine": "^15.0.0" + "eslint-plugin-import": "^2.27.5", + "eslint-plugin-n": "^15.7.0", + "eslint-plugin-promise": "^6.1.1", + "eslint-plugin-react": "^7.36.1", + "standard-engine": "^15.1.0", + "version-guard": "^1.1.1" }, "bin": { - "standard": "bin/cmd.js" + "standard": "bin/cmd.cjs" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -7627,6 +7702,20 @@ "node": ">= 0.8" } }, + "node_modules/stop-iteration-iterator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz", + "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "internal-slot": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/stream-shift": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.3.tgz", @@ -8241,6 +8330,16 @@ "node": ">= 0.8" } }, + "node_modules/version-guard": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/version-guard/-/version-guard-1.1.3.tgz", + "integrity": "sha512-JwPr6erhX53EWH/HCSzfy1tTFrtPXUe927wdM1jqBBeYp1OM+qPHjWbsvv6pIBduqdgxxS+ScfG7S28pzyr2DQ==", + "dev": true, + "license": "0BSD", + "engines": { + "node": ">=0.10.48" + } + }, "node_modules/void-elements": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz", diff --git a/package.json b/package.json index 1e3abe49..99b01c7d 100644 --- a/package.json +++ b/package.json @@ -48,7 +48,7 @@ "grenache-grape": "1.0.0", "mocha": "11.1.0", "nodemon": "3.1.14", - "standard": "17.0.0", + "standard": "17.1.2", "supertest": "7.1.0" }, "standard": { From 56c34f011ca9bfd9c9467aad9fe389bccb927ded Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Fri, 31 Jul 2026 13:22:31 +0300 Subject: [PATCH 22/30] Update @bitfinex deps --- package-lock.json | 77 ++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 63 insertions(+), 14 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6ea0c129..1a6baca1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -152,14 +152,14 @@ "license": "MIT" }, "node_modules/@bitfinex/bfx-facs-grc": { - "version": "1.1.0", - "resolved": "git+ssh://git@github.com/bitfinexcom/bfx-facs-grc.git#a8eac3157f97002eb2ae18d556e2fefaed5a1555", + "version": "1.2.1", + "resolved": "git+ssh://git@github.com/bitfinexcom/bfx-facs-grc.git#f21c0ef37a7c467b1d473bee70f6a01625f2d8db", "license": "Apache-2.0", "dependencies": { "@bitfinex/bfx-facs-base": "git+https://github.com/bitfinexcom/bfx-facs-base.git", - "@bitfinexcom/lib-js-util-base": "git+https://github.com/bitfinexcom/lib-js-util-base#v1.20.0", + "@bitfinex/lib-js-util-base": "git+https://github.com/bitfinexcom/lib-js-util-base#v2.0.2", "async": "3.2.6", - "grenache-nodejs-http": "1.0.1", + "grenache-nodejs-http": "1.0.2", "grenache-nodejs-link": "1.0.2" }, "engines": { @@ -183,9 +183,52 @@ "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", "license": "MIT" }, + "node_modules/@bitfinex/bfx-facs-grc/node_modules/grenache-nodejs-base": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/grenache-nodejs-base/-/grenache-nodejs-base-1.1.0.tgz", + "integrity": "sha512-f96z38JRQyBf/IriFJ5MbGqXclKKEtSLs23bFGwbnxURWin7bv1IMjSv6Xn1bvIq9VhfFRNjPd67zDrJeXf8rw==", + "license": "Apache-2.0", + "dependencies": { + "@bitfinex/lib-js-util-base": "git+https://github.com/bitfinexcom/lib-js-util-base.git#v2.0.0", + "async": "3.2.6", + "duplexify": "4.1.3", + "pump": "3.0.2", + "uuid": "11.1.0" + } + }, + "node_modules/@bitfinex/bfx-facs-grc/node_modules/grenache-nodejs-http": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/grenache-nodejs-http/-/grenache-nodejs-http-1.0.2.tgz", + "integrity": "sha512-gf5GMB6tkvVPqn28NP6pnUpCibwA9ZEJfoPLilwIcoPDufzkxwGxiDZDjehmbAjFiqOYhdzMZWSgHgVllMt1TQ==", + "license": "Apache-2.0", + "dependencies": { + "async": "3.2.6", + "duplexify": "4.1.3", + "grenache-nodejs-base": "1.1.0", + "grenache-nodejs-link": "1.0.2", + "node-fetch": "2.7.0", + "pump": "3.0.2" + }, + "engines": { + "node": ">=16.0" + } + }, + "node_modules/@bitfinex/bfx-facs-grc/node_modules/uuid": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-11.1.0.tgz", + "integrity": "sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", + "bin": { + "uuid": "dist/esm/bin/uuid" + } + }, "node_modules/@bitfinex/bfx-facs-lokue": { - "version": "1.0.0", - "resolved": "git+ssh://git@github.com/bitfinexcom/bfx-facs-lokue.git#98bf62b80f6b6c4b19c598cdc875c6c08ed75175", + "version": "1.0.1", + "resolved": "git+ssh://git@github.com/bitfinexcom/bfx-facs-lokue.git#2af383bd96d459a2f698efa78e05d3c340ffea23", "license": "Apache-2.0", "dependencies": { "@bitfinex/bfx-facs-base": "git+https://github.com/bitfinexcom/bfx-facs-base.git", @@ -274,17 +317,17 @@ } }, "node_modules/@bitfinex/bfx-svc-boot-js": { - "version": "1.1.0", - "resolved": "git+ssh://git@github.com/bitfinexcom/bfx-svc-boot-js.git#be28ca5387eef34e651042e64d278feedf9b3a61", + "version": "1.3.1", + "resolved": "git+ssh://git@github.com/bitfinexcom/bfx-svc-boot-js.git#c9217dadefeb194cc77d79cba5666b61eb7310d9", "license": "Apache-2.0", "dependencies": { - "lodash": "^4.17.21", + "lodash": "^4.18.1", "yargs": "^17.2.1" } }, "node_modules/@bitfinex/bfx-wrk-api": { - "version": "1.0.1", - "resolved": "git+ssh://git@github.com/bitfinexcom/bfx-wrk-api.git#7441bf8ed01087e2882e985a5ab17fac32740a8b", + "version": "1.1.0", + "resolved": "git+ssh://git@github.com/bitfinexcom/bfx-wrk-api.git#d0b3978aff098de8cd5011e480095d7468183805", "license": "Apache-2.0", "dependencies": { "@bitfinex/bfx-facs-api": "git+https://github.com/bitfinexcom/bfx-facs-api.git", @@ -298,12 +341,12 @@ } }, "node_modules/@bitfinex/bfx-wrk-base": { - "version": "1.0.1", - "resolved": "git+ssh://git@github.com/bitfinexcom/bfx-wrk-base.git#dea1cd61dc276f4f78ef020ee9c5a6f131900363", + "version": "1.1.1", + "resolved": "git+ssh://git@github.com/bitfinexcom/bfx-wrk-base.git#9a09dedbb86c82ef849e7a04ee1ff639b037c3db", "license": "Apache-2.0", "dependencies": { "async": "^3.2.1", - "lodash": "^4.17.21" + "lodash": "^4.18.1" }, "engines": { "node": ">=16.0" @@ -317,6 +360,7 @@ "node_modules/@bitfinexcom/lib-js-util-base": { "version": "1.20.0", "resolved": "git+ssh://git@github.com/bitfinexcom/lib-js-util-base.git#c71422aea971508f6a605ac12a56bde4425f0d3b", + "dev": true, "license": "MIT" }, "node_modules/@colors/colors": { @@ -4299,6 +4343,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/grenache-nodejs-base/-/grenache-nodejs-base-1.0.0.tgz", "integrity": "sha512-SHjd/CRckIPIx2oqqubjKx3E8G6KmaX/nn0ZmYe5A+Yp4s+d6X9ew8F9FcECcgNTTvaOLpkI0/7xePmKC3GrOw==", + "dev": true, "license": "Apache-2.0", "dependencies": { "@bitfinexcom/lib-js-util-base": "git+https://github.com/bitfinexcom/lib-js-util-base.git#v1.20.0", @@ -4312,12 +4357,14 @@ "version": "3.2.6", "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "dev": true, "license": "MIT" }, "node_modules/grenache-nodejs-base/node_modules/uuid": { "version": "11.1.0", "resolved": "https://registry.npmjs.org/uuid/-/uuid-11.1.0.tgz", "integrity": "sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==", + "dev": true, "funding": [ "https://github.com/sponsors/broofa", "https://github.com/sponsors/ctavan" @@ -4331,6 +4378,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/grenache-nodejs-http/-/grenache-nodejs-http-1.0.1.tgz", "integrity": "sha512-SLqq6eHTvAQzrSWUw1ExpFlkkUN2wXSKUnor1df/i2a3SeCcWeM1AJfO1DsK0DrJ9xARUISQA6yDFdDxaQjOXw==", + "dev": true, "license": "Apache-2.0", "dependencies": { "async": "3.2.6", @@ -4348,6 +4396,7 @@ "version": "3.2.6", "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "dev": true, "license": "MIT" }, "node_modules/grenache-nodejs-link": { From 8b3ebe87554f69fcd09a529fc8334c27a9334705 Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Fri, 31 Jul 2026 13:26:51 +0300 Subject: [PATCH 23/30] Apply npm audit fix --- package-lock.json | 103 +++++++++++++++++++++++++++++----------------- 1 file changed, 65 insertions(+), 38 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1a6baca1..2430a0fb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1604,9 +1604,9 @@ "license": "MIT" }, "node_modules/body-parser": { - "version": "1.20.4", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.4.tgz", - "integrity": "sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA==", + "version": "1.20.6", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.6.tgz", + "integrity": "sha512-p5tAzS57i5MV9fZFDj9LeIiTZEufbSe2eDozP+ElheSUq1m74CRq1jI4mYNDdVs9vQztXFLuk/Gd6BWTdwRJ5g==", "dev": true, "license": "MIT", "dependencies": { @@ -1618,7 +1618,7 @@ "http-errors": "~2.0.1", "iconv-lite": "~0.4.24", "on-finished": "~2.4.1", - "qs": "~6.14.0", + "qs": "~6.15.1", "raw-body": "~2.5.3", "type-is": "~1.6.18", "unpipe": "~1.0.0" @@ -1666,6 +1666,23 @@ "dev": true, "license": "MIT" }, + "node_modules/body-parser/node_modules/qs": { + "version": "6.15.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.3.tgz", + "integrity": "sha512-O9gl3zCl5h5blw1KGUzQKhA5oUXSl8rwUIM5o0S3nCXMliSvy5Dzx7/DJcI+SwgICv+IneSZwhBh1oSyEHA71A==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "es-define-property": "^1.0.1", + "side-channel": "^1.1.1" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/body-parser/node_modules/raw-body": { "version": "2.5.3", "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.3.tgz", @@ -1693,9 +1710,9 @@ } }, "node_modules/brace-expansion": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.13.tgz", - "integrity": "sha512-9ZLprWS6EENmhEOpjCYW2c8VkmOvckIJZfkr7rBW6dObmfgJ/L1GpSYW5Hpo9lDz4D1+n0Ckz8rU7FwHDQiG/w==", + "version": "1.1.18", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.18.tgz", + "integrity": "sha512-Edep/X9fGqVNmzKBVsDYIOtD+z1tuezV70LBjdCst9Tqu76lsnvRiZ6oTic1n+/BIwX6QDGAO94PN4N2SADvtw==", "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", @@ -3408,9 +3425,9 @@ } }, "node_modules/eslint-plugin-react": { - "version": "7.37.4", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.4.tgz", - "integrity": "sha512-BGP0jRmfYyvOyvMoRX/uoUeW+GqNj9y16bPQzqAHf3AYII/tDs+jMN0dBVkl88/OZwNGwrVFxE7riHsXVfy/LQ==", + "version": "7.37.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.5.tgz", + "integrity": "sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==", "dev": true, "license": "MIT", "dependencies": { @@ -3424,7 +3441,7 @@ "hasown": "^2.0.2", "jsx-ast-utils": "^2.4.1 || ^3.0.0", "minimatch": "^3.1.2", - "object.entries": "^1.1.8", + "object.entries": "^1.1.9", "object.fromentries": "^2.0.8", "object.values": "^1.2.1", "prop-types": "^15.8.1", @@ -3765,9 +3782,9 @@ "license": "MIT" }, "node_modules/fast-uri": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.6.tgz", - "integrity": "sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.5.tgz", + "integrity": "sha512-gHwA1O9LDIcKunMKhObS/HimwtehO1nPUECKAu5TpKgaO19fcWEl4bliWe1jWxVFvIXztJjjQ4L8XQ1EU9f7Jw==", "funding": [ { "type": "github", @@ -3947,17 +3964,17 @@ } }, "node_modules/form-data": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz", - "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==", + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.6.tgz", + "integrity": "sha512-vKatAh4SlVfgbv+YtmhiRjhEMJsYpsG1Y2rMQtR+SVSbytsSD1YGzDIcrAJmdFec88u/+VoGmxnl+80gL1tRCQ==", "dev": true, "license": "MIT", "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", "es-set-tostringtag": "^2.1.0", - "hasown": "^2.0.2", - "mime-types": "^2.1.12" + "hasown": "^2.0.4", + "mime-types": "^2.1.35" }, "engines": { "node": ">= 6" @@ -5323,10 +5340,20 @@ "license": "MIT" }, "node_modules/js-yaml": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", - "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.3.0.tgz", + "integrity": "sha512-1td788aAnnZ5qs7V2QIRl1owjtYpbKt749Y3xauqQgwIIGF/xXWz1wMTEBx5O3LK3lXLVuqXPdPxj2BoFHaW9Q==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/puzrin" + }, + { + "type": "github", + "url": "https://github.com/sponsors/nodeca" + } + ], "license": "MIT", "dependencies": { "argparse": "^2.0.1" @@ -5898,9 +5925,9 @@ } }, "node_modules/mocha/node_modules/brace-expansion": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.3.tgz", - "integrity": "sha512-MCV/fYJEbqx68aE58kv2cA/kiky1G8vux3OR6/jbS+jIMe/6fJWa0DTzJU7dqijOWYwHi1t29FlfYI9uytqlpA==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.4.tgz", + "integrity": "sha512-hGfVzPxthbf3+2yjg/RBs60cB0FhqBS/zvdV/4wn4/BmN0bNMMHPc4V/BbFieqf1TKAGGAHnY4eSjajCl0f2Xg==", "dev": true, "license": "MIT", "dependencies": { @@ -6172,16 +6199,16 @@ } }, "node_modules/nodemon/node_modules/brace-expansion": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", - "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.9.tgz", + "integrity": "sha512-ScQ4IuvIEF1TMlP7Zt+vjJ//9zlPb2SDcxWxM3bk8s6t6GGdJ7KO1dCcTidOPJKePW30LE/2cT7wCyPho9/Wxg==", "dev": true, "license": "MIT", "dependencies": { "balanced-match": "^4.0.2" }, "engines": { - "node": "18 || 20 || >=22" + "node": "20 || >=22" } }, "node_modules/nodemon/node_modules/has-flag": { @@ -7530,15 +7557,15 @@ } }, "node_modules/side-channel": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", - "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.1.tgz", + "integrity": "sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==", "dev": true, "license": "MIT", "dependencies": { "es-errors": "^1.3.0", - "object-inspect": "^1.13.3", - "side-channel-list": "^1.0.0", + "object-inspect": "^1.13.4", + "side-channel-list": "^1.0.1", "side-channel-map": "^1.0.1", "side-channel-weakmap": "^1.0.2" }, @@ -7550,14 +7577,14 @@ } }, "node_modules/side-channel-list": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", - "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz", + "integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==", "dev": true, "license": "MIT", "dependencies": { "es-errors": "^1.3.0", - "object-inspect": "^1.13.3" + "object-inspect": "^1.13.4" }, "engines": { "node": ">= 0.4" From f37c368a01bd03df8dbad01f262d711b6f5f516d Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Tue, 4 Aug 2026 11:14:28 +0300 Subject: [PATCH 24/30] Update uuid dep --- package-lock.json | 68 +++++++---------------------------------------- package.json | 2 +- 2 files changed, 10 insertions(+), 60 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2430a0fb..c376553d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -30,7 +30,7 @@ "pug": "3.0.3", "reflect-metadata": "0.1.13", "triple-beam": "1.3.0", - "uuid": "9.0.0", + "uuid": "11.1.0", "winston": "3.18.3", "winston-transport": "4.9.0", "yargs": "17.2.1" @@ -213,19 +213,6 @@ "node": ">=16.0" } }, - "node_modules/@bitfinex/bfx-facs-grc/node_modules/uuid": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-11.1.0.tgz", - "integrity": "sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==", - "funding": [ - "https://github.com/sponsors/broofa", - "https://github.com/sponsors/ctavan" - ], - "license": "MIT", - "bin": { - "uuid": "dist/esm/bin/uuid" - } - }, "node_modules/@bitfinex/bfx-facs-lokue": { "version": "1.0.1", "resolved": "git+ssh://git@github.com/bitfinexcom/bfx-facs-lokue.git#2af383bd96d459a2f698efa78e05d3c340ffea23", @@ -4377,20 +4364,6 @@ "dev": true, "license": "MIT" }, - "node_modules/grenache-nodejs-base/node_modules/uuid": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-11.1.0.tgz", - "integrity": "sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==", - "dev": true, - "funding": [ - "https://github.com/sponsors/broofa", - "https://github.com/sponsors/ctavan" - ], - "license": "MIT", - "bin": { - "uuid": "dist/esm/bin/uuid" - } - }, "node_modules/grenache-nodejs-http": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/grenache-nodejs-http/-/grenache-nodejs-http-1.0.1.tgz", @@ -4435,19 +4408,6 @@ "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", "license": "MIT" }, - "node_modules/grenache-nodejs-link/node_modules/uuid": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-11.1.0.tgz", - "integrity": "sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==", - "funding": [ - "https://github.com/sponsors/broofa", - "https://github.com/sponsors/ctavan" - ], - "license": "MIT", - "bin": { - "uuid": "dist/esm/bin/uuid" - } - }, "node_modules/grenache-nodejs-ws": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/grenache-nodejs-ws/-/grenache-nodejs-ws-1.0.0.tgz", @@ -4465,20 +4425,6 @@ "node": ">=16.0" } }, - "node_modules/grenache-nodejs-ws/node_modules/uuid": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-11.1.0.tgz", - "integrity": "sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==", - "dev": true, - "funding": [ - "https://github.com/sponsors/broofa", - "https://github.com/sponsors/ctavan" - ], - "license": "MIT", - "bin": { - "uuid": "dist/esm/bin/uuid" - } - }, "node_modules/has-bigints": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", @@ -8388,12 +8334,16 @@ } }, "node_modules/uuid": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", - "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-11.1.0.tgz", + "integrity": "sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], "license": "MIT", "bin": { - "uuid": "dist/bin/uuid" + "uuid": "dist/esm/bin/uuid" } }, "node_modules/vary": { diff --git a/package.json b/package.json index 99b01c7d..b00e6313 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,7 @@ "pug": "3.0.3", "reflect-metadata": "0.1.13", "triple-beam": "1.3.0", - "uuid": "9.0.0", + "uuid": "11.1.0", "winston": "3.18.3", "winston-transport": "4.9.0", "yargs": "17.2.1" From ddcc0884c522f10cd4b9fc8bc1f67c879f44237a Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Tue, 4 Aug 2026 11:15:16 +0300 Subject: [PATCH 25/30] Update i18next-fs-backend dep --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index c376553d..cdf9ba8e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -22,7 +22,7 @@ "colors": "1.4.0", "csv": "5.5.3", "i18next": "23.15.1", - "i18next-fs-backend": "2.3.2", + "i18next-fs-backend": "2.6.7", "inversify": "7.11.0", "lru": "3.1.0", "moment": "2.29.4", @@ -4567,9 +4567,9 @@ } }, "node_modules/i18next-fs-backend": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/i18next-fs-backend/-/i18next-fs-backend-2.3.2.tgz", - "integrity": "sha512-LIwUlkqDZnUI8lnUxBnEj8K/FrHQTT/Sc+1rvDm9E8YvvY5YxzoEAASNx+W5M9DfD5s77lI5vSAFWeTp26B/3Q==", + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/i18next-fs-backend/-/i18next-fs-backend-2.6.7.tgz", + "integrity": "sha512-nN2TIycyR/d+OVuLm1ugPyOlMprqPRnQ7QktBgn44F3H8l7TeTH4ffHJ7nUsd4QVJfetWW7/VZ3s+4g7FoAZUA==", "license": "MIT" }, "node_modules/iconv-lite": { diff --git a/package.json b/package.json index b00e6313..8aee5f94 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,7 @@ "colors": "1.4.0", "csv": "5.5.3", "i18next": "23.15.1", - "i18next-fs-backend": "2.3.2", + "i18next-fs-backend": "2.6.7", "inversify": "7.11.0", "lru": "3.1.0", "moment": "2.29.4", From e494d6c1d0c80d1138eae492da91e4229c4ad31d Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Tue, 4 Aug 2026 11:15:58 +0300 Subject: [PATCH 26/30] Update reflect-metadata dep --- package-lock.json | 22 ++++------------------ package.json | 2 +- 2 files changed, 5 insertions(+), 19 deletions(-) diff --git a/package-lock.json b/package-lock.json index cdf9ba8e..d6dd6a41 100644 --- a/package-lock.json +++ b/package-lock.json @@ -28,7 +28,7 @@ "moment": "2.29.4", "moment-timezone": "0.5.39", "pug": "3.0.3", - "reflect-metadata": "0.1.13", + "reflect-metadata": "0.2.2", "triple-beam": "1.3.0", "uuid": "11.1.0", "winston": "3.18.3", @@ -528,13 +528,6 @@ "reflect-metadata": "~0.2.2" } }, - "node_modules/@inversifyjs/core/node_modules/reflect-metadata": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.2.tgz", - "integrity": "sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==", - "license": "Apache-2.0", - "peer": true - }, "node_modules/@inversifyjs/plugin": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/@inversifyjs/plugin/-/plugin-0.2.0.tgz", @@ -4728,13 +4721,6 @@ "reflect-metadata": "~0.2.2" } }, - "node_modules/inversify/node_modules/reflect-metadata": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.2.tgz", - "integrity": "sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==", - "license": "Apache-2.0", - "peer": true - }, "node_modules/ipaddr.js": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", @@ -7022,9 +7008,9 @@ } }, "node_modules/reflect-metadata": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", - "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==", + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.2.tgz", + "integrity": "sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==", "license": "Apache-2.0" }, "node_modules/reflect.getprototypeof": { diff --git a/package.json b/package.json index 8aee5f94..4528ec20 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ "moment": "2.29.4", "moment-timezone": "0.5.39", "pug": "3.0.3", - "reflect-metadata": "0.1.13", + "reflect-metadata": "0.2.2", "triple-beam": "1.3.0", "uuid": "11.1.0", "winston": "3.18.3", From 548e23deece6a21e53072d8ed4382156bb564a31 Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Wed, 5 Aug 2026 12:19:16 +0300 Subject: [PATCH 27/30] Bump node engine ver to v22 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index d6dd6a41..c689f479 100644 --- a/package-lock.json +++ b/package-lock.json @@ -48,7 +48,7 @@ "supertest": "7.1.0" }, "engines": { - "node": ">=20.18.1" + "node": ">=22" } }, "node_modules/@babel/helper-string-parser": { diff --git a/package.json b/package.json index 4528ec20..95178120 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "description": "Reporting tool", "main": "worker.js", "engines": { - "node": ">=20.18.1" + "node": ">=22" }, "license": "Apache-2.0", "contributors": [ From 47e06a024941b1047e2e1e941395e6eb306eb446 Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Fri, 7 Aug 2026 10:23:29 +0300 Subject: [PATCH 28/30] Bump version up to 5.3.0 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index f2b3d19f..7e836d1c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@bitfinex/bfx-report", - "version": "5.2.2", + "version": "5.3.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@bitfinex/bfx-report", - "version": "5.2.2", + "version": "5.3.0", "license": "Apache-2.0", "dependencies": { "@bitfinex/bfx-facs-deflate": "git+https://github.com/bitfinexcom/bfx-facs-deflate.git", diff --git a/package.json b/package.json index d25abe33..c75ff3fa 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@bitfinex/bfx-report", - "version": "5.2.2", + "version": "5.3.0", "description": "Reporting tool", "main": "worker.js", "engines": { From 33e1bb4f3720588cab5a3f4588af25deebd0ee3e Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Wed, 19 Aug 2026 11:55:28 +0300 Subject: [PATCH 29/30] Remove pt fallback lng --- workers/loc.api/i18next/index.js | 1 - 1 file changed, 1 deletion(-) diff --git a/workers/loc.api/i18next/index.js b/workers/loc.api/i18next/index.js index 82f7de12..8634e941 100644 --- a/workers/loc.api/i18next/index.js +++ b/workers/loc.api/i18next/index.js @@ -24,7 +24,6 @@ module.exports = (params) => { { fallbackLng: { es: ['es-EM', 'en'], - pt: ['pt-BR', 'en'], zh: ['zh-CN', 'en'], default: ['en'] }, From 88a62f6d69c4d781116d3deec3213cfc485e118b Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Wed, 19 Aug 2026 11:55:59 +0300 Subject: [PATCH 30/30] Remove pt translations --- locales/pt-BR/pdf.json | 16 ---------------- 1 file changed, 16 deletions(-) delete mode 100644 locales/pt-BR/pdf.json diff --git a/locales/pt-BR/pdf.json b/locales/pt-BR/pdf.json deleted file mode 100644 index 84c3c04b..00000000 --- a/locales/pt-BR/pdf.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "template": { - "title": "Informes", - "statementDetails": "Detalhes da declaração", - "statementDate": "Data da declaração", - "snapshotAt": "Captura de", - "period": "Período", - "username": "Nome de Usuário", - "email": "e-mail", - "errorMessage": "Seu arquivo não pode ser completado, por favor tente novamente", - "reportGenAt": "Informe gerado em ", - "copyright": "Copyright © 2013-{{currYear}} iFinex Inc. Todos os direitos reservados.", - "page": "Página", - "from": "de" - } -}