From bbb382942d0546e7ff9a4d84c75d6f7cbac4c37d Mon Sep 17 00:00:00 2001 From: Aimen Sahnoun Date: Tue, 25 Mar 2025 18:10:26 +0400 Subject: [PATCH 01/20] chore: update package configurations and dependencies to support Node.js 22.x --- .npmpackagejsonlintrc.json | 2 +- .nvmrc | 2 +- package.json | 2 +- packages/advanced-logic/package.json | 2 +- packages/currency/package.json | 2 +- packages/data-access/package.json | 2 +- packages/data-format/package.json | 2 +- packages/epk-cipher/package.json | 2 +- packages/epk-decryption/package.json | 2 +- packages/epk-signature/package.json | 2 +- packages/ethereum-storage/package.json | 2 +- packages/integration-test/package.json | 2 +- packages/lit-protocol-cipher/package.json | 2 +- packages/multi-format/package.json | 2 +- packages/payment-detection/package.json | 2 +- packages/payment-processor/package.json | 2 +- packages/request-client.js/package.json | 2 +- packages/request-logic/package.json | 2 +- packages/request-node/package.json | 2 +- packages/smart-contracts/package.json | 2 +- packages/thegraph-data-access/package.json | 2 +- packages/toolbox/package.json | 2 +- packages/transaction-manager/package.json | 2 +- packages/types/package.json | 2 +- packages/usage-examples/package.json | 2 +- packages/utils/package.json | 2 +- packages/web3-signature/package.json | 2 +- 27 files changed, 27 insertions(+), 27 deletions(-) diff --git a/.npmpackagejsonlintrc.json b/.npmpackagejsonlintrc.json index 054d1f09dc..f1f4b2a63b 100644 --- a/.npmpackagejsonlintrc.json +++ b/.npmpackagejsonlintrc.json @@ -29,7 +29,7 @@ "repository-type": "error", "scripts-type": "error", "version-type": "error", - "valid-values-engines": ["error", [{ "node": ">=18.0.0" }]], + "valid-values-engines": ["error", [{ "node": ">=22.0.0" }]], "valid-values-name-scope": ["error", ["@requestnetwork"]], "valid-values-author": ["error", ["Request Network"]], "valid-values-private": "off", diff --git a/.nvmrc b/.nvmrc index 6aab9b43fa..517f38666b 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -v18.18.0 +v22.14.0 diff --git a/package.json b/package.json index a1cf433264..9f1cc06fae 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "private": true, "homepage": "https://github.com/RequestNetwork/requestNetwork", "engines": { - "node": ">=18.0.0" + "node": ">=22.0.0" }, "workspaces": [ "packages/*" diff --git a/packages/advanced-logic/package.json b/packages/advanced-logic/package.json index 4a2a5b9c1d..348b53e850 100644 --- a/packages/advanced-logic/package.json +++ b/packages/advanced-logic/package.json @@ -19,7 +19,7 @@ }, "license": "MIT", "engines": { - "node": ">=18.0.0" + "node": ">=22.0.0" }, "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/currency/package.json b/packages/currency/package.json index 3066986c04..3c149ec705 100644 --- a/packages/currency/package.json +++ b/packages/currency/package.json @@ -20,7 +20,7 @@ }, "license": "MIT", "engines": { - "node": ">=18.0.0" + "node": ">=22.0.0" }, "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/data-access/package.json b/packages/data-access/package.json index 44a5fe8393..aef4bf6414 100644 --- a/packages/data-access/package.json +++ b/packages/data-access/package.json @@ -19,7 +19,7 @@ }, "license": "MIT", "engines": { - "node": ">=18.0.0" + "node": ">=22.0.0" }, "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/data-format/package.json b/packages/data-format/package.json index 3342d08029..4620308c5e 100644 --- a/packages/data-format/package.json +++ b/packages/data-format/package.json @@ -20,7 +20,7 @@ }, "license": "MIT", "engines": { - "node": ">=18.0.0" + "node": ">=22.0.0" }, "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/epk-cipher/package.json b/packages/epk-cipher/package.json index 58f10614e8..f79dd96326 100644 --- a/packages/epk-cipher/package.json +++ b/packages/epk-cipher/package.json @@ -19,7 +19,7 @@ }, "license": "MIT", "engines": { - "node": ">=18.0.0" + "node": ">=22.0.0" }, "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/epk-decryption/package.json b/packages/epk-decryption/package.json index 4eeb129b41..4810015255 100644 --- a/packages/epk-decryption/package.json +++ b/packages/epk-decryption/package.json @@ -19,7 +19,7 @@ }, "license": "MIT", "engines": { - "node": ">=18.0.0" + "node": ">=22.0.0" }, "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/epk-signature/package.json b/packages/epk-signature/package.json index 5ab7beb5a2..9786fd7cf1 100644 --- a/packages/epk-signature/package.json +++ b/packages/epk-signature/package.json @@ -19,7 +19,7 @@ }, "license": "MIT", "engines": { - "node": ">=18.0.0" + "node": ">=22.0.0" }, "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/ethereum-storage/package.json b/packages/ethereum-storage/package.json index 0cb74b98e4..fb7e6a7799 100644 --- a/packages/ethereum-storage/package.json +++ b/packages/ethereum-storage/package.json @@ -19,7 +19,7 @@ }, "license": "MIT", "engines": { - "node": ">=18.0.0" + "node": ">=22.0.0" }, "main": "dist/src/index.js", "types": "dist/src/index.d.ts", diff --git a/packages/integration-test/package.json b/packages/integration-test/package.json index 53d644da78..6526f1c0f8 100644 --- a/packages/integration-test/package.json +++ b/packages/integration-test/package.json @@ -17,7 +17,7 @@ }, "license": "MIT", "engines": { - "node": ">=18.0.0" + "node": ">=22.0.0" }, "directories": { "test": "test" diff --git a/packages/lit-protocol-cipher/package.json b/packages/lit-protocol-cipher/package.json index 21dbe1a1d9..1d8add5c73 100644 --- a/packages/lit-protocol-cipher/package.json +++ b/packages/lit-protocol-cipher/package.json @@ -21,7 +21,7 @@ "main": "dist/index.js", "types": "dist/index.d.ts", "engines": { - "node": ">=18.0.0" + "node": ">=22.0.0" }, "directories": { "lib": "src", diff --git a/packages/multi-format/package.json b/packages/multi-format/package.json index 0a5b97186c..d1eeda8b48 100644 --- a/packages/multi-format/package.json +++ b/packages/multi-format/package.json @@ -19,7 +19,7 @@ }, "license": "MIT", "engines": { - "node": ">=18.0.0" + "node": ">=22.0.0" }, "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/payment-detection/package.json b/packages/payment-detection/package.json index 38f490c017..ecf3868c10 100644 --- a/packages/payment-detection/package.json +++ b/packages/payment-detection/package.json @@ -18,7 +18,7 @@ }, "license": "MIT", "engines": { - "node": ">=18.0.0" + "node": ">=22.0.0" }, "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/payment-processor/package.json b/packages/payment-processor/package.json index f20ae19c69..815a09889c 100644 --- a/packages/payment-processor/package.json +++ b/packages/payment-processor/package.json @@ -18,7 +18,7 @@ }, "license": "MIT", "engines": { - "node": ">=18.0.0" + "node": ">=22.0.0" }, "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/request-client.js/package.json b/packages/request-client.js/package.json index 60bdbd4bcd..4897f18a00 100644 --- a/packages/request-client.js/package.json +++ b/packages/request-client.js/package.json @@ -19,7 +19,7 @@ }, "license": "MIT", "engines": { - "node": ">=18.0.0" + "node": ">=22.0.0" }, "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/request-logic/package.json b/packages/request-logic/package.json index 9c489664eb..b343a587a5 100644 --- a/packages/request-logic/package.json +++ b/packages/request-logic/package.json @@ -19,7 +19,7 @@ }, "license": "MIT", "engines": { - "node": ">=18.0.0" + "node": ">=22.0.0" }, "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/request-node/package.json b/packages/request-node/package.json index 2cca642ee0..d2eec60c91 100644 --- a/packages/request-node/package.json +++ b/packages/request-node/package.json @@ -19,7 +19,7 @@ }, "license": "MIT", "engines": { - "node": ">=18.0.0" + "node": ">=22.0.0" }, "main": "dist/bin", "bin": { diff --git a/packages/smart-contracts/package.json b/packages/smart-contracts/package.json index c6f097bb1c..3255030eb3 100644 --- a/packages/smart-contracts/package.json +++ b/packages/smart-contracts/package.json @@ -19,7 +19,7 @@ }, "license": "MIT", "engines": { - "node": ">=18.0.0" + "node": ">=22.0.0" }, "main": "dist/src/lib/index.js", "types": "dist/src/lib/index.d.ts", diff --git a/packages/thegraph-data-access/package.json b/packages/thegraph-data-access/package.json index 3eb65a86d3..8a42c211a1 100644 --- a/packages/thegraph-data-access/package.json +++ b/packages/thegraph-data-access/package.json @@ -19,7 +19,7 @@ }, "license": "MIT", "engines": { - "node": ">=18.0.0" + "node": ">=22.0.0" }, "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/toolbox/package.json b/packages/toolbox/package.json index 5a5c1bef65..7443822198 100644 --- a/packages/toolbox/package.json +++ b/packages/toolbox/package.json @@ -17,7 +17,7 @@ }, "license": "MIT", "engines": { - "node": ">=18.0.0" + "node": ">=22.0.0" }, "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/transaction-manager/package.json b/packages/transaction-manager/package.json index 21916301a1..1d03a3f4d5 100644 --- a/packages/transaction-manager/package.json +++ b/packages/transaction-manager/package.json @@ -19,7 +19,7 @@ }, "license": "MIT", "engines": { - "node": ">=18.0.0" + "node": ">=22.0.0" }, "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/types/package.json b/packages/types/package.json index f386fee752..05ab5269f5 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -19,7 +19,7 @@ }, "license": "MIT", "engines": { - "node": ">=18.0.0" + "node": ">=22.0.0" }, "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/usage-examples/package.json b/packages/usage-examples/package.json index 0d8607b382..af68924ae3 100644 --- a/packages/usage-examples/package.json +++ b/packages/usage-examples/package.json @@ -17,7 +17,7 @@ }, "license": "MIT", "engines": { - "node": ">=18.0.0" + "node": ">=22.0.0" }, "scripts": { "build": "tsc -b tsconfig.build.json", diff --git a/packages/utils/package.json b/packages/utils/package.json index 16888035e0..2f8db79150 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -19,7 +19,7 @@ }, "license": "MIT", "engines": { - "node": ">=18.0.0" + "node": ">=22.0.0" }, "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/web3-signature/package.json b/packages/web3-signature/package.json index 7a8bb957ef..8a12d70804 100644 --- a/packages/web3-signature/package.json +++ b/packages/web3-signature/package.json @@ -19,7 +19,7 @@ }, "license": "MIT", "engines": { - "node": ">=18.0.0" + "node": ">=22.0.0" }, "main": "dist/index.js", "types": "dist/index.d.ts", From 352dca766dd7a6977cb8da9b7da129165b7925de Mon Sep 17 00:00:00 2001 From: Aimen Sahnoun Date: Tue, 25 Mar 2025 18:16:17 +0400 Subject: [PATCH 02/20] chore: update CircleCI configuration for Node.js 22.x and standardize command formatting --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 3bf036d7a5..4203c521f9 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -3,7 +3,7 @@ version: 2.1 references: working_directory: &working_directory ~/repo node_image: &node_image - image: cimg/node:18.18 + image: cimg/node:22.14 environment: NODE_OPTIONS: '--max-old-space-size=4096' ipfs_image: &ipfs_image From c29d847d84fda4fbd51a53511dd06a58892c2048 Mon Sep 17 00:00:00 2001 From: Aimen Sahnoun Date: Wed, 26 Mar 2025 14:28:03 +0400 Subject: [PATCH 03/20] re-run ci From 99b0da02b2acef87721cb4c2a8dc36d4643abfdb Mon Sep 17 00:00:00 2001 From: Aimen Sahnoun Date: Wed, 26 Mar 2025 15:03:34 +0400 Subject: [PATCH 04/20] fix : increase timeout for request creation test --- packages/request-client.js/test/index.test.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/request-client.js/test/index.test.ts b/packages/request-client.js/test/index.test.ts index 714a850fa5..fd70fa99f4 100644 --- a/packages/request-client.js/test/index.test.ts +++ b/packages/request-client.js/test/index.test.ts @@ -204,7 +204,9 @@ describe('request-client.js', () => { }); beforeEach(() => { spyPersistTransaction.mockReturnValue({}); - spyGetTransactionsByChannelId.mockReturnValue({ result: mockedTransactions }); + spyGetTransactionsByChannelId.mockReturnValue({ + result: mockedTransactions, + }); }); afterAll(() => { mockServer.close(); @@ -940,7 +942,7 @@ describe('request-client.js', () => { expect(requestData.meta).not.toBeNull(); expect(requestData.meta!.transactionManagerMeta.encryptionMethod).toBe('ecies-aes256-gcm'); - }); + }, 30000); it('creates an encrypted request and accept it', async () => { const requestNetwork = new RequestNetwork({ From af24a88e9bc0dc6437e7749eaf4a05e9d41e9128 Mon Sep 17 00:00:00 2001 From: Aimen Sahnoun Date: Wed, 26 Mar 2025 15:43:56 +0400 Subject: [PATCH 05/20] test: add debug logging for HTTP requests and error handling in HttpDataAccessConfig --- .../src/http-data-access-config.ts | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/packages/request-client.js/src/http-data-access-config.ts b/packages/request-client.js/src/http-data-access-config.ts index eb290bc229..ac8ca2d4d4 100644 --- a/packages/request-client.js/src/http-data-access-config.ts +++ b/packages/request-client.js/src/http-data-access-config.ts @@ -79,6 +79,8 @@ export class HttpDataAccessConfig { params: Record | undefined, body?: Record, ): Promise { + console.info('DEBUG INFO: fetch', method, path, params, body); + const { baseURL, headers, ...options } = this.nodeConnectionConfig; const url = new URL(path, baseURL); if (params) { @@ -90,6 +92,7 @@ export class HttpDataAccessConfig { } url.search = stringify(params); } + const r = await fetch(url, { method, body: body ? JSON.stringify(body) : undefined, @@ -99,13 +102,27 @@ export class HttpDataAccessConfig { }, ...options, }); + if (r.ok) { return await r.json(); } - throw Object.assign(new Error(r.statusText), { + // Add error response body to debug + const errorBody = await r.text(); + console.error('Request failed:', { + url: url.toString(), + method, + params, + body, + status: r.status, + statusText: r.statusText, + errorBody, + }); + + throw Object.assign(new Error(`${r.statusText}: ${errorBody}`), { status: r.status, statusText: r.statusText, + body: errorBody, }); } } From ffd6edf15a3f4c45e6177dc86029d6a3156096f3 Mon Sep 17 00:00:00 2001 From: Aimen Sahnoun Date: Wed, 26 Mar 2025 16:29:47 +0400 Subject: [PATCH 06/20] fix: reset fetch function --- .../src/http-data-access-config.ts | 23 ++++--------------- 1 file changed, 5 insertions(+), 18 deletions(-) diff --git a/packages/request-client.js/src/http-data-access-config.ts b/packages/request-client.js/src/http-data-access-config.ts index ac8ca2d4d4..b687f45258 100644 --- a/packages/request-client.js/src/http-data-access-config.ts +++ b/packages/request-client.js/src/http-data-access-config.ts @@ -5,7 +5,10 @@ import { stringify } from 'qs'; // eslint-disable-next-line @typescript-eslint/no-var-requires const packageJson = require('../package.json'); -export type NodeConnectionConfig = { baseURL: string; headers: Record }; +export type NodeConnectionConfig = { + baseURL: string; + headers: Record; +}; export class HttpDataAccessConfig { /** @@ -79,8 +82,6 @@ export class HttpDataAccessConfig { params: Record | undefined, body?: Record, ): Promise { - console.info('DEBUG INFO: fetch', method, path, params, body); - const { baseURL, headers, ...options } = this.nodeConnectionConfig; const url = new URL(path, baseURL); if (params) { @@ -106,23 +107,9 @@ export class HttpDataAccessConfig { if (r.ok) { return await r.json(); } - - // Add error response body to debug - const errorBody = await r.text(); - console.error('Request failed:', { - url: url.toString(), - method, - params, - body, - status: r.status, - statusText: r.statusText, - errorBody, - }); - - throw Object.assign(new Error(`${r.statusText}: ${errorBody}`), { + throw Object.assign(new Error(`${r.statusText}`), { status: r.status, statusText: r.statusText, - body: errorBody, }); } } From 1d94e352d623fd3f7f3a96f060e0d6cec1225e43 Mon Sep 17 00:00:00 2001 From: Aimen Sahnoun Date: Wed, 26 Mar 2025 16:32:17 +0400 Subject: [PATCH 07/20] chore: update graph-node image version in CircleCI configuration to v0.37.0 --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 4203c521f9..50fb771c67 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -18,7 +18,7 @@ references: - '-k' - 'london' graph_image: &graph_image - image: graphprotocol/graph-node:v0.25.0 + image: graphprotocol/graph-node:v0.37.0 # wait for ganache, then start command: sh -c 'wait_for localhost:8545 -t 30 -- start' environment: From 8185ae65ba032e12bc2d89d7ac71363e3733ceb9 Mon Sep 17 00:00:00 2001 From: Aimen Sahnoun Date: Wed, 26 Mar 2025 17:17:17 +0400 Subject: [PATCH 08/20] chore: enhance CircleCI configuration with additional environment variables and service wait times --- .circleci/config.yml | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 50fb771c67..3875c326a3 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -8,6 +8,9 @@ references: NODE_OPTIONS: '--max-old-space-size=4096' ipfs_image: &ipfs_image image: requestnetwork/request-ipfs:v0.13.0 + environment: + IPFS_PROFILE: test + IPFS_PATH: /data/ipfs ganache_image: &ganache_image image: trufflesuite/ganache:v7.6.0 command: @@ -19,8 +22,15 @@ references: - 'london' graph_image: &graph_image image: graphprotocol/graph-node:v0.37.0 - # wait for ganache, then start - command: sh -c 'wait_for localhost:8545 -t 30 -- start' + command: > + sh -c ' + wait_for localhost:8545 -t 30 && + wait_for localhost:5432 -t 30 && + wait_for localhost:5001 -t 30 && + exec /usr/local/bin/graph-node \ + --postgres-url postgresql://graph-node:let-me-in@localhost:5432/graph-node \ + --ethereum-rpc private:http://localhost:8545 \ + --ipfs localhost:5001' environment: postgres_host: localhost postgres_user: graph-node @@ -29,12 +39,17 @@ references: ipfs: 'localhost:5001' ethereum: 'private:http://localhost:8545' GRAPH_ALLOW_NON_DETERMINISTIC_IPFS: 1 + RUST_BACKTRACE: 1 + GRAPH_LOG: info postgres_image: &postgres_image image: postgres environment: POSTGRES_USER: graph-node POSTGRES_PASSWORD: let-me-in POSTGRES_DB: graph-node + POSTGRES_INITDB_ARGS: '--locale=C' + LC_COLLATE: 'C' + LC_CTYPE: 'C' step_graph_deploy: &step_graph_deploy name: 'Subgraph deployment and configuration' working_directory: ~/ @@ -194,13 +209,19 @@ jobs: - *graph_image resource_class: large working_directory: *working_directory + environment: + JEST_TIMEOUT: 60000 steps: - attach_workspace: at: *working_directory - run: name: 'Deploy test contract from smart-contracts' command: 'yarn deploy:contracts' - - run: *step_graph_deploy + - run: + name: 'Wait for services' + command: | + sleep 10 + *step_graph_deploy - run: name: 'Start request-node' command: 'yarn start:request-node' From 65031ce5b13bbb73a81f3e0534cdd73416ea5a05 Mon Sep 17 00:00:00 2001 From: Aimen Sahnoun Date: Wed, 26 Mar 2025 17:30:09 +0400 Subject: [PATCH 09/20] chore: revert ci setup --- .circleci/config.yml | 29 ++++------------------------- 1 file changed, 4 insertions(+), 25 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 3875c326a3..4203c521f9 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -8,9 +8,6 @@ references: NODE_OPTIONS: '--max-old-space-size=4096' ipfs_image: &ipfs_image image: requestnetwork/request-ipfs:v0.13.0 - environment: - IPFS_PROFILE: test - IPFS_PATH: /data/ipfs ganache_image: &ganache_image image: trufflesuite/ganache:v7.6.0 command: @@ -21,16 +18,9 @@ references: - '-k' - 'london' graph_image: &graph_image - image: graphprotocol/graph-node:v0.37.0 - command: > - sh -c ' - wait_for localhost:8545 -t 30 && - wait_for localhost:5432 -t 30 && - wait_for localhost:5001 -t 30 && - exec /usr/local/bin/graph-node \ - --postgres-url postgresql://graph-node:let-me-in@localhost:5432/graph-node \ - --ethereum-rpc private:http://localhost:8545 \ - --ipfs localhost:5001' + image: graphprotocol/graph-node:v0.25.0 + # wait for ganache, then start + command: sh -c 'wait_for localhost:8545 -t 30 -- start' environment: postgres_host: localhost postgres_user: graph-node @@ -39,17 +29,12 @@ references: ipfs: 'localhost:5001' ethereum: 'private:http://localhost:8545' GRAPH_ALLOW_NON_DETERMINISTIC_IPFS: 1 - RUST_BACKTRACE: 1 - GRAPH_LOG: info postgres_image: &postgres_image image: postgres environment: POSTGRES_USER: graph-node POSTGRES_PASSWORD: let-me-in POSTGRES_DB: graph-node - POSTGRES_INITDB_ARGS: '--locale=C' - LC_COLLATE: 'C' - LC_CTYPE: 'C' step_graph_deploy: &step_graph_deploy name: 'Subgraph deployment and configuration' working_directory: ~/ @@ -209,19 +194,13 @@ jobs: - *graph_image resource_class: large working_directory: *working_directory - environment: - JEST_TIMEOUT: 60000 steps: - attach_workspace: at: *working_directory - run: name: 'Deploy test contract from smart-contracts' command: 'yarn deploy:contracts' - - run: - name: 'Wait for services' - command: | - sleep 10 - *step_graph_deploy + - run: *step_graph_deploy - run: name: 'Start request-node' command: 'yarn start:request-node' From 3e70c460e2639d93b54f288fb5e8cf17bc072c68 Mon Sep 17 00:00:00 2001 From: Aimen Sahnoun Date: Wed, 26 Mar 2025 19:34:06 +0400 Subject: [PATCH 10/20] test: upgrade graph-node to 0.30.0 --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 4203c521f9..4e573cb6bc 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -18,7 +18,7 @@ references: - '-k' - 'london' graph_image: &graph_image - image: graphprotocol/graph-node:v0.25.0 + image: graphprotocol/graph-node:v0.30.0 # wait for ganache, then start command: sh -c 'wait_for localhost:8545 -t 30 -- start' environment: From e36993ee709cfa57f0243916c57f5919dceb6336 Mon Sep 17 00:00:00 2001 From: Aimen Sahnoun Date: Wed, 26 Mar 2025 19:47:58 +0400 Subject: [PATCH 11/20] chore: add locale settings for PostgreSQL in CircleCI configuration --- .circleci/config.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index 4e573cb6bc..a21fa18858 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -35,6 +35,8 @@ references: POSTGRES_USER: graph-node POSTGRES_PASSWORD: let-me-in POSTGRES_DB: graph-node + POSTGRES_INITDB_ARGS: '--locale=C' + LC_ALL: C step_graph_deploy: &step_graph_deploy name: 'Subgraph deployment and configuration' working_directory: ~/ From 0c41bbf6e5e9a4f29cd916284c5f7497311b7746 Mon Sep 17 00:00:00 2001 From: Aimen Sahnoun Date: Thu, 27 Mar 2025 16:47:08 +0400 Subject: [PATCH 12/20] chore: update graph-node image version in CircleCI configuration to v0.33.0 --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index a21fa18858..0e36489b18 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -18,7 +18,7 @@ references: - '-k' - 'london' graph_image: &graph_image - image: graphprotocol/graph-node:v0.30.0 + image: graphprotocol/graph-node:v0.33.0 # wait for ganache, then start command: sh -c 'wait_for localhost:8545 -t 30 -- start' environment: From 6cf52cc87a6cbe9b5f42ed641832911dc74284ba Mon Sep 17 00:00:00 2001 From: Aimen Sahnoun Date: Thu, 27 Mar 2025 16:55:44 +0400 Subject: [PATCH 13/20] chore: update PostgreSQL locale settings in CircleCI configuration to use UTF-8 encoding --- .circleci/config.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 0e36489b18..762e64c4d1 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -35,8 +35,9 @@ references: POSTGRES_USER: graph-node POSTGRES_PASSWORD: let-me-in POSTGRES_DB: graph-node - POSTGRES_INITDB_ARGS: '--locale=C' - LC_ALL: C + POSTGRES_INITDB_ARGS: '--encoding=UTF8 --lc-collate=C --lc-ctype=C' + LANG: C.UTF-8 + LC_ALL: C.UTF-8 step_graph_deploy: &step_graph_deploy name: 'Subgraph deployment and configuration' working_directory: ~/ From 588d517bf8f8f89a8548e2cb2fd939fe113a4713 Mon Sep 17 00:00:00 2001 From: Aimen Sahnoun Date: Thu, 27 Mar 2025 17:09:25 +0400 Subject: [PATCH 14/20] feat: add debug logging for HTTP request details and error responses in HttpDataAccessConfig --- .../src/http-data-access-config.ts | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/packages/request-client.js/src/http-data-access-config.ts b/packages/request-client.js/src/http-data-access-config.ts index b687f45258..8014d53334 100644 --- a/packages/request-client.js/src/http-data-access-config.ts +++ b/packages/request-client.js/src/http-data-access-config.ts @@ -83,6 +83,7 @@ export class HttpDataAccessConfig { body?: Record, ): Promise { const { baseURL, headers, ...options } = this.nodeConnectionConfig; + console.info('DEBUG INFO: fetch', method, path, params, body); const url = new URL(path, baseURL); if (params) { // qs.parse doesn't handle well mixes of string and object params @@ -107,9 +108,22 @@ export class HttpDataAccessConfig { if (r.ok) { return await r.json(); } - throw Object.assign(new Error(`${r.statusText}`), { + + const errorBody = await r.text(); + console.error('Request failed:', { + url: url.toString(), + method, + params, + body, + status: r.status, + statusText: r.statusText, + errorBody, + }); + + throw Object.assign(new Error(`${r.statusText}: ${errorBody}`), { status: r.status, statusText: r.statusText, + errorBody, }); } } From 84131e1cc3dd064ba6fa655cd8cccfbcca3c5c5a Mon Sep 17 00:00:00 2001 From: Aimen Sahnoun Date: Thu, 27 Mar 2025 17:45:38 +0400 Subject: [PATCH 15/20] feat: add retry configuration options for thegraph in request-node --- packages/request-client.js/src/http-data-access-config.ts | 4 +--- packages/request-node/src/config.ts | 3 +++ 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/request-client.js/src/http-data-access-config.ts b/packages/request-client.js/src/http-data-access-config.ts index 8014d53334..31fa303b7d 100644 --- a/packages/request-client.js/src/http-data-access-config.ts +++ b/packages/request-client.js/src/http-data-access-config.ts @@ -83,7 +83,6 @@ export class HttpDataAccessConfig { body?: Record, ): Promise { const { baseURL, headers, ...options } = this.nodeConnectionConfig; - console.info('DEBUG INFO: fetch', method, path, params, body); const url = new URL(path, baseURL); if (params) { // qs.parse doesn't handle well mixes of string and object params @@ -120,10 +119,9 @@ export class HttpDataAccessConfig { errorBody, }); - throw Object.assign(new Error(`${r.statusText}: ${errorBody}`), { + throw Object.assign(new Error(`${r.statusText}`), { status: r.status, statusText: r.statusText, - errorBody, }); } } diff --git a/packages/request-node/src/config.ts b/packages/request-node/src/config.ts index 48640e077b..1afcb1cc30 100644 --- a/packages/request-node/src/config.ts +++ b/packages/request-node/src/config.ts @@ -33,6 +33,9 @@ const defaultValues = { }, thegraph: { nodeUrl: 'http://localhost:8000/subgraphs/name/RequestNetwork/request-storage', + retries: 3, + retryDelay: 1000, + timeout: 30000, }, persistTransactionTimeout: 600, }, From 7ef30a5892c4bdb042e2fd8bd5f19feb5ba4db3b Mon Sep 17 00:00:00 2001 From: Aimen Sahnoun Date: Thu, 27 Mar 2025 18:01:18 +0400 Subject: [PATCH 16/20] chore: revert circleci script --- .circleci/config.yml | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 762e64c4d1..3bf036d7a5 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -3,7 +3,7 @@ version: 2.1 references: working_directory: &working_directory ~/repo node_image: &node_image - image: cimg/node:22.14 + image: cimg/node:18.18 environment: NODE_OPTIONS: '--max-old-space-size=4096' ipfs_image: &ipfs_image @@ -18,7 +18,7 @@ references: - '-k' - 'london' graph_image: &graph_image - image: graphprotocol/graph-node:v0.33.0 + image: graphprotocol/graph-node:v0.25.0 # wait for ganache, then start command: sh -c 'wait_for localhost:8545 -t 30 -- start' environment: @@ -35,9 +35,6 @@ references: POSTGRES_USER: graph-node POSTGRES_PASSWORD: let-me-in POSTGRES_DB: graph-node - POSTGRES_INITDB_ARGS: '--encoding=UTF8 --lc-collate=C --lc-ctype=C' - LANG: C.UTF-8 - LC_ALL: C.UTF-8 step_graph_deploy: &step_graph_deploy name: 'Subgraph deployment and configuration' working_directory: ~/ From 9b86234ff22f1a1abd098d54acea36ff3dd97fb9 Mon Sep 17 00:00:00 2001 From: Aimen Sahnoun Date: Thu, 27 Mar 2025 18:20:19 +0400 Subject: [PATCH 17/20] chore: update graphql and graphql-request dependencies to latest versions --- packages/request-node/package.json | 4 ++-- yarn.lock | 12 ++++++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/packages/request-node/package.json b/packages/request-node/package.json index d2eec60c91..f90b037fa3 100644 --- a/packages/request-node/package.json +++ b/packages/request-node/package.json @@ -59,8 +59,8 @@ "dotenv": "8.2.0", "ethers": "5.7.2", "express": "4.21.0", - "graphql": "16.8.1", - "graphql-request": "6.1.0", + "graphql": "16.10.0", + "graphql-request": "7.1.2", "http-shutdown": "1.2.2", "http-status-codes": "2.1.4", "morgan": "1.10.0", diff --git a/yarn.lock b/yarn.lock index 05560bdd9e..10dcf458e0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -14274,6 +14274,13 @@ graphql-request@6.1.0, graphql-request@^6.0.0: "@graphql-typed-document-node/core" "^3.2.0" cross-fetch "^3.1.5" +graphql-request@7.1.2: + version "7.1.2" + resolved "https://registry.yarnpkg.com/graphql-request/-/graphql-request-7.1.2.tgz#52d7fd6d8d08c9f0b00c84a091376ce9fbdfa945" + integrity sha512-+XE3iuC55C2di5ZUrB4pjgwe+nIQBuXVIK9J98wrVwojzDW3GMdSBZfxUk8l4j9TieIpjpggclxhNEU9ebGF8w== + dependencies: + "@graphql-typed-document-node/core" "^3.2.0" + graphql-request@^4.3.0: version "4.3.0" resolved "https://registry.npmjs.org/graphql-request/-/graphql-request-4.3.0.tgz" @@ -14302,6 +14309,11 @@ graphql-ws@^5.14.0: resolved "https://registry.yarnpkg.com/graphql-ws/-/graphql-ws-5.14.2.tgz#7db6f6138717a544d9480f0213f65f2841ed1c52" integrity sha512-LycmCwhZ+Op2GlHz4BZDsUYHKRiiUz+3r9wbhBATMETNlORQJAaFlAgTFoeRh6xQoQegwYwIylVD1Qns9/DA3w== +graphql@16.10.0: + version "16.10.0" + resolved "https://registry.yarnpkg.com/graphql/-/graphql-16.10.0.tgz#24c01ae0af6b11ea87bf55694429198aaa8e220c" + integrity sha512-AjqGKbDGUFRKIRCP9tCKiIGHyriz2oHEbPIbEtcSLSs4YjReZOIPQQWek4+6hjw62H9QShXHyaGivGiYVLeYFQ== + graphql@16.8.1, graphql@^16.8.1: version "16.8.1" resolved "https://registry.yarnpkg.com/graphql/-/graphql-16.8.1.tgz#1930a965bef1170603702acdb68aedd3f3cf6f07" From aaec81dc1868d9f3d146555b47ce6770d23f2201 Mon Sep 17 00:00:00 2001 From: Aimen Sahnoun Date: Thu, 27 Mar 2025 18:29:22 +0400 Subject: [PATCH 18/20] chore: update Node.js image version in CircleCI configuration to 22.14 --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 3bf036d7a5..4203c521f9 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -3,7 +3,7 @@ version: 2.1 references: working_directory: &working_directory ~/repo node_image: &node_image - image: cimg/node:18.18 + image: cimg/node:22.14 environment: NODE_OPTIONS: '--max-old-space-size=4096' ipfs_image: &ipfs_image From 582358eb449eb4f5347120b22f0abb7f71ced7ca Mon Sep 17 00:00:00 2001 From: Aimen Sahnoun Date: Fri, 28 Mar 2025 00:15:32 +0400 Subject: [PATCH 19/20] feat: add keepalive and timeout options to HTTP request configuration in HttpDataAccessConfig --- packages/request-client.js/src/http-data-access-config.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/request-client.js/src/http-data-access-config.ts b/packages/request-client.js/src/http-data-access-config.ts index 31fa303b7d..6932d1f658 100644 --- a/packages/request-client.js/src/http-data-access-config.ts +++ b/packages/request-client.js/src/http-data-access-config.ts @@ -101,6 +101,8 @@ export class HttpDataAccessConfig { 'Content-Type': 'application/json', ...headers, }, + keepalive: true, + signal: AbortSignal.timeout(30000), ...options, }); From 8dad87e8e38785d2a4b4b08a466ac00f7d42a73b Mon Sep 17 00:00:00 2001 From: Aimen Sahnoun Date: Fri, 28 Mar 2025 00:24:06 +0400 Subject: [PATCH 20/20] chore: update dependencies in request-client.js package, including node-fetch to version 3.3.2 and various updates in yarn.lock --- packages/request-client.js/package.json | 1 + .../src/http-data-access-config.ts | 6 +- yarn.lock | 119 +++++++++++++++--- 3 files changed, 105 insertions(+), 21 deletions(-) diff --git a/packages/request-client.js/package.json b/packages/request-client.js/package.json index 4897f18a00..d5090f19df 100644 --- a/packages/request-client.js/package.json +++ b/packages/request-client.js/package.json @@ -55,6 +55,7 @@ "@requestnetwork/types": "0.53.0", "@requestnetwork/utils": "0.53.0", "ethers": "5.7.2", + "node-fetch": "^3.3.2", "qs": "6.11.2", "tslib": "2.5.0" }, diff --git a/packages/request-client.js/src/http-data-access-config.ts b/packages/request-client.js/src/http-data-access-config.ts index 6932d1f658..64c9efa9d6 100644 --- a/packages/request-client.js/src/http-data-access-config.ts +++ b/packages/request-client.js/src/http-data-access-config.ts @@ -2,6 +2,7 @@ import { ClientTypes } from '@requestnetwork/types'; import { retry } from '@requestnetwork/utils'; import httpConfigDefaults from './http-config-defaults'; import { stringify } from 'qs'; +import fetch from 'node-fetch'; // eslint-disable-next-line @typescript-eslint/no-var-requires const packageJson = require('../package.json'); @@ -101,13 +102,12 @@ export class HttpDataAccessConfig { 'Content-Type': 'application/json', ...headers, }, - keepalive: true, - signal: AbortSignal.timeout(30000), + ...options, }); if (r.ok) { - return await r.json(); + return (await r.json()) as T; } const errorBody = await r.text(); diff --git a/yarn.lock b/yarn.lock index 10dcf458e0..9f821f92c3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10389,10 +10389,10 @@ crypto-browserify@3.12.0, crypto-browserify@^3.0.0: randombytes "^2.0.0" randomfill "^1.0.3" -crypto-js@^3.1.9-1, crypto-js@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/crypto-js/-/crypto-js-4.2.0.tgz#4d931639ecdfd12ff80e8186dba6af2c2e856631" - integrity sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q== +crypto-js@^3.1.9-1: + version "3.3.0" + resolved "https://registry.yarnpkg.com/crypto-js/-/crypto-js-3.3.0.tgz#846dd1cce2f68aacfa156c8578f926a609b7976b" + integrity sha512-DIT51nX0dCfKltpRiXV+/TVZq+Qq2NgF4644+K7Ttnla7zEzqc+kjJyiB96BHNyUTBxyjzRcZYpUdZa+QAqi6Q== crypto-random-string@^2.0.0: version "2.0.0" @@ -10473,6 +10473,11 @@ dashdash@^1.12.0: dependencies: assert-plus "^1.0.0" +data-uri-to-buffer@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz#d8feb2b2881e6a4f58c2e08acfd0e2834e26222e" + integrity sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A== + data-view-buffer@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/data-view-buffer/-/data-view-buffer-1.0.1.tgz#8ea6326efec17a2e42620696e671d7d5a8bc66b2" @@ -13058,6 +13063,14 @@ fbjs@^3.0.0: setimmediate "^1.0.5" ua-parser-js "^0.7.18" +fetch-blob@^3.1.2, fetch-blob@^3.1.4: + version "3.2.0" + resolved "https://registry.yarnpkg.com/fetch-blob/-/fetch-blob-3.2.0.tgz#f09b8d4bbd45adc6f0c20b7e787e793e309dcce9" + integrity sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ== + dependencies: + node-domexception "^1.0.0" + web-streams-polyfill "^3.0.3" + fetch-ponyfill@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/fetch-ponyfill/-/fetch-ponyfill-4.1.0.tgz#ae3ce5f732c645eab87e4ae8793414709b239893" @@ -13431,6 +13444,13 @@ form-data@~2.3.2: combined-stream "^1.0.6" mime-types "^2.1.12" +formdata-polyfill@^4.0.10: + version "4.0.10" + resolved "https://registry.yarnpkg.com/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz#24807c31c9d402e002ab3d8c720144ceb8848423" + integrity sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g== + dependencies: + fetch-blob "^3.1.2" + formidable@^1.2.2: version "1.2.2" resolved "https://registry.npmjs.org/formidable/-/formidable-1.2.2.tgz" @@ -16666,10 +16686,10 @@ json-schema-traverse@^1.0.0: resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz" integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== -json-schema@0.2.3, json-schema@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5" - integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA== +json-schema@0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + integrity sha512-a3xHnILGMtk+hDOqNwHzF6e2fNbiMrXZvxKQiEv2MlgQP+pjIOzqAmKYD2mDpXYE/44M7g+n9p2bKkYWDUcXCQ== json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" @@ -16706,7 +16726,19 @@ json-to-pretty-yaml@^1.2.2: remedial "^1.0.7" remove-trailing-spaces "^1.0.6" -json5@^0.5.1, json5@^1.0.1, json5@^1.0.2, json5@^2.1.0, json5@^2.1.2, json5@^2.2.1, json5@^2.2.2, json5@^2.2.3: +json5@^0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" + integrity sha512-4xrs1aW+6N5DalkqSVA8fxh458CXvR99WU8WLKmq4v8eWAL86Xo3BVqyd3SkA9wEVjCMqyvvRRkshAdOnBp5rw== + +json5@^1.0.1, json5@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" + integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== + dependencies: + minimist "^1.2.0" + +json5@^2.1.0, json5@^2.1.2, json5@^2.2.2, json5@^2.2.3: version "2.2.3" resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== @@ -18162,10 +18194,15 @@ minimist-options@4.1.0, minimist-options@^4.0.2: is-plain-obj "^1.1.0" kind-of "^6.0.3" -minimist@0.0.8, minimist@^0.2.4, minimist@^1.1.0, minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6, minimist@~1.2.8: - version "0.2.4" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.2.4.tgz#0085d5501e29033748a2f2a4da0180142697a475" - integrity sha512-Pkrrm8NjyQ8yVt8Am9M+yUt74zE3iokhzbG1bFVNjLB92vwM71hf40RkEsryg98BujhVOncKm/C1xROxZ030LQ== +minimist@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + integrity sha512-miQKw5Hv4NS1Psg2517mV4e4dYNaO3++hjAvLOAzKqZ61rH8NS1SK+vbfBWZ5PY/Me/bEWhUwqMghEW5Fb9T7Q== + +minimist@^1.1.0, minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6, minimist@~1.2.8: + version "1.2.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" + integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== minipass-collect@^1.0.2: version "1.0.2" @@ -18752,6 +18789,11 @@ node-dijkstra@2.5.0: resolved "https://registry.npmjs.org/node-dijkstra/-/node-dijkstra-2.5.0.tgz" integrity sha1-D+t2xaBfNbVueG3m300zZK8o1Og= +node-domexception@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/node-domexception/-/node-domexception-1.0.0.tgz#6888db46a1f71c0b76b3f7555016b63fe64766e5" + integrity sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ== + node-fetch-native@^1.6.4: version "1.6.4" resolved "https://registry.yarnpkg.com/node-fetch-native/-/node-fetch-native-1.6.4.tgz#679fc8fd8111266d47d7e72c379f1bed9acff06e" @@ -18771,6 +18813,15 @@ node-fetch@^2.6.0, node-fetch@^2.6.12, node-fetch@^2.6.6: dependencies: whatwg-url "^5.0.0" +node-fetch@^3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-3.3.2.tgz#d1e889bacdf733b4ff3b2b243eb7a12866a0b78b" + integrity sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA== + dependencies: + data-uri-to-buffer "^4.0.0" + fetch-blob "^3.1.4" + formdata-polyfill "^4.0.10" + node-fetch@~1.7.1: version "1.7.3" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef" @@ -21666,13 +21717,35 @@ semver-compare@^1.0.0: resolved "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz" integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w= -"semver@2 || 3 || 4 || 5", semver@7.3.8, semver@7.5.4, semver@7.x, semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0, semver@^6.0.0, semver@^6.1.0, semver@^6.3.0, semver@^6.3.1, semver@^7.0.0, semver@^7.1.1, semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8, semver@^7.5.1, semver@^7.5.3, semver@^7.5.4, semver@~5.4.1: +"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0: + version "5.7.2" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" + integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== + +semver@7.3.8: + version "7.3.8" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" + integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== + dependencies: + lru-cache "^6.0.0" + +semver@7.5.4, semver@7.x, semver@^7.0.0, semver@^7.1.1, semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8, semver@^7.5.1, semver@^7.5.3, semver@^7.5.4: version "7.5.4" resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== dependencies: lru-cache "^6.0.0" +semver@^6.0.0, semver@^6.1.0, semver@^6.3.0, semver@^6.3.1: + version "6.3.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" + integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== + +semver@~5.4.1: + version "5.4.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e" + integrity sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg== + send@0.19.0: version "0.19.0" resolved "https://registry.yarnpkg.com/send/-/send-0.19.0.tgz#bbc5a388c8ea6c048967049dbeac0e4a3f09d7f8" @@ -24213,10 +24286,15 @@ undeclared-identifiers@^1.1.2: simple-concat "^1.0.0" xtend "^4.0.1" -underscore@1.12.1, underscore@1.9.1, underscore@^1.12.1: - version "1.13.7" - resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.13.7.tgz#970e33963af9a7dda228f17ebe8399e5fbe63a10" - integrity sha512-GMXzWtsc57XAtguZgaQViUOzs0KTkk8ojr3/xAxXLITqf/3EMwxC0inyETfDFjH/Krbhuep0HNbbjI9i/q3F3g== +underscore@1.12.1: + version "1.12.1" + resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.12.1.tgz#7bb8cc9b3d397e201cf8553336d262544ead829e" + integrity sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw== + +underscore@1.9.1: + version "1.9.1" + resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.9.1.tgz#06dce34a0e68a7babc29b365b8e74b8925203961" + integrity sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg== undici@^5.14.0: version "5.28.5" @@ -24741,6 +24819,11 @@ wcwidth@^1.0.0, wcwidth@^1.0.1: dependencies: defaults "^1.0.3" +web-streams-polyfill@^3.0.3: + version "3.3.3" + resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz#2073b91a2fdb1fbfbd401e7de0ac9f8214cecb4b" + integrity sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw== + web-streams-polyfill@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz#71c2718c52b45fd49dbeee88634b3a60ceab42a6"