diff --git a/README.md b/README.md index 3b5d376..f23c1c2 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,7 @@ That project requires [docker](https://docker.com) to be installed so the backen | Variables | Default | Description | | :-------------------------: | :--------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | +| `ARCHIVE_GATEWAY_API_KEY` | `NONE` | **Required** API Key to access the SQD archive nodes on supported chains. Check [SQD portal app](https://portal.sqd.dev/app) | | `CHAIN_IDS` | `31337` | Comma separated supported chain ids to be indexed | | `RPC_URL_1` | `https://rpc.ankr.com/eth` | Endpoint for Mainnet RPC node | | `RPC_URL_11155111` | `https://rpc.ankr.com/eth_sepolia` | Endpoint for Sepolia RPC node | diff --git a/package-lock.json b/package-lock.json index 9581196..fd7412d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,12 +13,12 @@ "@cartesi/rollups-v2": "npm:@cartesi/rollups@2.1.1", "@subsquid/evm-abi": "^0.3.1", "@subsquid/evm-codec": "^0.3.0", - "@subsquid/evm-processor": "^1.4.0", + "@subsquid/evm-processor": "^1.30.1", "@subsquid/file-store": "^2.0.0", - "@subsquid/graphql-server": "^4.2.0", - "@subsquid/logger": "^1.3.0", - "@subsquid/typeorm-migration": "^1.2.0", - "@subsquid/typeorm-store": "^1.2.0", + "@subsquid/graphql-server": "^4.12.0", + "@subsquid/logger": "^1.6.0", + "@subsquid/typeorm-migration": "^1.3.1", + "@subsquid/typeorm-store": "^1.9.1", "abitype": "^1.0.6", "dotenv": "^16.1.4", "ethers": "^6.5.1", @@ -32,8 +32,8 @@ }, "devDependencies": { "@subsquid/cli": "latest", - "@subsquid/evm-typegen": "^4.3.0", - "@subsquid/typeorm-codegen": "^2.0.2", + "@subsquid/evm-typegen": "^4.6.0", + "@subsquid/typeorm-codegen": "^2.2.0", "@types/node": "^22.1.0", "@usecannon/cli": "^2.21.5", "@vitest/coverage-v8": "^2", @@ -62,10 +62,11 @@ } }, "node_modules/@apollo/protobufjs": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/@apollo/protobufjs/-/protobufjs-1.2.7.tgz", - "integrity": "sha512-Lahx5zntHPZia35myYDBRuF58tlwPskwHc5CWBZC/4bMKB6siTBWwtMrkqXcsNwQiFSzSx5hKdRPUmemrEp3Gg==", + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@apollo/protobufjs/-/protobufjs-1.2.8.tgz", + "integrity": "sha512-r7xNeUqZX+eBBEmyvaPw0/cSz6zgf5jdH8mjUz8ynKpNs/GU7vi2T7sNcZINk2ZID7wwjG91FCgdpCrQuJ8rzA==", "hasInstallScript": true, + "license": "BSD-3-Clause", "dependencies": { "@protobufjs/aspromise": "^1.1.2", "@protobufjs/base64": "^1.1.2", @@ -86,17 +87,19 @@ } }, "node_modules/@apollo/usage-reporting-protobuf": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/@apollo/usage-reporting-protobuf/-/usage-reporting-protobuf-4.1.1.tgz", - "integrity": "sha512-u40dIUePHaSKVshcedO7Wp+mPiZsaU6xjv9J+VyxpoU/zL6Jle+9zWeG98tr/+SZ0nZ4OXhrbb8SNr0rAPpIDA==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/@apollo/usage-reporting-protobuf/-/usage-reporting-protobuf-4.1.2.tgz", + "integrity": "sha512-aTnAD41RYz0d5dawlyR5Iclkgzx0Xb0njUJmEfvZ6pS4f4HU8wCYyctPpWat/HWp2PmRwDfX5R1k4uVcDKZ4xA==", + "license": "MIT", "dependencies": { - "@apollo/protobufjs": "1.2.7" + "@apollo/protobufjs": "1.2.8" } }, "node_modules/@apollo/utils.dropunuseddefinitions": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@apollo/utils.dropunuseddefinitions/-/utils.dropunuseddefinitions-1.1.0.tgz", "integrity": "sha512-jU1XjMr6ec9pPoL+BFWzEPW7VHHulVdGKMkPAMiCigpVIT11VmCbnij0bWob8uS3ODJ65tZLYKAh/55vLw2rbg==", + "license": "MIT", "engines": { "node": ">=12.13.0" }, @@ -132,6 +135,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/@apollo/utils.printwithreducedwhitespace/-/utils.printwithreducedwhitespace-1.1.0.tgz", "integrity": "sha512-GfFSkAv3n1toDZ4V6u2d7L4xMwLA+lv+6hqXicMN9KELSJ9yy9RzuEXaX73c/Ry+GzRsBy/fdSUGayGqdHfT2Q==", + "license": "MIT", "engines": { "node": ">=12.13.0" }, @@ -143,6 +147,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/@apollo/utils.removealiases/-/utils.removealiases-1.0.0.tgz", "integrity": "sha512-6cM8sEOJW2LaGjL/0vHV0GtRaSekrPQR4DiywaApQlL9EdROASZU5PsQibe2MWeZCOhNrPRuHh4wDMwPsWTn8A==", + "license": "MIT", "engines": { "node": ">=12.13.0" }, @@ -154,6 +159,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/@apollo/utils.sortast/-/utils.sortast-1.1.0.tgz", "integrity": "sha512-VPlTsmUnOwzPK5yGZENN069y6uUHgeiSlpEhRnLFYwYNoJHsuJq2vXVwIaSmts015WTPa2fpz1inkLYByeuRQA==", + "license": "MIT", "dependencies": { "lodash.sortby": "^4.7.0" }, @@ -168,6 +174,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/@apollo/utils.stripsensitiveliterals/-/utils.stripsensitiveliterals-1.2.0.tgz", "integrity": "sha512-E41rDUzkz/cdikM5147d8nfCFVKovXxKBcjvLEQ7bjZm/cg9zEcXvS6vFY8ugTubI3fn6zoqo0CyU8zT+BGP9w==", + "license": "MIT", "engines": { "node": ">=12.13.0" }, @@ -179,6 +186,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/@apollo/utils.usagereporting/-/utils.usagereporting-1.0.1.tgz", "integrity": "sha512-6dk+0hZlnDbahDBB2mP/PZ5ybrtCJdLMbeNJD+TJpKyZmSY6bA3SjI8Cr2EM9QA+AdziywuWg+SgbWUF3/zQqQ==", + "license": "MIT", "dependencies": { "@apollo/usage-reporting-protobuf": "^4.0.0", "@apollo/utils.dropunuseddefinitions": "^1.1.0", @@ -198,6 +206,7 @@ "version": "0.5.4", "resolved": "https://registry.npmjs.org/@apollographql/apollo-tools/-/apollo-tools-0.5.4.tgz", "integrity": "sha512-shM3q7rUbNyXVVRkQJQseXv6bnYM3BUma/eZhwXR4xsuM+bqWnJKvW7SAfRjP7LuSCocrexa5AXhjjawNHrIlw==", + "license": "MIT", "engines": { "node": ">=8", "npm": ">=6" @@ -210,6 +219,7 @@ "version": "1.6.29", "resolved": "https://registry.npmjs.org/@apollographql/graphql-playground-html/-/graphql-playground-html-1.6.29.tgz", "integrity": "sha512-xCcXpoz52rI4ksJSdOCxeOCn2DLocxwHf9dVT/Q90Pte1LX+LY+91SFtJF3KXVHH8kEin+g1KKCQPKBjZJfWNA==", + "license": "MIT", "dependencies": { "xss": "^1.0.8" } @@ -1153,6 +1163,7 @@ "version": "8.7.20", "resolved": "https://registry.npmjs.org/@graphql-tools/mock/-/mock-8.7.20.tgz", "integrity": "sha512-ljcHSJWjC/ZyzpXd5cfNhPI7YljRVvabKHPzKjEs5ElxWu2cdlLGvyNYepApXDsM/OJG/2xuhGM+9GWu5gEAPQ==", + "license": "MIT", "dependencies": { "@graphql-tools/schema": "^9.0.18", "@graphql-tools/utils": "^9.2.1", @@ -1167,6 +1178,7 @@ "version": "8.4.2", "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-8.4.2.tgz", "integrity": "sha512-XbrHAaj8yDuINph+sAfuq3QCZ/tKblrTLOpirK0+CAgNlZUCHs0Fa+xtMUURgwCVThLle1AF7svJCxFizygLsw==", + "license": "MIT", "dependencies": { "@graphql-tools/utils": "^9.2.1", "tslib": "^2.4.0" @@ -1179,6 +1191,7 @@ "version": "9.0.19", "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-9.0.19.tgz", "integrity": "sha512-oBRPoNBtCkk0zbUsyP4GaIzCt8C0aCI4ycIRUL67KK5pOHljKLBBtGT+Jr6hkzA74C8Gco8bpZPe7aWFjiaK2w==", + "license": "MIT", "dependencies": { "@graphql-tools/merge": "^8.4.1", "@graphql-tools/utils": "^9.2.1", @@ -1193,6 +1206,7 @@ "version": "9.2.1", "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-9.2.1.tgz", "integrity": "sha512-WUw506Ql6xzmOORlriNrD6Ugx+HjVgYxt9KCXD9mHAak+eaXSwuGGPyE60hy9xaDEoXKBsG7SkG69ybitaVl6A==", + "license": "MIT", "dependencies": { "@graphql-typed-document-node/core": "^3.1.1", "tslib": "^2.4.0" @@ -1371,7 +1385,8 @@ "node_modules/@josephg/resolvable": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@josephg/resolvable/-/resolvable-1.0.1.tgz", - "integrity": "sha512-CtzORUwWTTOTqfVtHaKRJ0I1kNQd1bpn3sUh8I3nJDVY+5/M/Oe1DnEWzPQvqq/xPIIkzzzIP7mfCoAjFRvDhg==" + "integrity": "sha512-CtzORUwWTTOTqfVtHaKRJ0I1kNQd1bpn3sUh8I3nJDVY+5/M/Oe1DnEWzPQvqq/xPIIkzzzIP7mfCoAjFRvDhg==", + "license": "ISC" }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.5", @@ -17369,6 +17384,130 @@ "resolved": "https://registry.npmjs.org/@sqltools/formatter/-/formatter-1.2.5.tgz", "integrity": "sha512-Uy0+khmZqUrUGm5dmMqVlnvufZRSK0FbYzVgp0UMstm+F5+W2/jnEEQyc9vo1ZR/E5ZI/B1WjjoTqBqwJL6Krw==" }, + "node_modules/@subsquid/apollo-server-core": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/@subsquid/apollo-server-core/-/apollo-server-core-3.14.0.tgz", + "integrity": "sha512-ubGem3d0eTcMxJS/XR53EMsjrh4SyLneEsVn3XUyw7T9VQBOZYsu2OAFfnFUdnYU4u0imAX/VVh24Mt6I4WetQ==", + "license": "MIT", + "dependencies": { + "@apollo/utils.keyvaluecache": "^1.0.1", + "@apollo/utils.logger": "^1.0.0", + "@apollo/utils.usagereporting": "^1.0.0", + "@apollographql/apollo-tools": "^0.5.3", + "@apollographql/graphql-playground-html": "1.6.29", + "@graphql-tools/mock": "^8.1.2", + "@graphql-tools/schema": "^8.0.0", + "@josephg/resolvable": "^1.0.0", + "apollo-datasource": "^3.3.2", + "apollo-reporting-protobuf": "^3.4.0", + "apollo-server-env": "^4.2.1", + "apollo-server-errors": "^3.3.1", + "apollo-server-plugin-base": "^3.7.2", + "apollo-server-types": "^3.8.0", + "async-retry": "^1.2.1", + "fast-json-stable-stringify": "^2.1.0", + "graphql-tag": "^2.11.0", + "loglevel": "^1.6.8", + "lru-cache": "^6.0.0", + "node-abort-controller": "^3.0.1", + "sha.js": "^2.4.11", + "uuid": "^9.0.0", + "whatwg-mimetype": "^3.0.0" + }, + "engines": { + "node": ">=12.0" + }, + "peerDependencies": { + "graphql": "^15.3.0 || ^16.0.0" + } + }, + "node_modules/@subsquid/apollo-server-core/node_modules/@graphql-tools/merge": { + "version": "8.3.1", + "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-8.3.1.tgz", + "integrity": "sha512-BMm99mqdNZbEYeTPK3it9r9S6rsZsQKtlqJsSBknAclXq2pGEfOxjcIZi+kBSkHZKPKCRrYDd5vY0+rUmIHVLg==", + "license": "MIT", + "dependencies": { + "@graphql-tools/utils": "8.9.0", + "tslib": "^2.4.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@subsquid/apollo-server-core/node_modules/@graphql-tools/schema": { + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-8.5.1.tgz", + "integrity": "sha512-0Esilsh0P/qYcB5DKQpiKeQs/jevzIadNTaT0jeWklPMwNbT7yMX4EqZany7mbeRRlSRwMzNzL5olyFdffHBZg==", + "license": "MIT", + "dependencies": { + "@graphql-tools/merge": "8.3.1", + "@graphql-tools/utils": "8.9.0", + "tslib": "^2.4.0", + "value-or-promise": "1.0.11" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@subsquid/apollo-server-core/node_modules/@graphql-tools/utils": { + "version": "8.9.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-8.9.0.tgz", + "integrity": "sha512-pjJIWH0XOVnYGXCqej8g/u/tsfV4LvLlj0eATKQu5zwnxd/TiTHq7Cg313qUPTFFHZ3PP5wJ15chYVtLDwaymg==", + "license": "MIT", + "dependencies": { + "tslib": "^2.4.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@subsquid/apollo-server-core/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@subsquid/apollo-server-core/node_modules/value-or-promise": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/value-or-promise/-/value-or-promise-1.0.11.tgz", + "integrity": "sha512-41BrgH+dIbCFXClcSapVs5M6GkENd3gQOJpEfPDNa71LsUGMXDL0jMWpI/Rh7WhX+Aalfz2TTS3Zt5pUsbnhLg==", + "license": "MIT", + "engines": { + "node": ">=12" + } + }, + "node_modules/@subsquid/apollo-server-express": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/@subsquid/apollo-server-express/-/apollo-server-express-3.14.1.tgz", + "integrity": "sha512-A4gr0CACz8TNpsDPT3E8DvN7YZwmmMgpSk0WYMtcUkVOd+2Z6rVhYsmctV2KsEX07GcQta8VUOafkY+GmgtSNA==", + "license": "MIT", + "dependencies": { + "@subsquid/apollo-server-core": "^3.14.0", + "@types/accepts": "^1.3.5", + "@types/body-parser": "1.19.2", + "@types/cors": "2.8.12", + "@types/express": "4.17.14", + "@types/express-serve-static-core": "4.17.31", + "accepts": "^1.3.5", + "apollo-server-types": "^3.8.0", + "body-parser": "^1.19.0", + "cors": "^2.8.5", + "parseurl": "^1.3.3" + }, + "engines": { + "node": ">=12.0" + }, + "peerDependencies": { + "express": "^4.17.1", + "graphql": "^15.3.0 || ^16.0.0" + } + }, "node_modules/@subsquid/big-decimal": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@subsquid/big-decimal/-/big-decimal-1.0.0.tgz", @@ -17462,29 +17601,31 @@ } }, "node_modules/@subsquid/evm-processor": { - "version": "1.19.2", - "resolved": "https://registry.npmjs.org/@subsquid/evm-processor/-/evm-processor-1.19.2.tgz", - "integrity": "sha512-7RyRUQpavwkcvYSD3SgNa1J4jIh1CV/7dtTWze/aAiwozUwTfxpe3/305v9nj+Dlbh3v6wczbibQnZoRAy3RHA==", + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/@subsquid/evm-processor/-/evm-processor-1.30.1.tgz", + "integrity": "sha512-7wOZaaw2lBVfSnhiDBDwUTf93jv7G6A6AdmqV4OWs9GWXLcQAdmL8PgcCFTKguMFvxgXsSx5y+uWs7llWDecLA==", + "license": "GPL-3.0-or-later", "dependencies": { - "@subsquid/http-client": "^1.4.0", - "@subsquid/logger": "^1.3.3", - "@subsquid/rpc-client": "^4.9.0", - "@subsquid/util-internal": "^3.2.0", - "@subsquid/util-internal-archive-client": "^0.1.2", - "@subsquid/util-internal-hex": "^1.2.2", - "@subsquid/util-internal-ingest-tools": "^1.1.4", - "@subsquid/util-internal-processor-tools": "^4.1.1", + "@subsquid/http-client": "^1.8.1", + "@subsquid/logger": "^1.6.0", + "@subsquid/rpc-client": "^4.15.0", + "@subsquid/util-internal": "^3.3.0", + "@subsquid/util-internal-archive-client": "^0.2.1", + "@subsquid/util-internal-hex": "^1.2.3", + "@subsquid/util-internal-ingest-tools": "^1.1.5", + "@subsquid/util-internal-processor-tools": "^4.4.0", "@subsquid/util-internal-range": "^0.3.0", - "@subsquid/util-internal-validation": "^0.5.0", + "@subsquid/util-internal-validation": "^0.9.0", "@subsquid/util-timeout": "^2.3.2" } }, "node_modules/@subsquid/evm-processor/node_modules/@subsquid/util-internal-processor-tools": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/@subsquid/util-internal-processor-tools/-/util-internal-processor-tools-4.1.1.tgz", - "integrity": "sha512-zzisejusRteAvwjqFDLlFapH9b86E8GdfNswuNWSjASE+VWadJ/PLfrlXFnsbAo4SxPKtqXWEewoK8cjzVjaZA==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@subsquid/util-internal-processor-tools/-/util-internal-processor-tools-4.4.0.tgz", + "integrity": "sha512-Ov2gFOcaGr7qVhYoqx+EIUjskGLRJRImQaEal5e0uNjX1sLG1bKfz+rXh1YMYCIUFwKd86fAGyLjVWwvnG0V8w==", + "license": "GPL-3.0-or-later", "dependencies": { - "@subsquid/logger": "^1.3.3", + "@subsquid/logger": "^1.5.0", "@subsquid/util-internal": "^3.2.0", "@subsquid/util-internal-counters": "^1.3.2", "@subsquid/util-internal-prometheus-server": "^1.3.0", @@ -17494,19 +17635,21 @@ } }, "node_modules/@subsquid/evm-typegen": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/@subsquid/evm-typegen/-/evm-typegen-4.3.0.tgz", - "integrity": "sha512-a/9MyePxlKmWpcsAopcZXBeNv+W0Mf39j7USOeHyE9QYJ7avF6baMsOQFvzbOwlk8s6w/uEURMxAMvnKgCWo5Q==", + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/@subsquid/evm-typegen/-/evm-typegen-4.6.0.tgz", + "integrity": "sha512-cEZRhiuUc/iL85exBmZaBJBjvdIbF1V7Dg51OtRblooLmGFXK3emE3CCNxpKGhObWUN7OytFE5kYEqRHFzYIRA==", "dev": true, + "license": "GPL-3.0-or-later", "dependencies": { - "@subsquid/evm-abi": "^0.3.0", + "@subsquid/evm-abi": "^0.3.1", "@subsquid/evm-codec": "^0.3.0", - "@subsquid/http-client": "^1.4.0", - "@subsquid/logger": "^1.3.3", + "@subsquid/http-client": "^1.8.0", + "@subsquid/logger": "^1.4.0", "@subsquid/util-internal": "^3.2.0", "@subsquid/util-internal-code-printer": "^1.2.2", "@subsquid/util-internal-commander": "^1.4.0", - "commander": "^11.1.0" + "commander": "^11.1.0", + "fastest-levenshtein": "^1.0.16" }, "bin": { "squid-evm-typegen": "bin/run.js" @@ -17525,6 +17668,17 @@ "@subsquid/util-internal-processor-tools": "^2.0.0" } }, + "node_modules/@subsquid/file-store/node_modules/@subsquid/logger": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@subsquid/logger/-/logger-1.3.3.tgz", + "integrity": "sha512-BdoRVIOrIRzKdMZPoJxzJzPLulf5Q09GeLtJn0whP+rhDV5nQ4ANDAzjPg9jmgH9WkMYAr2XH4lny/4PjhQUNA==", + "license": "GPL-3.0-or-later", + "dependencies": { + "@subsquid/util-internal-hex": "^1.2.2", + "@subsquid/util-internal-json": "^1.2.2", + "supports-color": "^8.1.1" + } + }, "node_modules/@subsquid/file-store/node_modules/@subsquid/util-internal": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/@subsquid/util-internal/-/util-internal-2.5.2.tgz", @@ -17536,9 +17690,10 @@ "integrity": "sha512-C89mus6IXnNi0xMQrZqUFBZwLj8tbuq9lye8Gq/lHmmERAUpi6UsWEyLdJLx2mneZzF3JtY8eNiiZ16jmjtvfw==" }, "node_modules/@subsquid/graphql-server": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/@subsquid/graphql-server/-/graphql-server-4.7.0.tgz", - "integrity": "sha512-KzpiMT3veTSWdYMcnsleqJyzgeYfuO1z9u9qjC24Q4cCvp/4eMhWbxp0oUYnpWwwaZYGL/wACMvulpYEB3ndxQ==", + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@subsquid/graphql-server/-/graphql-server-4.12.0.tgz", + "integrity": "sha512-42UOU9L5eKV8sZEbShH0g/fao1BoNhVP0XqxvbJJTOVBO6pvp7Bimrv3i6UVTCXZpKRHYNUh4UuJsjsoda2xFQ==", + "license": "GPL-3.0-or-later", "dependencies": { "@apollo/utils.keyvadapter": "~1.1.2", "@apollo/utils.keyvaluecache": "~1.0.2", @@ -17546,15 +17701,15 @@ "@graphql-tools/schema": "^10.0.2", "@graphql-tools/utils": "^10.0.11", "@keyv/redis": "~2.5.8", - "@subsquid/logger": "^1.3.3", - "@subsquid/openreader": "^5.0.0", + "@subsquid/apollo-server-core": "^3.14.0", + "@subsquid/apollo-server-express": "^3.14.1", + "@subsquid/logger": "^1.5.0", + "@subsquid/openreader": "^5.5.0", "@subsquid/typeorm-config": "^4.1.1", "@subsquid/util-internal": "^3.2.0", "@subsquid/util-internal-commander": "^1.4.0", - "@subsquid/util-internal-http-server": "^2.0.0", + "@subsquid/util-internal-http-server": "^2.0.1", "@subsquid/util-internal-ts-node": "^0.0.0", - "apollo-server-core": "^3.13.0", - "apollo-server-express": "^3.13.0", "apollo-server-plugin-response-cache": "~3.7.1", "commander": "^11.1.0", "dotenv": "^16.3.1", @@ -17570,7 +17725,7 @@ }, "peerDependencies": { "@subsquid/big-decimal": "^1.0.0", - "class-validator": "^0.14.0", + "class-validator": "^0.14.2", "type-graphql": "^1.2.0-rc.1", "typeorm": "^0.3.17" }, @@ -17590,22 +17745,24 @@ } }, "node_modules/@subsquid/http-client": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@subsquid/http-client/-/http-client-1.5.0.tgz", - "integrity": "sha512-C7lb67mu/Xhno3x4EOzIPZ9fqixq797rT7DxvKVRXJBE7dYFEPyrOBiKO1W45YwX3lFfuHGKpMu2YBOeS/L7lQ==", + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/@subsquid/http-client/-/http-client-1.8.1.tgz", + "integrity": "sha512-JDOqZ2DxhOfmZaoeo0+l3MOseTbbhVAz+3VkNBAhfOdenHTKHTYrywjC1AbqtzFZCswW7ErSFsEsIk+y5GsbGQ==", + "license": "GPL-3.0-or-later", "dependencies": { - "@subsquid/logger": "^1.3.3", - "@subsquid/util-internal": "^3.2.0", + "@subsquid/logger": "^1.6.0", + "@subsquid/util-internal": "^3.3.0", "node-fetch": "^3.3.2" } }, "node_modules/@subsquid/logger": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@subsquid/logger/-/logger-1.3.3.tgz", - "integrity": "sha512-BdoRVIOrIRzKdMZPoJxzJzPLulf5Q09GeLtJn0whP+rhDV5nQ4ANDAzjPg9jmgH9WkMYAr2XH4lny/4PjhQUNA==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@subsquid/logger/-/logger-1.6.0.tgz", + "integrity": "sha512-k33Cw1uO+Boha08arS8nhr0VHfT+bTWGe/hTZDeCDMoa2i0SUgkiDGDkgqTQof6y/N/kl30KzPvAAGqwJ6MJNw==", + "license": "GPL-3.0-or-later", "dependencies": { - "@subsquid/util-internal-hex": "^1.2.2", - "@subsquid/util-internal-json": "^1.2.2", + "@subsquid/util-internal-hex": "^1.2.3", + "@subsquid/util-internal-json": "^1.2.3", "supports-color": "^8.1.1" } }, @@ -17627,20 +17784,21 @@ "dev": true }, "node_modules/@subsquid/openreader": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@subsquid/openreader/-/openreader-5.0.0.tgz", - "integrity": "sha512-sSi2PtZcTBW6ZAhquIrFF5R6sQigtz0cJHdJV4S0uAEp+QzZhRA/GRVNmMw/Ab9gPd7Meiq+18PbsfN08IBedw==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@subsquid/openreader/-/openreader-5.5.0.tgz", + "integrity": "sha512-+O+rQIxGPFeGC1R+IzeoAvNmufJ6QXUzGB+Exi3aTGoddbqjSnuUc3qiNa/lIIOuKGtJT3qK8wbA5vMsv5pGmQ==", + "license": "GPL-3.0-or-later", "dependencies": { "@graphql-tools/merge": "^9.0.1", + "@subsquid/apollo-server-core": "^3.14.0", + "@subsquid/apollo-server-express": "^3.14.1", "@subsquid/graphiql-console": "^0.3.0", - "@subsquid/logger": "^1.3.3", + "@subsquid/logger": "^1.5.0", "@subsquid/util-internal": "^3.2.0", "@subsquid/util-internal-commander": "^1.4.0", "@subsquid/util-internal-hex": "^1.2.2", - "@subsquid/util-internal-http-server": "^2.0.0", + "@subsquid/util-internal-http-server": "^2.0.1", "@subsquid/util-naming": "^1.3.0", - "apollo-server-core": "^3.13.0", - "apollo-server-express": "^3.13.0", "commander": "^11.1.0", "deep-equal": "^2.2.3", "express": "^4.18.2", @@ -17664,13 +17822,14 @@ } }, "node_modules/@subsquid/rpc-client": { - "version": "4.9.0", - "resolved": "https://registry.npmjs.org/@subsquid/rpc-client/-/rpc-client-4.9.0.tgz", - "integrity": "sha512-lpb6qRMMlaacXOFPRhv4CZ7g4w7pKIR7ZEbMjyFexLOdv9MkcYzuGD5XT5REGaBA6mfQMaLa33K5lqAb+tJKBQ==", + "version": "4.15.1", + "resolved": "https://registry.npmjs.org/@subsquid/rpc-client/-/rpc-client-4.15.1.tgz", + "integrity": "sha512-hJpHwSkdMZjOk2POi5uz7PNV9ia7k+LsHGlwqXST89zjE/CvNslKFRL3mqBsIce8SWKdru0hta5YEScNjEjEYQ==", + "license": "GPL-3.0-or-later", "dependencies": { - "@subsquid/http-client": "^1.4.0", - "@subsquid/logger": "^1.3.3", - "@subsquid/util-internal": "^3.2.0", + "@subsquid/http-client": "^1.8.1", + "@subsquid/logger": "^1.6.0", + "@subsquid/util-internal": "^3.3.1", "@subsquid/util-internal-binary-heap": "^1.0.0", "@subsquid/util-internal-counters": "^1.3.2", "@subsquid/util-internal-json-fix-unsafe-integers": "^0.0.0", @@ -17678,12 +17837,13 @@ } }, "node_modules/@subsquid/typeorm-codegen": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@subsquid/typeorm-codegen/-/typeorm-codegen-2.0.2.tgz", - "integrity": "sha512-MDeA4LrqbRIYpmlwRdO1GyPzq+pfIS17VAgkMbYx2LtyqMbSvIaYU5D+iE0QMJr/XvO4bXC8+qZ6Fx4kIMuvfw==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@subsquid/typeorm-codegen/-/typeorm-codegen-2.2.0.tgz", + "integrity": "sha512-ZW0U9bSghzZjEiFqxtWWU7b95TZGJLC00C+QvEcWfc5y1Wx/RPIjhu1+x/z6djRgO1p1UzKNhoXe/652OftdDg==", "dev": true, + "license": "GPL-3.0-or-later", "dependencies": { - "@subsquid/openreader": "^5.0.0", + "@subsquid/openreader": "^5.5.0", "@subsquid/util-internal": "^3.2.0", "@subsquid/util-internal-code-printer": "^1.2.2", "@subsquid/util-naming": "^1.3.0", @@ -17712,12 +17872,13 @@ } }, "node_modules/@subsquid/typeorm-migration": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@subsquid/typeorm-migration/-/typeorm-migration-1.3.0.tgz", - "integrity": "sha512-+xyOvN5asKdSEUMjKRuuwLDaOSRBBCRc2LIVdsyv5nnXXcmtOShfQsHQNX9EdKD2xx4cH2bnD7ol3PY63Q2xQw==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@subsquid/typeorm-migration/-/typeorm-migration-1.3.1.tgz", + "integrity": "sha512-5N9+1VuCo5VGk1F/mi3RHHy5w9mvnLYzUviBvV6fRkYrssyfeetq4hH5Ubv1WGX+yMy9NqL5nGcat5pLlUuoVw==", + "license": "GPL-3.0-or-later", "dependencies": { - "@subsquid/typeorm-config": "^4.1.0", - "@subsquid/util-internal": "^3.0.0", + "@subsquid/typeorm-config": "^4.1.1", + "@subsquid/util-internal": "^3.2.0", "@subsquid/util-internal-code-printer": "^1.2.2", "@subsquid/util-internal-ts-node": "^0.0.0", "commander": "^11.1.0", @@ -17735,12 +17896,13 @@ } }, "node_modules/@subsquid/typeorm-store": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/@subsquid/typeorm-store/-/typeorm-store-1.5.1.tgz", - "integrity": "sha512-XIhc/4qotnJP+8RDxWjUdsSCr+LOPOAp9U+u0VCqnyXx5rN13MDS0L5KSkIGinr/OQtK1CBWmRpDLF4ExWcWCw==", + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@subsquid/typeorm-store/-/typeorm-store-1.9.1.tgz", + "integrity": "sha512-9zGNVCy5tJ+NVYxsnPQXjIk/f7fd+CDLzqplhrcgLJRxjWoA3ANvhCUiERmf/PJs0bHEl84yontARmUs0TGxxg==", + "license": "GPL-3.0-or-later", "dependencies": { "@subsquid/typeorm-config": "^4.1.1", - "@subsquid/util-internal": "^3.2.0" + "@subsquid/util-internal": "^3.3.0" }, "peerDependencies": { "@subsquid/big-decimal": "^1.0.0", @@ -17748,21 +17910,23 @@ } }, "node_modules/@subsquid/util-internal": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@subsquid/util-internal/-/util-internal-3.2.0.tgz", - "integrity": "sha512-foNCjOmZaP8MKMa9sNe2GXTjFSDM9UqA0I0C0/ZvCxM1lCmG3mxZb70f8Wyi7TePXC/eV8eARbIqFyz0GjQmzA==" + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@subsquid/util-internal/-/util-internal-3.3.1.tgz", + "integrity": "sha512-Q8C19KnbI9V3WhEcb5H/r6WHeHiTvBSUBvBZ6W7k7G2G6x5OojtT6CELMb1Yy34PH9DVe0ew7wtd9nM5ZLJ6qg==", + "license": "GPL-3.0-or-later" }, "node_modules/@subsquid/util-internal-archive-client": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@subsquid/util-internal-archive-client/-/util-internal-archive-client-0.1.2.tgz", - "integrity": "sha512-XATZWOIHUqIuqzb9hxaFIsz/BItb5qLoYjk6uhFcR9ART2AExXLU5l26SvSrq3hUnqfznIkQMZVQ1SKqnGzx4g==", + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@subsquid/util-internal-archive-client/-/util-internal-archive-client-0.2.1.tgz", + "integrity": "sha512-jGO3revw8fPSnbEDOZ1ciyZ6sbk9oPbieC8O0n9LipF5Bpc7BBIN6SyTfG9r3bXL86AzN4iMtCKuLtUbkvaFlw==", + "license": "GPL-3.0-or-later", "dependencies": { - "@subsquid/util-internal": "^3.1.0", + "@subsquid/util-internal": "^3.2.0", "@subsquid/util-internal-range": "^0.3.0" }, "peerDependencies": { - "@subsquid/http-client": "^1.4.0", - "@subsquid/logger": "^1.3.3" + "@subsquid/http-client": "^1.8.0", + "@subsquid/logger": "^1.5.0" }, "peerDependenciesMeta": { "@subsquid/logger": { @@ -17804,30 +17968,33 @@ "integrity": "sha512-GxpOIL36JXSo0KdOT7k6CsI4DY804rn/X7pTdfKhych0ReHaDghnwNyvgb7Njv9euEHWUt4MxXbfQ9YrbpPDng==" }, "node_modules/@subsquid/util-internal-hex": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@subsquid/util-internal-hex/-/util-internal-hex-1.2.2.tgz", - "integrity": "sha512-E43HVqf23jP5hvtWF9GsiN8luANjnJ1daR2SVTwaIUAYU/uNjv1Bi6tHz2uexlflBhyxAgBDmHgunXZ45wQTIw==" + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@subsquid/util-internal-hex/-/util-internal-hex-1.2.3.tgz", + "integrity": "sha512-rGIQKHP+RpriJR56oL/AD43H/KX1EQwsvUy8nP6IHnk/vmaLyC2ECTp5n0jB7kq4NYK4C2VotP3lXHR0vWpa0A==", + "license": "GPL-3.0-or-later" }, "node_modules/@subsquid/util-internal-http-server": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@subsquid/util-internal-http-server/-/util-internal-http-server-2.0.0.tgz", - "integrity": "sha512-MUAJGMuDjbA3B+KQFZmMkm9FuWVx067pINt+EWuq3fSZqYPr1kRkTCTSJK7uT6Q8omqJtJFRWveyOWlXmixvfg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@subsquid/util-internal-http-server/-/util-internal-http-server-2.0.1.tgz", + "integrity": "sha512-qDR1k+vCoLTtQX0O9cXg5kFmBqHf4708EKQLqH3IaQ4XiK1d/QFBQy8cDNZxXA6WxmkwJy4u9jaCZcpd2BrBQw==", + "license": "GPL-3.0-or-later", "dependencies": { - "@subsquid/logger": "^1.3.3", + "@subsquid/logger": "^1.4.0", "stoppable": "^1.1.0" } }, "node_modules/@subsquid/util-internal-ingest-tools": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/@subsquid/util-internal-ingest-tools/-/util-internal-ingest-tools-1.1.4.tgz", - "integrity": "sha512-2xWyqfg0mITsNdsYuGi3++UTy/D04N69KovyW5Rd71zCDSEedV0ePX5hQl/IT/o+H/u++HcXPggwJMVl09g6kQ==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@subsquid/util-internal-ingest-tools/-/util-internal-ingest-tools-1.2.0.tgz", + "integrity": "sha512-Uufe/pvJ0fBm6UAQetuxGtvZqc1CcwlOtNRiDgZTXiYfyjT2BeykLLiuTQaQ5Pv8iVLRxqfJngge7A63eGvhnQ==", + "license": "GPL-3.0-or-later", "dependencies": { - "@subsquid/logger": "^1.3.3", - "@subsquid/util-internal": "^3.2.0", + "@subsquid/logger": "^1.6.0", + "@subsquid/util-internal": "^3.3.0", "@subsquid/util-internal-range": "^0.3.0" }, "peerDependencies": { - "@subsquid/util-internal-archive-client": "^0.1.2" + "@subsquid/util-internal-archive-client": "^0.2.1" }, "peerDependenciesMeta": { "@subsquid/util-internal-archive-client": { @@ -17846,7 +18013,8 @@ "node_modules/@subsquid/util-internal-json-fix-unsafe-integers": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/@subsquid/util-internal-json-fix-unsafe-integers/-/util-internal-json-fix-unsafe-integers-0.0.0.tgz", - "integrity": "sha512-mtbN15IgXtV4yo98RQla+O3DhFwB28o3JTBrFuBc/i/qzxyZNbKoVdq/uczomGdXrHxGkWhTDe/istIQe9gn6w==" + "integrity": "sha512-mtbN15IgXtV4yo98RQla+O3DhFwB28o3JTBrFuBc/i/qzxyZNbKoVdq/uczomGdXrHxGkWhTDe/istIQe9gn6w==", + "license": "GPL-3.0-or-later" }, "node_modules/@subsquid/util-internal-processor-tools": { "version": "2.0.0", @@ -17893,6 +18061,7 @@ "version": "0.3.0", "resolved": "https://registry.npmjs.org/@subsquid/util-internal-range/-/util-internal-range-0.3.0.tgz", "integrity": "sha512-5/oDNW0TS66o4vWRzYSYXEfNnFRZsAzoi4pZNdPn7n1l+xV7ZTa0Y57XA6cP5hrWCaIYav4z1zECPngLDV/qeQ==", + "license": "GPL-3.0-or-later", "dependencies": { "@subsquid/util-internal": "^3.1.0", "@subsquid/util-internal-binary-heap": "^1.0.0" @@ -17901,7 +18070,8 @@ "node_modules/@subsquid/util-internal-squid-id": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/@subsquid/util-internal-squid-id/-/util-internal-squid-id-0.0.0.tgz", - "integrity": "sha512-LyVZIGUbC87r+3VFBRiNOEycxvpkOEEjt5enY02iGl6MneLwq3m17D44xAkwfFj/U+t7GA76eeHIoI2ZkiQKog==" + "integrity": "sha512-LyVZIGUbC87r+3VFBRiNOEycxvpkOEEjt5enY02iGl6MneLwq3m17D44xAkwfFj/U+t7GA76eeHIoI2ZkiQKog==", + "license": "GPL-3.0-or-later" }, "node_modules/@subsquid/util-internal-ts-node": { "version": "0.0.0", @@ -17909,11 +18079,12 @@ "integrity": "sha512-VBnrKrkNcqbT3hMLrjpEPuwMAihFhW9oUmK53bccBCCXrUiATNUblQD2S4IWd9/UBO5Q33ohpbE9sAodDq2DXw==" }, "node_modules/@subsquid/util-internal-validation": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@subsquid/util-internal-validation/-/util-internal-validation-0.5.0.tgz", - "integrity": "sha512-mGiwOzc/Fq651CbFe7aEpERXBr+BkqAz8cDpqTVAsve6ghvB5tvwlAv7i1MWnyt/g7OqX1LhYMhh7NFipyMeyA==", + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@subsquid/util-internal-validation/-/util-internal-validation-0.9.0.tgz", + "integrity": "sha512-S9j/o1gmKz4qTf0O8B9mpGV6Z+WhIe6xDLhKvpzJ7IaMqkDUHTu386Hx8IXyTJf/RY9ABunfGLI9q9uJln9wSA==", + "license": "GPL-3.0-or-later", "peerDependencies": { - "@subsquid/logger": "^1.3.3" + "@subsquid/logger": "^1.6.0" }, "peerDependenciesMeta": { "@subsquid/logger": { @@ -17963,6 +18134,7 @@ "version": "1.3.7", "resolved": "https://registry.npmjs.org/@types/accepts/-/accepts-1.3.7.tgz", "integrity": "sha512-Pay9fq2lM2wXPWbteBsRAGiWH2hig4ZE2asK+mm7kUzlxRTfL961rj89I6zV/E3PcIkDqyuBEcMxFT7rccugeQ==", + "license": "MIT", "dependencies": { "@types/node": "*" } @@ -17971,6 +18143,7 @@ "version": "1.19.2", "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", + "license": "MIT", "dependencies": { "@types/connect": "*", "@types/node": "*" @@ -17989,6 +18162,7 @@ "version": "3.4.38", "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "license": "MIT", "dependencies": { "@types/node": "*" } @@ -17996,7 +18170,8 @@ "node_modules/@types/cors": { "version": "2.8.12", "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz", - "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==" + "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==", + "license": "MIT" }, "node_modules/@types/estree": { "version": "1.0.5", @@ -18008,6 +18183,7 @@ "version": "4.17.14", "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.14.tgz", "integrity": "sha512-TEbt+vaPFQ+xpxFLFssxUDXj5cWCxZJjIcB7Yg0k0GMHGtgtQgpvx/MUQUeAkNbA9AAGrwkAsoeItdTgS7FMyg==", + "license": "MIT", "dependencies": { "@types/body-parser": "*", "@types/express-serve-static-core": "^4.17.18", @@ -18019,6 +18195,7 @@ "version": "4.17.31", "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.31.tgz", "integrity": "sha512-DxMhY+NAsTwMMFHBTtJFNp5qiHKJ7TeqOo23zVEM9alT1Ml27Q3xcTH0xwxn7Q0BbMcVEJOs/7aQtUWupUQN3Q==", + "license": "MIT", "dependencies": { "@types/node": "*", "@types/qs": "*", @@ -18041,9 +18218,10 @@ } }, "node_modules/@types/http-errors": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", - "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==" + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.5.tgz", + "integrity": "sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==", + "license": "MIT" }, "node_modules/@types/lodash": { "version": "4.17.7", @@ -18056,11 +18234,6 @@ "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz", "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==" }, - "node_modules/@types/mime": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", - "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==" - }, "node_modules/@types/minimatch": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", @@ -18089,37 +18262,30 @@ "license": "MIT" }, "node_modules/@types/qs": { - "version": "6.9.15", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.15.tgz", - "integrity": "sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==" + "version": "6.15.1", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.15.1.tgz", + "integrity": "sha512-GZHUBZR9hckSUhrxmp1nG6NwdpM9fCunJwyThLW1X3AyHgd9IlHb6VANpQQqDr2o/qQp6McZ3y/IA2rVzKzSbw==", + "license": "MIT" }, "node_modules/@types/range-parser": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", - "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==" + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", + "license": "MIT" }, "node_modules/@types/semver": { "version": "7.5.8", "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==" }, - "node_modules/@types/send": { - "version": "0.17.4", - "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", - "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", - "dependencies": { - "@types/mime": "^1", - "@types/node": "*" - } - }, "node_modules/@types/serve-static": { - "version": "1.15.7", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.7.tgz", - "integrity": "sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-2.2.0.tgz", + "integrity": "sha512-8mam4H1NHLtu7nmtalF7eyBH14QyOASmcxHhSfEoRyr0nP/YdoesEtU+uSRvMe96TW/HPTtkoKqQLl53N7UXMQ==", + "license": "MIT", "dependencies": { "@types/http-errors": "*", - "@types/node": "*", - "@types/send": "*" + "@types/node": "*" } }, "node_modules/@types/tar-fs": { @@ -18151,9 +18317,10 @@ } }, "node_modules/@types/validator": { - "version": "13.12.0", - "resolved": "https://registry.npmjs.org/@types/validator/-/validator-13.12.0.tgz", - "integrity": "sha512-nH45Lk7oPIJ1RVOF6JgFI6Dy0QpHEzq4QecZhvguxYPDwT8c93prCMqAtiIttm39voZ+DDR+qkNnMpJmMBRqag==", + "version": "13.15.10", + "resolved": "https://registry.npmjs.org/@types/validator/-/validator-13.15.10.tgz", + "integrity": "sha512-T8L6i7wCuyoK8A/ZeLYt1+q0ty3Zb9+qbSSvrIVitzT3YjZqkTZ40IbRsPanlB4h1QB3JVL1SYCdR6ngtFYcuA==", + "license": "MIT", "peer": true }, "node_modules/@usecannon/builder": { @@ -18617,7 +18784,8 @@ "version": "3.3.2", "resolved": "https://registry.npmjs.org/apollo-datasource/-/apollo-datasource-3.3.2.tgz", "integrity": "sha512-L5TiS8E2Hn/Yz7SSnWIVbZw0ZfEIXZCa5VUiVxD9P53JvSrf4aStvsFDlGWPvpIdCR+aly2CfoB79B9/JjKFqg==", - "deprecated": "The `apollo-datasource` package is part of Apollo Server v2 and v3, which are now deprecated (end-of-life October 22nd 2023 and October 22nd 2024, respectively). See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.", + "deprecated": "The `apollo-datasource` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.", + "license": "MIT", "dependencies": { "@apollo/utils.keyvaluecache": "^1.0.1", "apollo-server-env": "^4.2.1" @@ -18665,103 +18833,11 @@ "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==" }, - "node_modules/apollo-server-core": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/apollo-server-core/-/apollo-server-core-3.13.0.tgz", - "integrity": "sha512-v/g6DR6KuHn9DYSdtQijz8dLOkP78I5JSVJzPkARhDbhpH74QNwrQ2PP2URAPPEDJ2EeZNQDX8PvbYkAKqg+kg==", - "dependencies": { - "@apollo/utils.keyvaluecache": "^1.0.1", - "@apollo/utils.logger": "^1.0.0", - "@apollo/utils.usagereporting": "^1.0.0", - "@apollographql/apollo-tools": "^0.5.3", - "@apollographql/graphql-playground-html": "1.6.29", - "@graphql-tools/mock": "^8.1.2", - "@graphql-tools/schema": "^8.0.0", - "@josephg/resolvable": "^1.0.0", - "apollo-datasource": "^3.3.2", - "apollo-reporting-protobuf": "^3.4.0", - "apollo-server-env": "^4.2.1", - "apollo-server-errors": "^3.3.1", - "apollo-server-plugin-base": "^3.7.2", - "apollo-server-types": "^3.8.0", - "async-retry": "^1.2.1", - "fast-json-stable-stringify": "^2.1.0", - "graphql-tag": "^2.11.0", - "loglevel": "^1.6.8", - "lru-cache": "^6.0.0", - "node-abort-controller": "^3.0.1", - "sha.js": "^2.4.11", - "uuid": "^9.0.0", - "whatwg-mimetype": "^3.0.0" - }, - "engines": { - "node": ">=12.0" - }, - "peerDependencies": { - "graphql": "^15.3.0 || ^16.0.0" - } - }, - "node_modules/apollo-server-core/node_modules/@graphql-tools/merge": { - "version": "8.3.1", - "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-8.3.1.tgz", - "integrity": "sha512-BMm99mqdNZbEYeTPK3it9r9S6rsZsQKtlqJsSBknAclXq2pGEfOxjcIZi+kBSkHZKPKCRrYDd5vY0+rUmIHVLg==", - "dependencies": { - "@graphql-tools/utils": "8.9.0", - "tslib": "^2.4.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/apollo-server-core/node_modules/@graphql-tools/schema": { - "version": "8.5.1", - "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-8.5.1.tgz", - "integrity": "sha512-0Esilsh0P/qYcB5DKQpiKeQs/jevzIadNTaT0jeWklPMwNbT7yMX4EqZany7mbeRRlSRwMzNzL5olyFdffHBZg==", - "dependencies": { - "@graphql-tools/merge": "8.3.1", - "@graphql-tools/utils": "8.9.0", - "tslib": "^2.4.0", - "value-or-promise": "1.0.11" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/apollo-server-core/node_modules/@graphql-tools/utils": { - "version": "8.9.0", - "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-8.9.0.tgz", - "integrity": "sha512-pjJIWH0XOVnYGXCqej8g/u/tsfV4LvLlj0eATKQu5zwnxd/TiTHq7Cg313qUPTFFHZ3PP5wJ15chYVtLDwaymg==", - "dependencies": { - "tslib": "^2.4.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/apollo-server-core/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/apollo-server-core/node_modules/value-or-promise": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/value-or-promise/-/value-or-promise-1.0.11.tgz", - "integrity": "sha512-41BrgH+dIbCFXClcSapVs5M6GkENd3gQOJpEfPDNa71LsUGMXDL0jMWpI/Rh7WhX+Aalfz2TTS3Zt5pUsbnhLg==", - "engines": { - "node": ">=12" - } - }, - "node_modules/apollo-server-env": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/apollo-server-env/-/apollo-server-env-4.2.1.tgz", - "integrity": "sha512-vm/7c7ld+zFMxibzqZ7SSa5tBENc4B0uye9LTfjJwGoQFY5xsUPH5FpO5j0bMUDZ8YYNbrF9SNtzc5Cngcr90g==", - "deprecated": "The `apollo-server-env` package is part of Apollo Server v2 and v3, which are now deprecated (end-of-life October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/utils.fetcher` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.", + "node_modules/apollo-server-env": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/apollo-server-env/-/apollo-server-env-4.2.1.tgz", + "integrity": "sha512-vm/7c7ld+zFMxibzqZ7SSa5tBENc4B0uye9LTfjJwGoQFY5xsUPH5FpO5j0bMUDZ8YYNbrF9SNtzc5Cngcr90g==", + "deprecated": "The `apollo-server-env` package is part of Apollo Server v2 and v3, which are now deprecated (end-of-life October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/utils.fetcher` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.", "dependencies": { "node-fetch": "^2.6.7" }, @@ -18792,36 +18868,12 @@ "version": "3.3.1", "resolved": "https://registry.npmjs.org/apollo-server-errors/-/apollo-server-errors-3.3.1.tgz", "integrity": "sha512-xnZJ5QWs6FixHICXHxUfm+ZWqqxrNuPlQ+kj5m6RtEgIpekOPssH/SD9gf2B4HuWV0QozorrygwZnux8POvyPA==", - "deprecated": "The `apollo-server-errors` package is part of Apollo Server v2 and v3, which are now deprecated (end-of-life October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/server` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.", - "engines": { - "node": ">=12.0" - }, - "peerDependencies": { - "graphql": "^15.3.0 || ^16.0.0" - } - }, - "node_modules/apollo-server-express": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/apollo-server-express/-/apollo-server-express-3.13.0.tgz", - "integrity": "sha512-iSxICNbDUyebOuM8EKb3xOrpIwOQgKxGbR2diSr4HP3IW8T3njKFOoMce50vr+moOCe1ev8BnLcw9SNbuUtf7g==", - "dependencies": { - "@types/accepts": "^1.3.5", - "@types/body-parser": "1.19.2", - "@types/cors": "2.8.12", - "@types/express": "4.17.14", - "@types/express-serve-static-core": "4.17.31", - "accepts": "^1.3.5", - "apollo-server-core": "^3.13.0", - "apollo-server-types": "^3.8.0", - "body-parser": "^1.19.0", - "cors": "^2.8.5", - "parseurl": "^1.3.3" - }, + "deprecated": "The `apollo-server-errors` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/server` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.", + "license": "MIT", "engines": { "node": ">=12.0" }, "peerDependencies": { - "express": "^4.17.1", "graphql": "^15.3.0 || ^16.0.0" } }, @@ -19376,6 +19428,35 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/camelcase": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", @@ -19526,14 +19607,15 @@ } }, "node_modules/class-validator": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/class-validator/-/class-validator-0.14.1.tgz", - "integrity": "sha512-2VEG9JICxIqTpoK1eMzZqaV+u/EiwEJkMGzTrZf6sU/fwsnOITVgYJ8yojSy6CaXtO9V0Cc6ZQZ8h8m4UBuLwQ==", + "version": "0.14.4", + "resolved": "https://registry.npmjs.org/class-validator/-/class-validator-0.14.4.tgz", + "integrity": "sha512-AwNusCCam51q703dW82x95tOqQp6oC9HNUl724KxJJOfnKscI8dOloXFgyez7LbTTKWuRBA37FScqVbJEoq8Yw==", + "license": "MIT", "peer": true, "dependencies": { - "@types/validator": "^13.11.8", - "libphonenumber-js": "^1.10.53", - "validator": "^13.9.0" + "@types/validator": "^13.15.3", + "libphonenumber-js": "^1.11.1", + "validator": "^13.15.22" } }, "node_modules/clean-stack": { @@ -19831,15 +19913,20 @@ "dev": true }, "node_modules/cors": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "version": "2.8.6", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.6.tgz", + "integrity": "sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==", + "license": "MIT", "dependencies": { "object-assign": "^4", "vary": "^1" }, "engines": { "node": ">= 0.10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/create-require": { @@ -19875,12 +19962,14 @@ "node_modules/cssfilter": { "version": "0.0.10", "resolved": "https://registry.npmjs.org/cssfilter/-/cssfilter-0.0.10.tgz", - "integrity": "sha512-FAaLDaplstoRsDR8XGYH51znUN0UY7nMc6Z9/fvE8EXGwvJE9hu7W2vHwx1+bd6gCYnln9nLbzxFTrcO9YQDZw==" + "integrity": "sha512-FAaLDaplstoRsDR8XGYH51znUN0UY7nMc6Z9/fvE8EXGwvJE9hu7W2vHwx1+bd6gCYnln9nLbzxFTrcO9YQDZw==", + "license": "MIT" }, "node_modules/d": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/d/-/d-1.0.2.tgz", "integrity": "sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==", + "license": "ISC", "dependencies": { "es5-ext": "^0.10.64", "type": "^2.7.2" @@ -19893,6 +19982,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz", "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==", + "license": "MIT", "engines": { "node": ">= 12" } @@ -20035,6 +20125,7 @@ "version": "2.2.3", "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.3.tgz", "integrity": "sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==", + "license": "MIT", "dependencies": { "array-buffer-byte-length": "^1.0.0", "call-bind": "^1.0.5", @@ -20215,6 +20306,20 @@ "node": ">=4" } }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/eastasianwidth": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", @@ -20362,12 +20467,10 @@ } }, "node_modules/es-define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", - "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", - "dependencies": { - "get-intrinsic": "^1.2.4" - }, + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", "engines": { "node": ">= 0.4" } @@ -20384,6 +20487,7 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "get-intrinsic": "^1.1.3", @@ -20400,10 +20504,10 @@ } }, "node_modules/es-object-atoms": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", - "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", - "dev": true, + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.2.tgz", + "integrity": "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==", + "license": "MIT", "dependencies": { "es-errors": "^1.3.0" }, @@ -20447,6 +20551,7 @@ "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.64.tgz", "integrity": "sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==", "hasInstallScript": true, + "license": "ISC", "dependencies": { "es6-iterator": "^2.0.3", "es6-symbol": "^3.1.3", @@ -20461,6 +20566,7 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", + "license": "MIT", "dependencies": { "d": "1", "es5-ext": "^0.10.35", @@ -20471,6 +20577,7 @@ "version": "3.1.4", "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.4.tgz", "integrity": "sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==", + "license": "ISC", "dependencies": { "d": "^1.0.2", "ext": "^1.7.0" @@ -20546,6 +20653,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/esniff/-/esniff-2.0.1.tgz", "integrity": "sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==", + "license": "ISC", "dependencies": { "d": "^1.0.1", "es5-ext": "^0.10.62", @@ -20704,6 +20812,7 @@ "version": "0.3.5", "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", "integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==", + "license": "MIT", "dependencies": { "d": "1", "es5-ext": "~0.10.14" @@ -20882,6 +20991,7 @@ "version": "1.7.0", "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz", "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==", + "license": "ISC", "dependencies": { "type": "^2.7.2" } @@ -20926,7 +21036,8 @@ "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "license": "MIT" }, "node_modules/fast-levenshtein": { "version": "3.0.0", @@ -20986,6 +21097,7 @@ "url": "https://paypal.me/jimmywarting" } ], + "license": "MIT", "dependencies": { "node-domexception": "^1.0.0", "web-streams-polyfill": "^3.0.3" @@ -21168,6 +21280,7 @@ "version": "4.0.10", "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", + "license": "MIT", "dependencies": { "fetch-blob": "^3.1.2" }, @@ -21293,15 +21406,21 @@ } }, "node_modules/get-intrinsic": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", - "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -21319,6 +21438,19 @@ "node": ">=8.0.0" } }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/get-stream": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", @@ -21422,11 +21554,12 @@ } }, "node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "dependencies": { - "get-intrinsic": "^1.1.3" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -21447,9 +21580,10 @@ } }, "node_modules/graphql-parse-resolve-info": { - "version": "4.14.0", - "resolved": "https://registry.npmjs.org/graphql-parse-resolve-info/-/graphql-parse-resolve-info-4.14.0.tgz", - "integrity": "sha512-5Fbquh3IZMciLYgtiWeFxAeZOwpPyonhbaN05fzL/Gll0HS0hMqJh1Q88NQLHiASD6//cJ3LTXLncuajRqsUcA==", + "version": "4.14.1", + "resolved": "https://registry.npmjs.org/graphql-parse-resolve-info/-/graphql-parse-resolve-info-4.14.1.tgz", + "integrity": "sha512-WKHukfEuZamP1ZONR84b8iT+4sJgEhtXMDArm1jpXEsU2vTb5EgkCZ4Obfl+v09oNTKXm0CJjPfBUZ5jcJ2Ykg==", + "license": "MIT", "dependencies": { "debug": "^4.1.1", "tslib": "^2.0.1" @@ -21484,9 +21618,10 @@ } }, "node_modules/graphql-tag": { - "version": "2.12.6", - "resolved": "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.12.6.tgz", - "integrity": "sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==", + "version": "2.12.7", + "resolved": "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.12.7.tgz", + "integrity": "sha512-xnE/NFzy+0eIesvAsREJZ284zTl/wYuBAvpsFSDhRGRdRHdnE90M21Q3xAWyYInb0J756c6x0pIQ62+vtvOs1Q==", + "license": "MIT", "dependencies": { "tslib": "^2.1.0" }, @@ -21494,7 +21629,7 @@ "node": ">=10" }, "peerDependencies": { - "graphql": "^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" + "graphql": "^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" } }, "node_modules/graphql-ws": { @@ -21595,6 +21730,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "dev": true, "engines": { "node": ">= 0.4" }, @@ -21603,9 +21739,10 @@ } }, "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -21875,13 +22012,14 @@ } }, "node_modules/internal-slot": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", - "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", + "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", + "license": "MIT", "dependencies": { "es-errors": "^1.3.0", - "hasown": "^2.0.0", - "side-channel": "^1.0.4" + "hasown": "^2.0.2", + "side-channel": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -22066,12 +22204,13 @@ } }, "node_modules/is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.2.0.tgz", + "integrity": "sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -22238,6 +22377,7 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -22321,6 +22461,7 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -22400,7 +22541,8 @@ "node_modules/is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "license": "MIT" }, "node_modules/is-unicode-supported": { "version": "0.1.0", @@ -22418,6 +22560,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -22438,12 +22581,13 @@ } }, "node_modules/is-weakset": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz", - "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", + "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", - "get-intrinsic": "^1.2.4" + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" }, "engines": { "node": ">= 0.4" @@ -22897,7 +23041,8 @@ "node_modules/lodash.sortby": { "version": "4.7.0", "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==" + "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==", + "license": "MIT" }, "node_modules/lodash.truncate": { "version": "4.4.2", @@ -22923,9 +23068,10 @@ } }, "node_modules/loglevel": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.9.1.tgz", - "integrity": "sha512-hP3I3kCrDIMuRwAwHltphhDM1r8i55H33GgqjXbrisuJhF4kRhW1dNuxsRklp4bXl8DSdLaNLuiL4A/LWRfxvg==", + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.9.2.tgz", + "integrity": "sha512-HgMmCqIJSAKqo68l0rS2AanEWfkxaZ5wNiEFb5ggm08lDs9Xl2KxBlX3PTcaD2chBM1gXAYf491/M2Rv8Jwayg==", + "license": "MIT", "engines": { "node": ">= 0.6.0" }, @@ -23076,6 +23222,15 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", @@ -23579,7 +23734,8 @@ "node_modules/next-tick": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", - "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==" + "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==", + "license": "ISC" }, "node_modules/nice-try": { "version": "1.0.5", @@ -23590,7 +23746,8 @@ "node_modules/node-abort-controller": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/node-abort-controller/-/node-abort-controller-3.1.1.tgz", - "integrity": "sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==" + "integrity": "sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==", + "license": "MIT" }, "node_modules/node-addon-api": { "version": "2.0.2", @@ -23601,6 +23758,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", + "deprecated": "Use your platform's native DOMException instead", "funding": [ { "type": "github", @@ -23611,6 +23769,7 @@ "url": "https://paypal.me/jimmywarting" } ], + "license": "MIT", "engines": { "node": ">=10.5.0" } @@ -23628,6 +23787,7 @@ "version": "3.3.2", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", + "license": "MIT", "dependencies": { "data-uri-to-buffer": "^4.0.0", "fetch-blob": "^3.1.4", @@ -23905,9 +24065,10 @@ } }, "node_modules/object-inspect": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", - "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -23919,6 +24080,7 @@ "version": "1.1.6", "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz", "integrity": "sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==", + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1" @@ -25531,14 +25693,69 @@ } }, "node_modules/side-channel": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", - "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.1.tgz", + "integrity": "sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4", - "object-inspect": "^1.13.1" + "object-inspect": "^1.13.4", + "side-channel-list": "^1.0.1", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "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==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" }, "engines": { "node": ">= 0.4" @@ -25739,11 +25956,13 @@ "dev": true }, "node_modules/stop-iteration-iterator": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", - "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz", + "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==", + "license": "MIT", "dependencies": { - "internal-slot": "^1.0.4" + "es-errors": "^1.3.0", + "internal-slot": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -26300,7 +26519,8 @@ "node_modules/type": { "version": "2.7.3", "resolved": "https://registry.npmjs.org/type/-/type-2.7.3.tgz", - "integrity": "sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==" + "integrity": "sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==", + "license": "ISC" }, "node_modules/type-fest": { "version": "0.21.3", @@ -26470,6 +26690,7 @@ "version": "3.1.5", "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "license": "MIT", "dependencies": { "is-typedarray": "^1.0.0" } @@ -26770,9 +26991,10 @@ } }, "node_modules/validator": { - "version": "13.12.0", - "resolved": "https://registry.npmjs.org/validator/-/validator-13.12.0.tgz", - "integrity": "sha512-c1Q0mCiPlgdTVVVIJIrBuxNicYE+t/7oKeI9MWLj3fh/uq2Pxh/3eeWbVZ4OcGW1TUf53At0njHw5SMdA3tmMg==", + "version": "13.15.35", + "resolved": "https://registry.npmjs.org/validator/-/validator-13.15.35.tgz", + "integrity": "sha512-TQ5pAGhd5whStmqWvYF4OjQROlmv9SMFVt37qoCBdqRffuuklWYQlCNnEs2ZaIBD1kZRNnikiZOS1eqgkar0iw==", + "license": "MIT", "peer": true, "engines": { "node": ">= 0.10" @@ -27016,6 +27238,7 @@ "version": "3.3.3", "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz", "integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==", + "license": "MIT", "engines": { "node": ">= 8" } @@ -27029,6 +27252,7 @@ "version": "1.0.35", "resolved": "https://registry.npmjs.org/websocket/-/websocket-1.0.35.tgz", "integrity": "sha512-/REy6amwPZl44DDzvRCkaI1q1bIiQB0mEFQLUrhz3z2EK91cp3n72rAjUlrTP0zV22HJIUOVHQGPxhFRjxjt+Q==", + "license": "Apache-2.0", "dependencies": { "bufferutil": "^4.0.1", "debug": "^2.2.0", @@ -27045,6 +27269,7 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -27052,12 +27277,14 @@ "node_modules/websocket/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" }, "node_modules/whatwg-mimetype": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", + "license": "MIT", "engines": { "node": ">=12" } @@ -27104,6 +27331,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", + "license": "MIT", "dependencies": { "is-map": "^2.0.3", "is-set": "^2.0.3", @@ -27273,6 +27501,7 @@ "version": "1.0.15", "resolved": "https://registry.npmjs.org/xss/-/xss-1.0.15.tgz", "integrity": "sha512-FVdlVVC67WOIPvfOwhoMETV72f6GbW7aOabBC3WxN/oUdoEMDyLz4OgRv5/gck2ZeNqEQu+Tb0kloovXOfpYVg==", + "license": "MIT", "dependencies": { "commander": "^2.20.3", "cssfilter": "0.0.10" @@ -27287,7 +27516,8 @@ "node_modules/xss/node_modules/commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "license": "MIT" }, "node_modules/xtend": { "version": "4.0.2", @@ -27309,6 +27539,8 @@ "version": "0.0.6", "resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz", "integrity": "sha512-MvQa//+KcZCUkBTIC9blM+CU9J2GzuTytsOUwf2lidtvkx/6gnEp1QvJv34t9vdjhFmha/mUiNDbN0D0mJWdug==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "license": "MIT", "engines": { "node": ">=0.10.32" } diff --git a/package.json b/package.json index c000692..16337ec 100644 --- a/package.json +++ b/package.json @@ -36,12 +36,12 @@ "@cartesi/rollups-v2": "npm:@cartesi/rollups@2.1.1", "@subsquid/evm-abi": "^0.3.1", "@subsquid/evm-codec": "^0.3.0", - "@subsquid/evm-processor": "^1.4.0", + "@subsquid/evm-processor": "^1.30.1", "@subsquid/file-store": "^2.0.0", - "@subsquid/graphql-server": "^4.2.0", - "@subsquid/logger": "^1.3.0", - "@subsquid/typeorm-migration": "^1.2.0", - "@subsquid/typeorm-store": "^1.2.0", + "@subsquid/graphql-server": "^4.12.0", + "@subsquid/logger": "^1.6.0", + "@subsquid/typeorm-migration": "^1.3.1", + "@subsquid/typeorm-store": "^1.9.1", "abitype": "^1.0.6", "dotenv": "^16.1.4", "ethers": "^6.5.1", @@ -55,8 +55,8 @@ }, "devDependencies": { "@subsquid/cli": "latest", - "@subsquid/evm-typegen": "^4.3.0", - "@subsquid/typeorm-codegen": "^2.0.2", + "@subsquid/evm-typegen": "^4.6.0", + "@subsquid/typeorm-codegen": "^2.2.0", "@types/node": "^22.1.0", "@usecannon/cli": "^2.21.5", "@vitest/coverage-v8": "^2", diff --git a/src/config.ts b/src/config.ts index a84c448..bf9d35a 100644 --- a/src/config.ts +++ b/src/config.ts @@ -29,16 +29,16 @@ import { optimismSepolia, sepolia, } from 'viem/chains'; +import { contracts as MainnetContracts } from './deployments/1/contracts.json'; +import { contracts as OptimismContracts } from './deployments/10/contracts.json'; import { contracts as SepoliaContracts } from './deployments/11155111/contracts.json'; import { contracts as OptSepoliaContracts } from './deployments/11155420/contracts.json'; import { contracts as CannonContracts } from './deployments/13370/contracts.json'; +import { contracts as ArbitrumContracts } from './deployments/42161/contracts.json'; import { contracts as ArbSepoliaContracts } from './deployments/421614/contracts.json'; -import { contracts as BaseSepoliaContracts } from './deployments/84532/contracts.json'; -import { contracts as MainnetContracts } from './deployments/1/contracts.json'; -import { contracts as OptimismContracts } from './deployments/10/contracts.json'; import { contracts as BaseContracts } from './deployments/8453/contracts.json'; -import { contracts as ArbitrumContracts } from './deployments/42161/contracts.json'; -import { archiveNodes } from './gateways'; +import { contracts as BaseSepoliaContracts } from './deployments/84532/contracts.json'; +import { getArchiveGateway } from './gateways'; import { parseIntOr, smallerOf } from './utils'; // addresses from deployment/13370. (Probably) the addresses will be the same on all chains @@ -110,7 +110,7 @@ export const getConfig = (chainId: number): ProcessorConfig => { case mainnet.id: return { dataSource: { - archive: archiveNodes.mainnet, + archive: getArchiveGateway('mainnet'), rpcEndpoint: { url: process.env[RPC_URL] ?? 'https://rpc.ankr.com/eth', rateLimit: rateLimit, @@ -135,7 +135,7 @@ export const getConfig = (chainId: number): ProcessorConfig => { case sepolia.id: return { dataSource: { - archive: archiveNodes.sepolia, + archive: getArchiveGateway('sepolia'), rpcEndpoint: { url: process.env[RPC_URL] ?? @@ -162,7 +162,7 @@ export const getConfig = (chainId: number): ProcessorConfig => { case optimism.id: return { dataSource: { - archive: archiveNodes.optimism, + archive: getArchiveGateway('optimism'), rpcEndpoint: { url: process.env[RPC_URL] ?? @@ -189,7 +189,7 @@ export const getConfig = (chainId: number): ProcessorConfig => { case optimismSepolia.id: //Optimism-Sepolia return { dataSource: { - archive: archiveNodes.optimismSepolia, + archive: getArchiveGateway('optimismSepolia'), rpcEndpoint: { url: process.env[RPC_URL] ?? @@ -216,7 +216,7 @@ export const getConfig = (chainId: number): ProcessorConfig => { case base.id: return { dataSource: { - archive: archiveNodes.base, + archive: getArchiveGateway('base'), rpcEndpoint: { url: process.env[RPC_URL] ?? @@ -242,7 +242,7 @@ export const getConfig = (chainId: number): ProcessorConfig => { case baseSepolia.id: return { dataSource: { - archive: archiveNodes.baseSepolia, + archive: getArchiveGateway('baseSepolia'), rpcEndpoint: { url: process.env[RPC_URL] ?? @@ -269,7 +269,7 @@ export const getConfig = (chainId: number): ProcessorConfig => { case arbitrum.id: return { dataSource: { - archive: archiveNodes.arbitrum, + archive: getArchiveGateway('arbitrum'), rpcEndpoint: { url: process.env[RPC_URL] ?? @@ -296,7 +296,7 @@ export const getConfig = (chainId: number): ProcessorConfig => { case arbitrumSepolia.id: return { dataSource: { - archive: archiveNodes.arbitrumSepolia, + archive: getArchiveGateway('arbitrumSepolia'), rpcEndpoint: { url: process.env[RPC_URL] ?? diff --git a/src/gateways.ts b/src/gateways.ts index 3c96c56..938deb8 100644 --- a/src/gateways.ts +++ b/src/gateways.ts @@ -1,3 +1,5 @@ +import { GatewaySettings } from '@subsquid/evm-processor'; + /** * Archive nodes raw gateway URLs more info {@link https://docs.subsquid.io/glossary/#archive-registry} * @@ -15,3 +17,34 @@ export const archiveNodes = { arbitrum: 'https://v2.archive.subsquid.io/network/arbitrum-one', arbitrumSepolia: 'https://v2.archive.subsquid.io/network/arbitrum-sepolia', } as const; + +type SupportedGateways = keyof typeof archiveNodes; + +/** + * Get the archive gateway settings for a specific network. + * @param gateway The network for which to get the archive gateway settings. + * @returns The gateway settings including the URL and configured API key (required). + */ +export const getArchiveGateway = ( + gateway: SupportedGateways, +): GatewaySettings => { + const archiveGatewayApiKey = process.env.ARCHIVE_GATEWAY_API_KEY; + if (!archiveGatewayApiKey) { + throw new Error( + 'Required ARCHIVE_GATEWAY_API_KEY environment variable is not set.', + ); + } + + const archiveUrl = archiveNodes[gateway]; + + if (!archiveUrl) { + throw new Error( + `Unsupported gateway: ${gateway}.\nSupported archive gateways: ${Object.keys(archiveNodes).join(', ')}`, + ); + } + + return { + url: archiveUrl, + apiKey: archiveGatewayApiKey, + }; +}; diff --git a/tests/gateways.test.ts b/tests/gateways.test.ts index 8095d7d..6b10b3b 100644 --- a/tests/gateways.test.ts +++ b/tests/gateways.test.ts @@ -1,5 +1,6 @@ -import { describe, expect, it } from 'vitest'; -import { archiveNodes } from '../src/gateways'; +import { afterEach } from 'node:test'; +import { describe, expect, it, vi } from 'vitest'; +import { archiveNodes, getArchiveGateway } from '../src/gateways'; describe('Gateways (Squid Archive Nodes)', () => { it('should have a list of all supported chains by name', () => { @@ -44,4 +45,60 @@ describe('Gateways (Squid Archive Nodes)', () => { 'https://v2.archive.subsquid.io/network/arbitrum-sepolia', ); }); + + describe('getArchiveGateway', () => { + afterEach(() => { + vi.unstubAllEnvs(); + }); + + it('should throw an error if the ARCHIVE_GATEWAY_API_KEY environment variable is not set', () => { + const originalEnv = process.env.ARCHIVE_GATEWAY_API_KEY; + delete process.env.ARCHIVE_GATEWAY_API_KEY; + + try { + getArchiveGateway('mainnet'); + throw new Error('Expected getArchiveGateway to throw an error'); + } catch (error) { + expect((error as Error).message).toEqual( + 'Required ARCHIVE_GATEWAY_API_KEY environment variable is not set.', + ); + } finally { + process.env.ARCHIVE_GATEWAY_API_KEY = originalEnv; + } + }); + + it('should return the correct gateway settings for a supported network', () => { + const apiKey = 'test-api-key'; + vi.stubEnv('ARCHIVE_GATEWAY_API_KEY', apiKey); + + Object.entries(archiveNodes).forEach(([network, url]) => { + const gatewaySettings = getArchiveGateway( + network as keyof typeof archiveNodes, + ); + expect(gatewaySettings).toEqual({ + url, + apiKey, + }); + }); + }); + + describe('Runtime errors', () => { + it('should throw an error if the archive requested is not supported', () => { + const apiKey = 'test-api-key'; + vi.stubEnv('ARCHIVE_GATEWAY_API_KEY', apiKey); + + try { + // @ts-expect-error: Testing unsupported network + getArchiveGateway('lemonade'); + throw new Error( + 'Expected getArchiveGateway to throw an error', + ); + } catch (error) { + expect((error as Error).message).toEqual( + `Unsupported gateway: lemonade.\nSupported archive gateways: ${Object.keys(archiveNodes).join(', ')}`, + ); + } + }); + }); + }); }); diff --git a/tests/processor.test.ts b/tests/processor.test.ts index 447b049..cfa28a3 100644 --- a/tests/processor.test.ts +++ b/tests/processor.test.ts @@ -1,6 +1,14 @@ -import { afterEach } from 'node:test'; -import { MockInstance, beforeEach, describe, expect, test, vi } from 'vitest'; +import { + MockInstance, + afterEach, + beforeEach, + describe, + expect, + test, + vi, +} from 'vitest'; import { CartesiDAppFactoryAddress, RollupsAddressBook } from '../src/config'; +import { getArchiveGateway } from '../src/gateways'; import { createProcessor } from '../src/processor'; import { loadApplications } from '../src/utils'; @@ -34,10 +42,12 @@ const base = 8453; const baseSepolia = 84532; const arbitrum = 42161; const arbitrumSepolia = 421614; +const archiveApiKeyValue = 'random-key-value'; describe('Processor creation', () => { beforeEach(() => { vi.clearAllMocks(); + vi.stubEnv('ARCHIVE_GATEWAY_API_KEY', archiveApiKeyValue); }); afterEach(() => { @@ -59,7 +69,7 @@ describe('Processor creation', () => { const applicationMetadata = loadApplications(base); expect(processor.setGateway).toHaveBeenCalledWith( - 'https://v2.archive.subsquid.io/network/base-mainnet', + getArchiveGateway('base'), ); expect(processor.setRpcEndpoint).toHaveBeenCalledWith({ @@ -128,7 +138,7 @@ describe('Processor creation', () => { const applicationMetadata = loadApplications(baseSepolia); expect(processor.setGateway).toHaveBeenCalledWith( - 'https://v2.archive.subsquid.io/network/base-sepolia', + getArchiveGateway('baseSepolia'), ); expect(processor.setRpcEndpoint).toHaveBeenCalledWith({ @@ -195,7 +205,7 @@ describe('Processor creation', () => { const applicationMetadata = loadApplications(sepolia); expect(processor.setGateway).toHaveBeenCalledWith( - 'https://v2.archive.subsquid.io/network/ethereum-sepolia', + getArchiveGateway('sepolia'), ); expect(processor.setRpcEndpoint).toHaveBeenCalledWith({ @@ -402,7 +412,7 @@ describe('Processor creation', () => { const processor = createProcessor(optimism); expect(processor.setGateway).toHaveBeenCalledWith( - 'https://v2.archive.subsquid.io/network/optimism-mainnet', + getArchiveGateway('optimism'), ); expect(processor.setRpcEndpoint).toHaveBeenCalledWith({ @@ -470,7 +480,7 @@ describe('Processor creation', () => { const processor = createProcessor(optimismSepolia); expect(processor.setGateway).toHaveBeenCalledWith( - 'https://v2.archive.subsquid.io/network/optimism-sepolia', + getArchiveGateway('optimismSepolia'), ); expect(processor.setRpcEndpoint).toHaveBeenCalledWith({ @@ -536,7 +546,7 @@ describe('Processor creation', () => { const processor = createProcessor(arbitrum); expect(processor.setGateway).toHaveBeenCalledWith( - 'https://v2.archive.subsquid.io/network/arbitrum-one', + getArchiveGateway('arbitrum'), ); expect(processor.setRpcEndpoint).toHaveBeenCalledWith({ @@ -602,7 +612,7 @@ describe('Processor creation', () => { const processor = createProcessor(arbitrumSepolia); expect(processor.setGateway).toHaveBeenCalledWith( - 'https://v2.archive.subsquid.io/network/arbitrum-sepolia', + getArchiveGateway('arbitrumSepolia'), ); expect(processor.setRpcEndpoint).toHaveBeenCalledWith({ @@ -669,7 +679,7 @@ describe('Processor creation', () => { const applicationMetadata = loadApplications(mainnet); expect(processor.setGateway).toHaveBeenCalledWith( - 'https://v2.archive.subsquid.io/network/ethereum-mainnet', + getArchiveGateway('mainnet'), ); expect(processor.setRpcEndpoint).toHaveBeenCalledWith({ @@ -753,7 +763,7 @@ describe('Processor creation', () => { const processor = createProcessor(sepolia); expect(processor.setGateway).toHaveBeenCalledWith( - 'https://v2.archive.subsquid.io/network/ethereum-sepolia', + getArchiveGateway('sepolia'), ); expect(processor.setRpcEndpoint).toHaveBeenCalledWith({ @@ -768,7 +778,7 @@ describe('Processor creation', () => { const processor = createProcessor(mainnet); expect(processor.setGateway).toHaveBeenCalledWith( - 'https://v2.archive.subsquid.io/network/ethereum-mainnet', + getArchiveGateway('mainnet'), ); expect(processor.setRpcEndpoint).toHaveBeenCalledWith({ @@ -805,7 +815,7 @@ describe('Processor creation', () => { const processor = createProcessor(base); expect(processor.setGateway).toHaveBeenCalledWith( - 'https://v2.archive.subsquid.io/network/base-mainnet', + getArchiveGateway('base'), ); expect(processor.setRpcEndpoint).toHaveBeenCalledWith({ @@ -820,7 +830,7 @@ describe('Processor creation', () => { const processor = createProcessor(baseSepolia); expect(processor.setGateway).toHaveBeenCalledWith( - 'https://v2.archive.subsquid.io/network/base-sepolia', + getArchiveGateway('baseSepolia'), ); expect(processor.setRpcEndpoint).toHaveBeenCalledWith({ @@ -835,7 +845,7 @@ describe('Processor creation', () => { const processor = createProcessor(optimism); expect(processor.setGateway).toHaveBeenCalledWith( - 'https://v2.archive.subsquid.io/network/optimism-mainnet', + getArchiveGateway('optimism'), ); expect(processor.setRpcEndpoint).toHaveBeenCalledWith({ @@ -850,7 +860,7 @@ describe('Processor creation', () => { const processor = createProcessor(optimismSepolia); expect(processor.setGateway).toHaveBeenCalledWith( - 'https://v2.archive.subsquid.io/network/optimism-sepolia', + getArchiveGateway('optimismSepolia'), ); expect(processor.setRpcEndpoint).toHaveBeenCalledWith({ @@ -865,7 +875,7 @@ describe('Processor creation', () => { const processor = createProcessor(arbitrum); expect(processor.setGateway).toHaveBeenCalledWith( - 'https://v2.archive.subsquid.io/network/arbitrum-one', + getArchiveGateway('arbitrum'), ); expect(processor.setRpcEndpoint).toHaveBeenCalledWith({ @@ -880,7 +890,7 @@ describe('Processor creation', () => { const processor = createProcessor(arbitrumSepolia); expect(processor.setGateway).toHaveBeenCalledWith( - 'https://v2.archive.subsquid.io/network/arbitrum-sepolia', + getArchiveGateway('arbitrumSepolia'), ); expect(processor.setRpcEndpoint).toHaveBeenCalledWith({