From 058719898a7994959af7ff010d84194438390057 Mon Sep 17 00:00:00 2001 From: Alexey Safonov Date: Mon, 7 Oct 2024 14:13:40 +0530 Subject: [PATCH] tron native support (#216) * implement tron-dump * implement tron-ingest * update interfaces * describe tron-dump target in Dockerfile * make tron-processor compilable * try to index tron usdt * decode tron log data * describe all entities fields * extract tron-data-raw from tron-dumper * make tron-dump dependant on tron-data-raw * make tron-ingest to use tron-data-raw * extract interfaces into tron-data package * refactor tron-processor * configure dockerfile for tron-ingest * add prometheus metrics to tron-dump * add ts as a dependency * make transaction result optional * skip transaction info for a genesis block * update types * prepare tron stream * set finality confirmation to 0 * adjust tron-usdt test project * clean up artifacts * validate archive data * add changes * delete chain-status-service from Dockerfile * review adjustments * validate data from http api * update cancel_unfreezeV2_amount definition * handle empty block responses * fixes * rewrite tron-stream to tron-processor * adjust tron-usdt example * change data chunk naming pattern * add missing dependency to substrate-ingest * changes --- Dockerfile | 18 + .../tron_2024-10-04-16-35.json | 10 + .../tron-data/tron_2024-09-25-13-23.json | 10 + .../tron-dump/tron_2024-09-25-13-23.json | 10 + .../tron-ingest/tron_2024-09-25-13-23.json | 10 + .../tron_2024-09-25-13-23.json | 10 + .../tron-processor/tron_2024-10-04-16-35.json | 10 + .../tron_2024-10-04-16-11.json | 10 + .../tron_2024-10-04-16-11.json | 10 + common/config/rush/deploy.json | 4 +- common/config/rush/pnpm-lock.yaml | 3709 +++++++++-------- rush.json | 35 + substrate/substrate-ingest/package.json | 3 +- test/tron-usdt/.env | 2 + test/tron-usdt/Makefile | 33 + .../db/migrations/1700141427199-Data.js | 11 + test/tron-usdt/docker-compose.yml | 11 + test/tron-usdt/erc20.json | 731 ++++ test/tron-usdt/package.json | 25 + test/tron-usdt/schema.graphql | 9 + test/tron-usdt/src/abi/erc20.ts | 244 ++ test/tron-usdt/src/main.ts | 59 + test/tron-usdt/src/model/generated/index.ts | 1 + test/tron-usdt/src/model/generated/marshal.ts | 179 + .../src/model/generated/transfer.model.ts | 30 + test/tron-usdt/src/model/index.ts | 1 + test/tron-usdt/tsconfig.json | 20 + tron/tron-data/README.md | 3 + tron/tron-data/package.json | 30 + tron/tron-data/src/client.ts | 12 + tron/tron-data/src/data-source.ts | 219 + tron/tron-data/src/data.ts | 171 + tron/tron-data/src/http.ts | 61 + tron/tron-data/src/index.ts | 4 + tron/tron-data/tsconfig.json | 21 + tron/tron-dump/README.md | 3 + tron/tron-dump/bin/run.js | 3 + tron/tron-dump/package.json | 29 + tron/tron-dump/src/dumper.ts | 64 + tron/tron-dump/src/main.ts | 3 + tron/tron-dump/tsconfig.json | 21 + tron/tron-ingest/README.md | 3 + tron/tron-ingest/bin/run.js | 3 + tron/tron-ingest/package.json | 32 + tron/tron-ingest/src/ingest.ts | 32 + tron/tron-ingest/src/main.ts | 3 + tron/tron-ingest/tsconfig.json | 20 + tron/tron-normalization/package.json | 25 + tron/tron-normalization/src/data.ts | 84 + tron/tron-normalization/src/index.ts | 2 + tron/tron-normalization/src/mapping.ts | 166 + tron/tron-normalization/tsconfig.json | 21 + tron/tron-processor/README.md | 3 + tron/tron-processor/package.json | 34 + tron/tron-processor/src/data/data-partial.ts | 22 + tron/tron-processor/src/data/data-request.ts | 123 + tron/tron-processor/src/data/fields.ts | 34 + tron/tron-processor/src/data/model.ts | 109 + tron/tron-processor/src/data/util.ts | 42 + .../tron-processor/src/gateway/data-schema.ts | 118 + tron/tron-processor/src/gateway/source.ts | 76 + tron/tron-processor/src/http/filter.ts | 194 + tron/tron-processor/src/http/source.ts | 81 + tron/tron-processor/src/index.ts | 2 + tron/tron-processor/src/mapping/entities.ts | 189 + tron/tron-processor/src/mapping/relations.ts | 32 + tron/tron-processor/src/processor.ts | 366 ++ tron/tron-processor/tsconfig.json | 21 + util/util-internal-archive-layout/src/util.ts | 6 +- util/util-internal-dump-cli/src/dumper.ts | 20 +- 70 files changed, 5964 insertions(+), 1748 deletions(-) create mode 100644 common/changes/@subsquid/substrate-ingest/tron_2024-10-04-16-35.json create mode 100644 common/changes/@subsquid/tron-data/tron_2024-09-25-13-23.json create mode 100644 common/changes/@subsquid/tron-dump/tron_2024-09-25-13-23.json create mode 100644 common/changes/@subsquid/tron-ingest/tron_2024-09-25-13-23.json create mode 100644 common/changes/@subsquid/tron-normalization/tron_2024-09-25-13-23.json create mode 100644 common/changes/@subsquid/tron-processor/tron_2024-10-04-16-35.json create mode 100644 common/changes/@subsquid/util-internal-archive-layout/tron_2024-10-04-16-11.json create mode 100644 common/changes/@subsquid/util-internal-dump-cli/tron_2024-10-04-16-11.json create mode 100644 test/tron-usdt/.env create mode 100644 test/tron-usdt/Makefile create mode 100644 test/tron-usdt/db/migrations/1700141427199-Data.js create mode 100644 test/tron-usdt/docker-compose.yml create mode 100644 test/tron-usdt/erc20.json create mode 100644 test/tron-usdt/package.json create mode 100644 test/tron-usdt/schema.graphql create mode 100644 test/tron-usdt/src/abi/erc20.ts create mode 100644 test/tron-usdt/src/main.ts create mode 100644 test/tron-usdt/src/model/generated/index.ts create mode 100644 test/tron-usdt/src/model/generated/marshal.ts create mode 100644 test/tron-usdt/src/model/generated/transfer.model.ts create mode 100644 test/tron-usdt/src/model/index.ts create mode 100644 test/tron-usdt/tsconfig.json create mode 100644 tron/tron-data/README.md create mode 100644 tron/tron-data/package.json create mode 100644 tron/tron-data/src/client.ts create mode 100644 tron/tron-data/src/data-source.ts create mode 100644 tron/tron-data/src/data.ts create mode 100644 tron/tron-data/src/http.ts create mode 100644 tron/tron-data/src/index.ts create mode 100644 tron/tron-data/tsconfig.json create mode 100644 tron/tron-dump/README.md create mode 100755 tron/tron-dump/bin/run.js create mode 100644 tron/tron-dump/package.json create mode 100644 tron/tron-dump/src/dumper.ts create mode 100644 tron/tron-dump/src/main.ts create mode 100644 tron/tron-dump/tsconfig.json create mode 100644 tron/tron-ingest/README.md create mode 100755 tron/tron-ingest/bin/run.js create mode 100644 tron/tron-ingest/package.json create mode 100644 tron/tron-ingest/src/ingest.ts create mode 100644 tron/tron-ingest/src/main.ts create mode 100644 tron/tron-ingest/tsconfig.json create mode 100644 tron/tron-normalization/package.json create mode 100644 tron/tron-normalization/src/data.ts create mode 100644 tron/tron-normalization/src/index.ts create mode 100644 tron/tron-normalization/src/mapping.ts create mode 100644 tron/tron-normalization/tsconfig.json create mode 100644 tron/tron-processor/README.md create mode 100644 tron/tron-processor/package.json create mode 100644 tron/tron-processor/src/data/data-partial.ts create mode 100644 tron/tron-processor/src/data/data-request.ts create mode 100644 tron/tron-processor/src/data/fields.ts create mode 100644 tron/tron-processor/src/data/model.ts create mode 100644 tron/tron-processor/src/data/util.ts create mode 100644 tron/tron-processor/src/gateway/data-schema.ts create mode 100644 tron/tron-processor/src/gateway/source.ts create mode 100644 tron/tron-processor/src/http/filter.ts create mode 100644 tron/tron-processor/src/http/source.ts create mode 100644 tron/tron-processor/src/index.ts create mode 100644 tron/tron-processor/src/mapping/entities.ts create mode 100644 tron/tron-processor/src/mapping/relations.ts create mode 100644 tron/tron-processor/src/processor.ts create mode 100644 tron/tron-processor/tsconfig.json diff --git a/Dockerfile b/Dockerfile index 86498fef5..1e662778d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -56,6 +56,24 @@ COPY --from=substrate-metadata-service-builder /squid/common/deploy /squid ENTRYPOINT ["node", "/squid/substrate/substrate-metadata-service/bin/run.js"] +FROM builder AS tron-dump-builder +RUN node common/scripts/install-run-rush.js deploy --project @subsquid/tron-dump + + +FROM node AS tron-dump +COPY --from=tron-dump-builder /squid/common/deploy /squid +ENTRYPOINT ["node", "/squid/tron/tron-dump/bin/run.js"] + + +FROM builder AS tron-ingest-builder +RUN node common/scripts/install-run-rush.js deploy --project @subsquid/tron-ingest + + +FROM node AS tron-ingest +COPY --from=tron-ingest-builder /squid/common/deploy /squid +ENTRYPOINT ["node", "/squid/tron/tron-ingest/bin/run.js"] + + FROM builder AS fuel-dump-builder RUN node common/scripts/install-run-rush.js deploy --project @subsquid/fuel-dump diff --git a/common/changes/@subsquid/substrate-ingest/tron_2024-10-04-16-35.json b/common/changes/@subsquid/substrate-ingest/tron_2024-10-04-16-35.json new file mode 100644 index 000000000..b696d8549 --- /dev/null +++ b/common/changes/@subsquid/substrate-ingest/tron_2024-10-04-16-35.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@subsquid/substrate-ingest", + "comment": "add typescript to dev dependencies", + "type": "patch" + } + ], + "packageName": "@subsquid/substrate-ingest" +} \ No newline at end of file diff --git a/common/changes/@subsquid/tron-data/tron_2024-09-25-13-23.json b/common/changes/@subsquid/tron-data/tron_2024-09-25-13-23.json new file mode 100644 index 000000000..9c72149f0 --- /dev/null +++ b/common/changes/@subsquid/tron-data/tron_2024-09-25-13-23.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@subsquid/tron-data", + "comment": "", + "type": "none" + } + ], + "packageName": "@subsquid/tron-data" +} \ No newline at end of file diff --git a/common/changes/@subsquid/tron-dump/tron_2024-09-25-13-23.json b/common/changes/@subsquid/tron-dump/tron_2024-09-25-13-23.json new file mode 100644 index 000000000..eaacc7f0b --- /dev/null +++ b/common/changes/@subsquid/tron-dump/tron_2024-09-25-13-23.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@subsquid/tron-dump", + "comment": "", + "type": "none" + } + ], + "packageName": "@subsquid/tron-dump" +} \ No newline at end of file diff --git a/common/changes/@subsquid/tron-ingest/tron_2024-09-25-13-23.json b/common/changes/@subsquid/tron-ingest/tron_2024-09-25-13-23.json new file mode 100644 index 000000000..7807c4702 --- /dev/null +++ b/common/changes/@subsquid/tron-ingest/tron_2024-09-25-13-23.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@subsquid/tron-ingest", + "comment": "", + "type": "none" + } + ], + "packageName": "@subsquid/tron-ingest" +} \ No newline at end of file diff --git a/common/changes/@subsquid/tron-normalization/tron_2024-09-25-13-23.json b/common/changes/@subsquid/tron-normalization/tron_2024-09-25-13-23.json new file mode 100644 index 000000000..74bc511c0 --- /dev/null +++ b/common/changes/@subsquid/tron-normalization/tron_2024-09-25-13-23.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@subsquid/tron-normalization", + "comment": "", + "type": "none" + } + ], + "packageName": "@subsquid/tron-normalization" +} \ No newline at end of file diff --git a/common/changes/@subsquid/tron-processor/tron_2024-10-04-16-35.json b/common/changes/@subsquid/tron-processor/tron_2024-10-04-16-35.json new file mode 100644 index 000000000..03b9a3042 --- /dev/null +++ b/common/changes/@subsquid/tron-processor/tron_2024-10-04-16-35.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@subsquid/tron-processor", + "comment": "", + "type": "none" + } + ], + "packageName": "@subsquid/tron-processor" +} \ No newline at end of file diff --git a/common/changes/@subsquid/util-internal-archive-layout/tron_2024-10-04-16-11.json b/common/changes/@subsquid/util-internal-archive-layout/tron_2024-10-04-16-11.json new file mode 100644 index 000000000..b7e871a9e --- /dev/null +++ b/common/changes/@subsquid/util-internal-archive-layout/tron_2024-10-04-16-11.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@subsquid/util-internal-archive-layout", + "comment": "make getShortHash use last bytes", + "type": "major" + } + ], + "packageName": "@subsquid/util-internal-archive-layout" +} \ No newline at end of file diff --git a/common/changes/@subsquid/util-internal-dump-cli/tron_2024-10-04-16-11.json b/common/changes/@subsquid/util-internal-dump-cli/tron_2024-10-04-16-11.json new file mode 100644 index 000000000..8bd5e9c85 --- /dev/null +++ b/common/changes/@subsquid/util-internal-dump-cli/tron_2024-10-04-16-11.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@subsquid/util-internal-dump-cli", + "comment": "change data chunk naming pattern", + "type": "major" + } + ], + "packageName": "@subsquid/util-internal-dump-cli" +} \ No newline at end of file diff --git a/common/config/rush/deploy.json b/common/config/rush/deploy.json index bf25df333..15bd5af2b 100644 --- a/common/config/rush/deploy.json +++ b/common/config/rush/deploy.json @@ -24,7 +24,9 @@ "@subsquid/solana-ingest", "@subsquid/substrate-dump", "@subsquid/substrate-ingest", - "@subsquid/substrate-metadata-service" + "@subsquid/substrate-metadata-service", + "@subsquid/tron-dump", + "@subsquid/tron-ingest" ], /** diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index 59b150b58..d03bc846f 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -13,25 +13,25 @@ dependencies: version: 1.0.2 '@aws-sdk/client-s3': specifier: ^3.462.0 - version: 3.554.0 + version: 3.462.0 '@coral-xyz/anchor': specifier: ^0.29.0 version: 0.29.0 '@coral-xyz/borsh': specifier: ^0.29.0 - version: 0.29.0(@solana/web3.js@1.91.4) + version: 0.29.0(@solana/web3.js@1.95.3) '@exodus/schemasafe': specifier: ^1.3.0 version: 1.3.0 '@graphql-tools/merge': specifier: ^9.0.1 - version: 9.0.3(graphql@15.8.0) + version: 9.0.1(graphql@15.8.0) '@graphql-tools/schema': specifier: ^10.0.2 - version: 10.0.3(graphql@15.8.0) + version: 10.0.2(graphql@15.8.0) '@graphql-tools/utils': specifier: ^10.0.11 - version: 10.1.2(graphql@15.8.0) + version: 10.0.11(graphql@15.8.0) '@keyv/redis': specifier: ~2.5.8 version: 2.5.8(supports-color@8.1.1) @@ -215,15 +215,33 @@ dependencies: '@rush-temp/substrate-typegen': specifier: file:./projects/substrate-typegen.tgz version: file:projects/substrate-typegen.tgz + '@rush-temp/tron-data': + specifier: file:./projects/tron-data.tgz + version: file:projects/tron-data.tgz + '@rush-temp/tron-dump': + specifier: file:./projects/tron-dump.tgz + version: file:projects/tron-dump.tgz + '@rush-temp/tron-ingest': + specifier: file:./projects/tron-ingest.tgz + version: file:projects/tron-ingest.tgz + '@rush-temp/tron-normalization': + specifier: file:./projects/tron-normalization.tgz + version: file:projects/tron-normalization.tgz + '@rush-temp/tron-processor': + specifier: file:./projects/tron-processor.tgz + version: file:projects/tron-processor.tgz + '@rush-temp/tron-usdt': + specifier: file:./projects/tron-usdt.tgz + version: file:projects/tron-usdt.tgz(supports-color@8.1.1)(ts-node@10.9.2) '@rush-temp/typeorm-codegen': specifier: file:./projects/typeorm-codegen.tgz version: file:projects/typeorm-codegen.tgz '@rush-temp/typeorm-config': specifier: file:./projects/typeorm-config.tgz - version: file:projects/typeorm-config.tgz(pg@8.11.5)(supports-color@8.1.1)(ts-node@10.9.2) + version: file:projects/typeorm-config.tgz(pg@8.11.3)(supports-color@8.1.1)(ts-node@10.9.2) '@rush-temp/typeorm-migration': specifier: file:./projects/typeorm-migration.tgz - version: file:projects/typeorm-migration.tgz(pg@8.11.5)(supports-color@8.1.1)(ts-node@10.9.2) + version: file:projects/typeorm-migration.tgz(pg@8.11.3)(supports-color@8.1.1)(ts-node@10.9.2) '@rush-temp/typeorm-store': specifier: file:./projects/typeorm-store.tgz version: file:projects/typeorm-store.tgz(supports-color@8.1.1)(ts-node@10.9.2) @@ -313,7 +331,7 @@ dependencies: version: file:projects/workspace.tgz '@solana/addresses': specifier: ^2.0.0-preview.3 - version: 2.0.0-preview.3.20240427064403.7151be60df62854dad6f0c4b543163a426146a22(typescript@5.3.3) + version: 2.0.0-rc.1(typescript@5.3.2) '@solanafm/explorer-kit-idls': specifier: ^1.1.3 version: 1.1.3 @@ -337,13 +355,13 @@ dependencies: version: 2.1.3 '@types/node': specifier: ^18.18.14 - version: 18.19.31 + version: 18.19.0 '@types/pg': specifier: ^8.10.9 - version: 8.11.5 + version: 8.10.9 '@types/semver': specifier: ^7.5.6 - version: 7.5.8 + version: 7.5.6 '@types/stoppable': specifier: ^1.1.3 version: 1.1.3 @@ -361,7 +379,7 @@ dependencies: version: 0.2.4 abitype: specifier: ^1.0.4 - version: 1.0.4(typescript@5.3.3) + version: 1.0.6(typescript@5.3.2) ajv: specifier: ^8.12.0 version: 8.12.0 @@ -370,7 +388,7 @@ dependencies: version: 3.13.0(graphql@15.8.0) apollo-server-express: specifier: ^3.13.0 - version: 3.13.0(express@4.19.2)(graphql@15.8.0) + version: 3.13.0(express@4.18.2)(graphql@15.8.0) apollo-server-plugin-response-cache: specifier: ~3.7.1 version: 3.7.1(graphql@15.8.0) @@ -394,22 +412,22 @@ dependencies: version: 2.2.3 dotenv: specifier: ^16.3.1 - version: 16.4.5 + version: 16.3.1 ethers: specifier: ^6.9.0 - version: 6.11.1 + version: 6.9.0 expect: specifier: ^29.7.0 version: 29.7.0 express: specifier: ^4.18.2 - version: 4.19.2 + version: 4.18.2 fast-check: specifier: ^3.14.0 - version: 3.17.1 + version: 3.14.0 glob: specifier: ^10.3.10 - version: 10.3.12 + version: 10.3.10 graphql: specifier: ^15.8.0 version: 15.8.0 @@ -418,13 +436,13 @@ dependencies: version: 4.14.0(graphql@15.8.0)(supports-color@8.1.1) graphql-ws: specifier: ^5.14.2 - version: 5.16.0(graphql@15.8.0) + version: 5.14.2(graphql@15.8.0) inflected: specifier: ^2.1.0 version: 2.1.0 jsonc-parser: specifier: ^3.2.0 - version: 3.2.1 + version: 3.2.0 keccak256: specifier: ^1.0.6 version: 1.0.6 @@ -439,13 +457,13 @@ dependencies: version: 3.3.2 pg: specifier: ^8.11.3 - version: 8.11.5 + version: 8.11.3 prom-client: specifier: ^14.2.0 version: 14.2.0 semver: specifier: ^7.5.4 - version: 7.6.0 + version: 7.5.4 stoppable: specifier: ^1.1.0 version: 1.1.0 @@ -454,31 +472,28 @@ dependencies: version: 8.1.1 ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@18.19.31)(typescript@5.3.3) + version: 10.9.2(@types/node@18.19.0)(typescript@5.3.2) type-fest: specifier: ^2.19.0 version: 2.19.0 typeorm: specifier: ^0.3.17 - version: 0.3.20(pg@8.11.5)(supports-color@8.1.1)(ts-node@10.9.2) - typescript: - specifier: ~5.3.2 - version: 5.3.3 + version: 0.3.17(pg@8.11.3)(supports-color@8.1.1)(ts-node@10.9.2) upath: specifier: ^2.0.1 version: 2.0.1 viem: specifier: ^2.8.14 - version: 2.9.16(typescript@5.3.3) + version: 2.21.10(typescript@5.3.2) vitest: specifier: ^1.4.0 - version: 1.5.0(@types/node@18.19.31)(supports-color@8.1.1) + version: 1.6.0(@types/node@18.19.0)(supports-color@8.1.1) websocket: specifier: ^1.0.34 version: 1.0.34 ws: specifier: ^8.14.2 - version: 8.16.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + version: 8.14.2 xxhash-wasm: specifier: ^1.0.2 version: 1.0.2 @@ -492,10 +507,6 @@ packages: resolution: {integrity: sha512-nA9XHtlAkYfJxY7bce8DcN7eKxWWCWkU+1GR9d+U6MbNpfwQp8TI7vqOsBsMcHoT4mBu2kypKoSKnghEzOOq5Q==} dev: false - /@adraffy/ens-normalize@1.10.1: - resolution: {integrity: sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw==} - dev: false - /@apollo/protobufjs@1.2.6: resolution: {integrity: sha512-Wqo1oSHNUj/jxmsVp4iR3I480p6qdqHikn38lKrFhfzcDJ7lwd7Ck7cHRl4JE81tWNArl77xhnG/OkZhxKBYOw==} hasBin: true @@ -633,14 +644,14 @@ packages: /@apollographql/graphql-playground-html@1.6.29: resolution: {integrity: sha512-xCcXpoz52rI4ksJSdOCxeOCn2DLocxwHf9dVT/Q90Pte1LX+LY+91SFtJF3KXVHH8kEin+g1KKCQPKBjZJfWNA==} dependencies: - xss: 1.0.15 + xss: 1.0.14 dev: false /@aws-crypto/crc32@3.0.0: resolution: {integrity: sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA==} dependencies: '@aws-crypto/util': 3.0.0 - '@aws-sdk/types': 3.535.0 + '@aws-sdk/types': 3.460.0 tslib: 1.14.1 dev: false @@ -648,7 +659,7 @@ packages: resolution: {integrity: sha512-ENNPPManmnVJ4BTXlOjAgD7URidbAznURqD0KvfREyc4o20DPYdEldU1f5cQ7Jbj0CJJSPaMIk/9ZshdB3210w==} dependencies: '@aws-crypto/util': 3.0.0 - '@aws-sdk/types': 3.535.0 + '@aws-sdk/types': 3.460.0 tslib: 1.14.1 dev: false @@ -664,8 +675,8 @@ packages: '@aws-crypto/ie11-detection': 3.0.0 '@aws-crypto/supports-web-crypto': 3.0.0 '@aws-crypto/util': 3.0.0 - '@aws-sdk/types': 3.535.0 - '@aws-sdk/util-locate-window': 3.535.0 + '@aws-sdk/types': 3.460.0 + '@aws-sdk/util-locate-window': 3.310.0 '@aws-sdk/util-utf8-browser': 3.259.0 tslib: 1.14.1 dev: false @@ -677,8 +688,8 @@ packages: '@aws-crypto/sha256-js': 3.0.0 '@aws-crypto/supports-web-crypto': 3.0.0 '@aws-crypto/util': 3.0.0 - '@aws-sdk/types': 3.535.0 - '@aws-sdk/util-locate-window': 3.535.0 + '@aws-sdk/types': 3.460.0 + '@aws-sdk/util-locate-window': 3.310.0 '@aws-sdk/util-utf8-browser': 3.259.0 tslib: 1.14.1 dev: false @@ -687,7 +698,7 @@ packages: resolution: {integrity: sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==} dependencies: '@aws-crypto/util': 3.0.0 - '@aws-sdk/types': 3.535.0 + '@aws-sdk/types': 3.460.0 tslib: 1.14.1 dev: false @@ -700,545 +711,502 @@ packages: /@aws-crypto/util@3.0.0: resolution: {integrity: sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w==} dependencies: - '@aws-sdk/types': 3.535.0 + '@aws-sdk/types': 3.460.0 '@aws-sdk/util-utf8-browser': 3.259.0 tslib: 1.14.1 dev: false - /@aws-sdk/client-s3@3.554.0: - resolution: {integrity: sha512-d5TKKtGWhN0vl9QovUFrf3UsM7jgFQkowDPx1O+E/yeQUj1FBDOoRfDCcQOKW/9ghloI6k7f0bBpNxdd+x0oKA==} + /@aws-sdk/client-s3@3.462.0: + resolution: {integrity: sha512-nyBmsS45b5/YI926dtJp6OA8Fx7yItcdK8lqJq5bgfbskyEqycFCXzykog1AkIBETOeUn3Saztw7HCGZKRad0g==} engines: {node: '>=14.0.0'} dependencies: '@aws-crypto/sha1-browser': 3.0.0 '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sts': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) - '@aws-sdk/core': 3.554.0 - '@aws-sdk/credential-provider-node': 3.554.0 - '@aws-sdk/middleware-bucket-endpoint': 3.535.0 - '@aws-sdk/middleware-expect-continue': 3.535.0 - '@aws-sdk/middleware-flexible-checksums': 3.535.0 - '@aws-sdk/middleware-host-header': 3.535.0 - '@aws-sdk/middleware-location-constraint': 3.535.0 - '@aws-sdk/middleware-logger': 3.535.0 - '@aws-sdk/middleware-recursion-detection': 3.535.0 - '@aws-sdk/middleware-sdk-s3': 3.552.0 - '@aws-sdk/middleware-signing': 3.552.0 - '@aws-sdk/middleware-ssec': 3.537.0 - '@aws-sdk/middleware-user-agent': 3.540.0 - '@aws-sdk/region-config-resolver': 3.535.0 - '@aws-sdk/signature-v4-multi-region': 3.552.0 - '@aws-sdk/types': 3.535.0 - '@aws-sdk/util-endpoints': 3.540.0 - '@aws-sdk/util-user-agent-browser': 3.535.0 - '@aws-sdk/util-user-agent-node': 3.535.0 - '@aws-sdk/xml-builder': 3.535.0 - '@smithy/config-resolver': 2.2.0 - '@smithy/core': 1.4.2 - '@smithy/eventstream-serde-browser': 2.2.0 - '@smithy/eventstream-serde-config-resolver': 2.2.0 - '@smithy/eventstream-serde-node': 2.2.0 - '@smithy/fetch-http-handler': 2.5.0 - '@smithy/hash-blob-browser': 2.2.0 - '@smithy/hash-node': 2.2.0 - '@smithy/hash-stream-node': 2.2.0 - '@smithy/invalid-dependency': 2.2.0 - '@smithy/md5-js': 2.2.0 - '@smithy/middleware-content-length': 2.2.0 - '@smithy/middleware-endpoint': 2.5.1 - '@smithy/middleware-retry': 2.3.1 - '@smithy/middleware-serde': 2.3.0 - '@smithy/middleware-stack': 2.2.0 - '@smithy/node-config-provider': 2.3.0 - '@smithy/node-http-handler': 2.5.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/smithy-client': 2.5.1 - '@smithy/types': 2.12.0 - '@smithy/url-parser': 2.2.0 - '@smithy/util-base64': 2.3.0 - '@smithy/util-body-length-browser': 2.2.0 - '@smithy/util-body-length-node': 2.3.0 - '@smithy/util-defaults-mode-browser': 2.2.1 - '@smithy/util-defaults-mode-node': 2.3.1 - '@smithy/util-endpoints': 1.2.0 - '@smithy/util-retry': 2.2.0 - '@smithy/util-stream': 2.2.0 - '@smithy/util-utf8': 2.3.0 - '@smithy/util-waiter': 2.2.0 - tslib: 2.6.2 - transitivePeerDependencies: - - aws-crt - dev: false - - /@aws-sdk/client-sso-oidc@3.554.0(@aws-sdk/credential-provider-node@3.554.0): - resolution: {integrity: sha512-M86rkiRqbZBF5VyfTQ/vttry9VSoQkZ1oCqYF+SAGlXmD0Of8587yRSj2M4rYe0Uj7nRQIfSnhDYp1UzsZeRfQ==} - engines: {node: '>=14.0.0'} - peerDependencies: - '@aws-sdk/credential-provider-node': ^3.554.0 - dependencies: - '@aws-crypto/sha256-browser': 3.0.0 - '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sts': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) - '@aws-sdk/core': 3.554.0 - '@aws-sdk/credential-provider-node': 3.554.0 - '@aws-sdk/middleware-host-header': 3.535.0 - '@aws-sdk/middleware-logger': 3.535.0 - '@aws-sdk/middleware-recursion-detection': 3.535.0 - '@aws-sdk/middleware-user-agent': 3.540.0 - '@aws-sdk/region-config-resolver': 3.535.0 - '@aws-sdk/types': 3.535.0 - '@aws-sdk/util-endpoints': 3.540.0 - '@aws-sdk/util-user-agent-browser': 3.535.0 - '@aws-sdk/util-user-agent-node': 3.535.0 - '@smithy/config-resolver': 2.2.0 - '@smithy/core': 1.4.2 - '@smithy/fetch-http-handler': 2.5.0 - '@smithy/hash-node': 2.2.0 - '@smithy/invalid-dependency': 2.2.0 - '@smithy/middleware-content-length': 2.2.0 - '@smithy/middleware-endpoint': 2.5.1 - '@smithy/middleware-retry': 2.3.1 - '@smithy/middleware-serde': 2.3.0 - '@smithy/middleware-stack': 2.2.0 - '@smithy/node-config-provider': 2.3.0 - '@smithy/node-http-handler': 2.5.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/smithy-client': 2.5.1 - '@smithy/types': 2.12.0 - '@smithy/url-parser': 2.2.0 - '@smithy/util-base64': 2.3.0 - '@smithy/util-body-length-browser': 2.2.0 - '@smithy/util-body-length-node': 2.3.0 - '@smithy/util-defaults-mode-browser': 2.2.1 - '@smithy/util-defaults-mode-node': 2.3.1 - '@smithy/util-endpoints': 1.2.0 - '@smithy/util-middleware': 2.2.0 - '@smithy/util-retry': 2.2.0 - '@smithy/util-utf8': 2.3.0 + '@aws-sdk/client-sts': 3.462.0 + '@aws-sdk/core': 3.451.0 + '@aws-sdk/credential-provider-node': 3.460.0 + '@aws-sdk/middleware-bucket-endpoint': 3.460.0 + '@aws-sdk/middleware-expect-continue': 3.460.0 + '@aws-sdk/middleware-flexible-checksums': 3.461.0 + '@aws-sdk/middleware-host-header': 3.460.0 + '@aws-sdk/middleware-location-constraint': 3.461.0 + '@aws-sdk/middleware-logger': 3.460.0 + '@aws-sdk/middleware-recursion-detection': 3.460.0 + '@aws-sdk/middleware-sdk-s3': 3.461.0 + '@aws-sdk/middleware-signing': 3.461.0 + '@aws-sdk/middleware-ssec': 3.460.0 + '@aws-sdk/middleware-user-agent': 3.460.0 + '@aws-sdk/region-config-resolver': 3.451.0 + '@aws-sdk/signature-v4-multi-region': 3.461.0 + '@aws-sdk/types': 3.460.0 + '@aws-sdk/util-endpoints': 3.460.0 + '@aws-sdk/util-user-agent-browser': 3.460.0 + '@aws-sdk/util-user-agent-node': 3.460.0 + '@aws-sdk/xml-builder': 3.310.0 + '@smithy/config-resolver': 2.0.19 + '@smithy/eventstream-serde-browser': 2.0.14 + '@smithy/eventstream-serde-config-resolver': 2.0.14 + '@smithy/eventstream-serde-node': 2.0.14 + '@smithy/fetch-http-handler': 2.2.7 + '@smithy/hash-blob-browser': 2.0.15 + '@smithy/hash-node': 2.0.16 + '@smithy/hash-stream-node': 2.0.16 + '@smithy/invalid-dependency': 2.0.14 + '@smithy/md5-js': 2.0.16 + '@smithy/middleware-content-length': 2.0.16 + '@smithy/middleware-endpoint': 2.2.1 + '@smithy/middleware-retry': 2.0.21 + '@smithy/middleware-serde': 2.0.14 + '@smithy/middleware-stack': 2.0.8 + '@smithy/node-config-provider': 2.1.6 + '@smithy/node-http-handler': 2.1.10 + '@smithy/protocol-http': 3.0.10 + '@smithy/smithy-client': 2.1.16 + '@smithy/types': 2.6.0 + '@smithy/url-parser': 2.0.14 + '@smithy/util-base64': 2.0.1 + '@smithy/util-body-length-browser': 2.0.0 + '@smithy/util-body-length-node': 2.1.0 + '@smithy/util-defaults-mode-browser': 2.0.20 + '@smithy/util-defaults-mode-node': 2.0.26 + '@smithy/util-endpoints': 1.0.5 + '@smithy/util-retry': 2.0.7 + '@smithy/util-stream': 2.0.21 + '@smithy/util-utf8': 2.0.2 + '@smithy/util-waiter': 2.0.14 + fast-xml-parser: 4.2.5 tslib: 2.6.2 transitivePeerDependencies: - aws-crt dev: false - /@aws-sdk/client-sso@3.554.0: - resolution: {integrity: sha512-yj6CgIxCT3UwMumEO481KH4QvwArkAPzD7Xvwe1QKgJATc9bKNEo/FxV8LfnWIJ7nOtMDxbNxYLMXH/Fs1qGaQ==} + /@aws-sdk/client-sso@3.460.0: + resolution: {integrity: sha512-p5D9C8LKJs5yoBn5cCs2Wqzrp5YP5BYcP774bhGMFEu/LCIUyWzudwN3+/AObSiq8R8SSvBY2zQD4h+k3NjgTQ==} engines: {node: '>=14.0.0'} dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/core': 3.554.0 - '@aws-sdk/middleware-host-header': 3.535.0 - '@aws-sdk/middleware-logger': 3.535.0 - '@aws-sdk/middleware-recursion-detection': 3.535.0 - '@aws-sdk/middleware-user-agent': 3.540.0 - '@aws-sdk/region-config-resolver': 3.535.0 - '@aws-sdk/types': 3.535.0 - '@aws-sdk/util-endpoints': 3.540.0 - '@aws-sdk/util-user-agent-browser': 3.535.0 - '@aws-sdk/util-user-agent-node': 3.535.0 - '@smithy/config-resolver': 2.2.0 - '@smithy/core': 1.4.2 - '@smithy/fetch-http-handler': 2.5.0 - '@smithy/hash-node': 2.2.0 - '@smithy/invalid-dependency': 2.2.0 - '@smithy/middleware-content-length': 2.2.0 - '@smithy/middleware-endpoint': 2.5.1 - '@smithy/middleware-retry': 2.3.1 - '@smithy/middleware-serde': 2.3.0 - '@smithy/middleware-stack': 2.2.0 - '@smithy/node-config-provider': 2.3.0 - '@smithy/node-http-handler': 2.5.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/smithy-client': 2.5.1 - '@smithy/types': 2.12.0 - '@smithy/url-parser': 2.2.0 - '@smithy/util-base64': 2.3.0 - '@smithy/util-body-length-browser': 2.2.0 - '@smithy/util-body-length-node': 2.3.0 - '@smithy/util-defaults-mode-browser': 2.2.1 - '@smithy/util-defaults-mode-node': 2.3.1 - '@smithy/util-endpoints': 1.2.0 - '@smithy/util-middleware': 2.2.0 - '@smithy/util-retry': 2.2.0 - '@smithy/util-utf8': 2.3.0 + '@aws-sdk/core': 3.451.0 + '@aws-sdk/middleware-host-header': 3.460.0 + '@aws-sdk/middleware-logger': 3.460.0 + '@aws-sdk/middleware-recursion-detection': 3.460.0 + '@aws-sdk/middleware-user-agent': 3.460.0 + '@aws-sdk/region-config-resolver': 3.451.0 + '@aws-sdk/types': 3.460.0 + '@aws-sdk/util-endpoints': 3.460.0 + '@aws-sdk/util-user-agent-browser': 3.460.0 + '@aws-sdk/util-user-agent-node': 3.460.0 + '@smithy/config-resolver': 2.0.19 + '@smithy/fetch-http-handler': 2.2.7 + '@smithy/hash-node': 2.0.16 + '@smithy/invalid-dependency': 2.0.14 + '@smithy/middleware-content-length': 2.0.16 + '@smithy/middleware-endpoint': 2.2.1 + '@smithy/middleware-retry': 2.0.21 + '@smithy/middleware-serde': 2.0.14 + '@smithy/middleware-stack': 2.0.8 + '@smithy/node-config-provider': 2.1.6 + '@smithy/node-http-handler': 2.1.10 + '@smithy/protocol-http': 3.0.10 + '@smithy/smithy-client': 2.1.16 + '@smithy/types': 2.6.0 + '@smithy/url-parser': 2.0.14 + '@smithy/util-base64': 2.0.1 + '@smithy/util-body-length-browser': 2.0.0 + '@smithy/util-body-length-node': 2.1.0 + '@smithy/util-defaults-mode-browser': 2.0.20 + '@smithy/util-defaults-mode-node': 2.0.26 + '@smithy/util-endpoints': 1.0.5 + '@smithy/util-retry': 2.0.7 + '@smithy/util-utf8': 2.0.2 tslib: 2.6.2 transitivePeerDependencies: - aws-crt dev: false - /@aws-sdk/client-sts@3.554.0(@aws-sdk/credential-provider-node@3.554.0): - resolution: {integrity: sha512-EhaA6T0M0DNg5M8TCF1a7XJI5D/ZxAF3dgVIchyF98iNzjYgl/7U8K6hJay2A11aFvVu70g46xYMpz3Meky4wQ==} + /@aws-sdk/client-sts@3.462.0: + resolution: {integrity: sha512-oO6SVGB9kR0dwc4T/M3++TcioBVv26cEpxZGS4BcKMDxSjkCLqJ/jE37aCNNPGTlCAhnuOAwqGjFqYrsehsI1Q==} engines: {node: '>=14.0.0'} - peerDependencies: - '@aws-sdk/credential-provider-node': ^3.554.0 dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/core': 3.554.0 - '@aws-sdk/credential-provider-node': 3.554.0 - '@aws-sdk/middleware-host-header': 3.535.0 - '@aws-sdk/middleware-logger': 3.535.0 - '@aws-sdk/middleware-recursion-detection': 3.535.0 - '@aws-sdk/middleware-user-agent': 3.540.0 - '@aws-sdk/region-config-resolver': 3.535.0 - '@aws-sdk/types': 3.535.0 - '@aws-sdk/util-endpoints': 3.540.0 - '@aws-sdk/util-user-agent-browser': 3.535.0 - '@aws-sdk/util-user-agent-node': 3.535.0 - '@smithy/config-resolver': 2.2.0 - '@smithy/core': 1.4.2 - '@smithy/fetch-http-handler': 2.5.0 - '@smithy/hash-node': 2.2.0 - '@smithy/invalid-dependency': 2.2.0 - '@smithy/middleware-content-length': 2.2.0 - '@smithy/middleware-endpoint': 2.5.1 - '@smithy/middleware-retry': 2.3.1 - '@smithy/middleware-serde': 2.3.0 - '@smithy/middleware-stack': 2.2.0 - '@smithy/node-config-provider': 2.3.0 - '@smithy/node-http-handler': 2.5.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/smithy-client': 2.5.1 - '@smithy/types': 2.12.0 - '@smithy/url-parser': 2.2.0 - '@smithy/util-base64': 2.3.0 - '@smithy/util-body-length-browser': 2.2.0 - '@smithy/util-body-length-node': 2.3.0 - '@smithy/util-defaults-mode-browser': 2.2.1 - '@smithy/util-defaults-mode-node': 2.3.1 - '@smithy/util-endpoints': 1.2.0 - '@smithy/util-middleware': 2.2.0 - '@smithy/util-retry': 2.2.0 - '@smithy/util-utf8': 2.3.0 + '@aws-sdk/core': 3.451.0 + '@aws-sdk/credential-provider-node': 3.460.0 + '@aws-sdk/middleware-host-header': 3.460.0 + '@aws-sdk/middleware-logger': 3.460.0 + '@aws-sdk/middleware-recursion-detection': 3.460.0 + '@aws-sdk/middleware-sdk-sts': 3.461.0 + '@aws-sdk/middleware-signing': 3.461.0 + '@aws-sdk/middleware-user-agent': 3.460.0 + '@aws-sdk/region-config-resolver': 3.451.0 + '@aws-sdk/types': 3.460.0 + '@aws-sdk/util-endpoints': 3.460.0 + '@aws-sdk/util-user-agent-browser': 3.460.0 + '@aws-sdk/util-user-agent-node': 3.460.0 + '@smithy/config-resolver': 2.0.19 + '@smithy/fetch-http-handler': 2.2.7 + '@smithy/hash-node': 2.0.16 + '@smithy/invalid-dependency': 2.0.14 + '@smithy/middleware-content-length': 2.0.16 + '@smithy/middleware-endpoint': 2.2.1 + '@smithy/middleware-retry': 2.0.21 + '@smithy/middleware-serde': 2.0.14 + '@smithy/middleware-stack': 2.0.8 + '@smithy/node-config-provider': 2.1.6 + '@smithy/node-http-handler': 2.1.10 + '@smithy/protocol-http': 3.0.10 + '@smithy/smithy-client': 2.1.16 + '@smithy/types': 2.6.0 + '@smithy/url-parser': 2.0.14 + '@smithy/util-base64': 2.0.1 + '@smithy/util-body-length-browser': 2.0.0 + '@smithy/util-body-length-node': 2.1.0 + '@smithy/util-defaults-mode-browser': 2.0.20 + '@smithy/util-defaults-mode-node': 2.0.26 + '@smithy/util-endpoints': 1.0.5 + '@smithy/util-retry': 2.0.7 + '@smithy/util-utf8': 2.0.2 + fast-xml-parser: 4.2.5 tslib: 2.6.2 transitivePeerDependencies: - aws-crt dev: false - /@aws-sdk/core@3.554.0: - resolution: {integrity: sha512-JrG7ToTLeNf+/S3IiCUPVw9jEDB0DXl5ho8n/HwOa946mv+QyCepCuV2U/8f/1KAX0mD8Ufm/E4/cbCbFHgbSg==} - engines: {node: '>=14.0.0'} - dependencies: - '@smithy/core': 1.4.2 - '@smithy/protocol-http': 3.3.0 - '@smithy/signature-v4': 2.3.0 - '@smithy/smithy-client': 2.5.1 - '@smithy/types': 2.12.0 - fast-xml-parser: 4.2.5 - tslib: 2.6.2 - dev: false - - /@aws-sdk/credential-provider-env@3.535.0: - resolution: {integrity: sha512-XppwO8c0GCGSAvdzyJOhbtktSEaShg14VJKg8mpMa1XcgqzmcqqHQjtDWbx5rZheY1VdpXZhpEzJkB6LpQejpA==} + /@aws-sdk/core@3.451.0: + resolution: {integrity: sha512-SamWW2zHEf1ZKe3j1w0Piauryl8BQIlej0TBS18A4ACzhjhWXhCs13bO1S88LvPR5mBFXok3XOT6zPOnKDFktw==} engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/types': 3.535.0 - '@smithy/property-provider': 2.2.0 - '@smithy/types': 2.12.0 + '@smithy/smithy-client': 2.1.16 tslib: 2.6.2 dev: false - /@aws-sdk/credential-provider-http@3.552.0: - resolution: {integrity: sha512-vsmu7Cz1i45pFEqzVb4JcFmAmVnWFNLsGheZc8SCptlqCO5voETrZZILHYIl4cjKkSDk3pblBOf0PhyjqWW6WQ==} + /@aws-sdk/credential-provider-env@3.460.0: + resolution: {integrity: sha512-WWdaRJFuYRc2Ue9NKDy2NIf8pQRNx/QRVmrsk6EkIID8uWlQIOePk3SWTVV0TZIyPrbfSEaSnJRZoShphJ6PAg==} engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/types': 3.535.0 - '@smithy/fetch-http-handler': 2.5.0 - '@smithy/node-http-handler': 2.5.0 - '@smithy/property-provider': 2.2.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/smithy-client': 2.5.1 - '@smithy/types': 2.12.0 - '@smithy/util-stream': 2.2.0 + '@aws-sdk/types': 3.460.0 + '@smithy/property-provider': 2.0.11 + '@smithy/types': 2.6.0 tslib: 2.6.2 dev: false - /@aws-sdk/credential-provider-ini@3.554.0(@aws-sdk/credential-provider-node@3.554.0): - resolution: {integrity: sha512-BQenhg43S6TMJHxrdjDVdVF+HH5tA1op9ZYLyJrvV5nn7CCO4kyAkkOuSAv1NkL+RZsIkW0/vHTXwQOQw3cUsg==} + /@aws-sdk/credential-provider-ini@3.460.0: + resolution: {integrity: sha512-1IEUmyaWzt2M3mONO8QyZtPy0f9ccaEjCo48ZQLgptWxUI+Ohga9gPK0mqu1kTJOjv4JJGACYHzLwEnnpltGlA==} engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/client-sts': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) - '@aws-sdk/credential-provider-env': 3.535.0 - '@aws-sdk/credential-provider-process': 3.535.0 - '@aws-sdk/credential-provider-sso': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) - '@aws-sdk/credential-provider-web-identity': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) - '@aws-sdk/types': 3.535.0 - '@smithy/credential-provider-imds': 2.3.0 - '@smithy/property-provider': 2.2.0 - '@smithy/shared-ini-file-loader': 2.4.0 - '@smithy/types': 2.12.0 + '@aws-sdk/credential-provider-env': 3.460.0 + '@aws-sdk/credential-provider-process': 3.460.0 + '@aws-sdk/credential-provider-sso': 3.460.0 + '@aws-sdk/credential-provider-web-identity': 3.460.0 + '@aws-sdk/types': 3.460.0 + '@smithy/credential-provider-imds': 2.0.13 + '@smithy/property-provider': 2.0.11 + '@smithy/shared-ini-file-loader': 2.0.12 + '@smithy/types': 2.6.0 tslib: 2.6.2 transitivePeerDependencies: - - '@aws-sdk/credential-provider-node' - aws-crt dev: false - /@aws-sdk/credential-provider-node@3.554.0: - resolution: {integrity: sha512-poX/+2OE3oxqp4f5MiaJh251p8l+bzcFwgcDBwz0e2rcpvMSYl9jw4AvGnCiG2bmf9yhNJdftBiS1A+KjxV0qA==} + /@aws-sdk/credential-provider-node@3.460.0: + resolution: {integrity: sha512-PbPo92WIgNlF6V4eWKehYGYjTqf0gU9vr09LeQUc3bTm1DJhJw1j+HU/3PfQ8LwTkBQePO7MbJ5A2n6ckMwfMg==} engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/credential-provider-env': 3.535.0 - '@aws-sdk/credential-provider-http': 3.552.0 - '@aws-sdk/credential-provider-ini': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) - '@aws-sdk/credential-provider-process': 3.535.0 - '@aws-sdk/credential-provider-sso': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) - '@aws-sdk/credential-provider-web-identity': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) - '@aws-sdk/types': 3.535.0 - '@smithy/credential-provider-imds': 2.3.0 - '@smithy/property-provider': 2.2.0 - '@smithy/shared-ini-file-loader': 2.4.0 - '@smithy/types': 2.12.0 + '@aws-sdk/credential-provider-env': 3.460.0 + '@aws-sdk/credential-provider-ini': 3.460.0 + '@aws-sdk/credential-provider-process': 3.460.0 + '@aws-sdk/credential-provider-sso': 3.460.0 + '@aws-sdk/credential-provider-web-identity': 3.460.0 + '@aws-sdk/types': 3.460.0 + '@smithy/credential-provider-imds': 2.0.13 + '@smithy/property-provider': 2.0.11 + '@smithy/shared-ini-file-loader': 2.0.12 + '@smithy/types': 2.6.0 tslib: 2.6.2 transitivePeerDependencies: - aws-crt dev: false - /@aws-sdk/credential-provider-process@3.535.0: - resolution: {integrity: sha512-9O1OaprGCnlb/kYl8RwmH7Mlg8JREZctB8r9sa1KhSsWFq/SWO0AuJTyowxD7zL5PkeS4eTvzFFHWCa3OO5epA==} + /@aws-sdk/credential-provider-process@3.460.0: + resolution: {integrity: sha512-ng+0FMc4EaxLAwdttCwf2nzNf4AgcqAHZ8pKXUf8qF/KVkoyTt3UZKW7P2FJI01zxwP+V4yAwVt95PBUKGn4YQ==} engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/types': 3.535.0 - '@smithy/property-provider': 2.2.0 - '@smithy/shared-ini-file-loader': 2.4.0 - '@smithy/types': 2.12.0 + '@aws-sdk/types': 3.460.0 + '@smithy/property-provider': 2.0.11 + '@smithy/shared-ini-file-loader': 2.0.12 + '@smithy/types': 2.6.0 tslib: 2.6.2 dev: false - /@aws-sdk/credential-provider-sso@3.554.0(@aws-sdk/credential-provider-node@3.554.0): - resolution: {integrity: sha512-8QPpwBA31i/fZ7lDZJC4FA9EdxLg5SJ8sPB2qLSjp5UTGTYL2HRl0Eznkb7DXyp/wImsR/HFR1NxuFCCVotLCg==} + /@aws-sdk/credential-provider-sso@3.460.0: + resolution: {integrity: sha512-KnrQieOw17+aHEzE3SwfxjeSQ5ZTe2HeAzxkaZF++GxhNul/PkVnLzjGpIuB9bn71T9a2oNfG3peDUA+m2l2kw==} engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/client-sso': 3.554.0 - '@aws-sdk/token-providers': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) - '@aws-sdk/types': 3.535.0 - '@smithy/property-provider': 2.2.0 - '@smithy/shared-ini-file-loader': 2.4.0 - '@smithy/types': 2.12.0 + '@aws-sdk/client-sso': 3.460.0 + '@aws-sdk/token-providers': 3.460.0 + '@aws-sdk/types': 3.460.0 + '@smithy/property-provider': 2.0.11 + '@smithy/shared-ini-file-loader': 2.0.12 + '@smithy/types': 2.6.0 tslib: 2.6.2 transitivePeerDependencies: - - '@aws-sdk/credential-provider-node' - aws-crt dev: false - /@aws-sdk/credential-provider-web-identity@3.554.0(@aws-sdk/credential-provider-node@3.554.0): - resolution: {integrity: sha512-HN54DzLjepw5ZWSF9ycGevhFTyg6pjLuLKy5Y8t/f1jFDComzYdGEDe0cdV9YO653W3+PQwZZGz09YVygGYBLg==} + /@aws-sdk/credential-provider-web-identity@3.460.0: + resolution: {integrity: sha512-7OeaZgC3HmJZGE0I0ZiKInUMF2LyA0IZiW85AYFnAZzAIfv1cXk/1UnDAoFIQhOZfnUBXivStagz892s480ryw==} engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/client-sts': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) - '@aws-sdk/types': 3.535.0 - '@smithy/property-provider': 2.2.0 - '@smithy/types': 2.12.0 + '@aws-sdk/types': 3.460.0 + '@smithy/property-provider': 2.0.11 + '@smithy/types': 2.6.0 tslib: 2.6.2 - transitivePeerDependencies: - - '@aws-sdk/credential-provider-node' - - aws-crt dev: false - /@aws-sdk/middleware-bucket-endpoint@3.535.0: - resolution: {integrity: sha512-7sijlfQsc4UO9Fsl11mU26Y5f9E7g6UoNg/iJUBpC5pgvvmdBRO5UEhbB/gnqvOEPsBXyhmfzbstebq23Qdz7A==} + /@aws-sdk/middleware-bucket-endpoint@3.460.0: + resolution: {integrity: sha512-AmrCDT/r+m7q3OogZ3UeWpVdllMeR4Wdo+3YEfefPfcZc6SilnP2uCBUHletxbw3tXhNt56bUMUzQ+SUhyuUmA==} engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/types': 3.535.0 - '@aws-sdk/util-arn-parser': 3.535.0 - '@smithy/node-config-provider': 2.3.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/types': 2.12.0 - '@smithy/util-config-provider': 2.3.0 + '@aws-sdk/types': 3.460.0 + '@aws-sdk/util-arn-parser': 3.310.0 + '@smithy/node-config-provider': 2.1.6 + '@smithy/protocol-http': 3.0.10 + '@smithy/types': 2.6.0 + '@smithy/util-config-provider': 2.0.0 tslib: 2.6.2 dev: false - /@aws-sdk/middleware-expect-continue@3.535.0: - resolution: {integrity: sha512-hFKyqUBky0NWCVku8iZ9+PACehx0p6vuMw5YnZf8FVgHP0fode0b/NwQY6UY7oor/GftvRsAlRUAWGNFEGUpwA==} + /@aws-sdk/middleware-expect-continue@3.460.0: + resolution: {integrity: sha512-8VxMFTR+IszcMZLUZvxVCBOO1CUBmIWmDIQKd7w/U9xyMEXmBA0cx6ZEfMOIZF9NNh9OGCzTvwK+++8OTGBwAw==} engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/types': 3.535.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/types': 2.12.0 + '@aws-sdk/types': 3.460.0 + '@smithy/protocol-http': 3.0.10 + '@smithy/types': 2.6.0 tslib: 2.6.2 dev: false - /@aws-sdk/middleware-flexible-checksums@3.535.0: - resolution: {integrity: sha512-rBIzldY9jjRATxICDX7t77aW6ctqmVDgnuAOgbVT5xgHftt4o7PGWKoMvl/45hYqoQgxVFnCBof9bxkqSBebVA==} + /@aws-sdk/middleware-flexible-checksums@3.461.0: + resolution: {integrity: sha512-MNY7xMl2Qzoinj6Pos23TgD+WQtC9/G/VkNW/v8Ky5faRAt7bbS+ZEkkK3KcCrjnb8x4Bl/FzYNTCZRzRoQOtA==} engines: {node: '>=14.0.0'} dependencies: '@aws-crypto/crc32': 3.0.0 '@aws-crypto/crc32c': 3.0.0 - '@aws-sdk/types': 3.535.0 - '@smithy/is-array-buffer': 2.2.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/types': 2.12.0 - '@smithy/util-utf8': 2.3.0 + '@aws-sdk/types': 3.460.0 + '@smithy/is-array-buffer': 2.0.0 + '@smithy/protocol-http': 3.0.10 + '@smithy/types': 2.6.0 + '@smithy/util-utf8': 2.0.2 tslib: 2.6.2 dev: false - /@aws-sdk/middleware-host-header@3.535.0: - resolution: {integrity: sha512-0h6TWjBWtDaYwHMQJI9ulafeS4lLaw1vIxRjbpH0svFRt6Eve+Sy8NlVhECfTU2hNz/fLubvrUxsXoThaLBIew==} + /@aws-sdk/middleware-host-header@3.460.0: + resolution: {integrity: sha512-qBeDyuJkEuHe87Xk6unvFO9Zg5j6zM8bQOOZITocTLfu9JN0u5V4GQ/yopvpv+nQHmC/MGr0G7p+kIXMrg/Q2A==} engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/types': 3.535.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/types': 2.12.0 + '@aws-sdk/types': 3.460.0 + '@smithy/protocol-http': 3.0.10 + '@smithy/types': 2.6.0 tslib: 2.6.2 dev: false - /@aws-sdk/middleware-location-constraint@3.535.0: - resolution: {integrity: sha512-SxfS9wfidUZZ+WnlKRTCRn3h+XTsymXRXPJj8VV6hNRNeOwzNweoG3YhQbTowuuNfXf89m9v6meYkBBtkdacKw==} + /@aws-sdk/middleware-location-constraint@3.461.0: + resolution: {integrity: sha512-dibimciNOV2kuhBBmHbS+29X559xNw4BdZviGzjGAQPkqPx+7Adgvp5BHqSDgh7FIJpgN2+QGbrubIQ+V1Bn4A==} engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/types': 3.535.0 - '@smithy/types': 2.12.0 + '@aws-sdk/types': 3.460.0 + '@smithy/types': 2.6.0 tslib: 2.6.2 dev: false - /@aws-sdk/middleware-logger@3.535.0: - resolution: {integrity: sha512-huNHpONOrEDrdRTvSQr1cJiRMNf0S52NDXtaPzdxiubTkP+vni2MohmZANMOai/qT0olmEVX01LhZ0ZAOgmg6A==} + /@aws-sdk/middleware-logger@3.460.0: + resolution: {integrity: sha512-w2AJ6HOJ+Ggx9+VDKuWBHk5S0ZxYEo2EY2IFh0qtCQ1RDix/ur1QEzOOL5vNjHlZKPv/dseIwhgsTCac8UHXbQ==} engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/types': 3.535.0 - '@smithy/types': 2.12.0 + '@aws-sdk/types': 3.460.0 + '@smithy/types': 2.6.0 tslib: 2.6.2 dev: false - /@aws-sdk/middleware-recursion-detection@3.535.0: - resolution: {integrity: sha512-am2qgGs+gwqmR4wHLWpzlZ8PWhm4ktj5bYSgDrsOfjhdBlWNxvPoID9/pDAz5RWL48+oH7I6SQzMqxXsFDikrw==} + /@aws-sdk/middleware-recursion-detection@3.460.0: + resolution: {integrity: sha512-wmzm1/2NzpcCVCAsGqqiTBK+xNyLmQwTOq63rcW6eeq6gYOO0cyTZROOkVRrrsKWPBigrSFFHvDrEvonOMtKAg==} engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/types': 3.535.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/types': 2.12.0 + '@aws-sdk/types': 3.460.0 + '@smithy/protocol-http': 3.0.10 + '@smithy/types': 2.6.0 tslib: 2.6.2 dev: false - /@aws-sdk/middleware-sdk-s3@3.552.0: - resolution: {integrity: sha512-9KzOqsbwJJuQcpmrpkkIftjPahB1bsrcWalYzcVqKCgHCylhkSHW2tX+uGHRnvAl9iobQD5D7LUrS+cv0NeQ/Q==} + /@aws-sdk/middleware-sdk-s3@3.461.0: + resolution: {integrity: sha512-sOFUBWROq0xQxNoXp+3eepXrUAuMc/JPH+sI/r5QOznk7JVemYoBj99lknbTzJ4ssSK0yVrSUxxwGiGvDQb0Gg==} engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/types': 3.535.0 - '@aws-sdk/util-arn-parser': 3.535.0 - '@smithy/node-config-provider': 2.3.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/signature-v4': 2.3.0 - '@smithy/smithy-client': 2.5.1 - '@smithy/types': 2.12.0 - '@smithy/util-config-provider': 2.3.0 + '@aws-sdk/types': 3.460.0 + '@aws-sdk/util-arn-parser': 3.310.0 + '@smithy/node-config-provider': 2.1.6 + '@smithy/protocol-http': 3.0.10 + '@smithy/signature-v4': 2.0.10 + '@smithy/smithy-client': 2.1.16 + '@smithy/types': 2.6.0 + '@smithy/util-config-provider': 2.0.0 tslib: 2.6.2 dev: false - /@aws-sdk/middleware-signing@3.552.0: - resolution: {integrity: sha512-ZjOrlEmwjhbmkINa4Zx9LJh+xb/kgEiUrcfud2kq/r8ath1Nv1/4zalI9jHnou1J+R+yS+FQlXLXHSZ7vqyFbA==} + /@aws-sdk/middleware-sdk-sts@3.461.0: + resolution: {integrity: sha512-sgNxkwKdJ/NZm7SJZBnbYPkbspmzn3lDyRSJH7PTCvyzDBzY2PB6yS/dfnGkitR+PYwromuOYMha37W4su2SOw==} engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/types': 3.535.0 - '@smithy/property-provider': 2.2.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/signature-v4': 2.3.0 - '@smithy/types': 2.12.0 - '@smithy/util-middleware': 2.2.0 + '@aws-sdk/middleware-signing': 3.461.0 + '@aws-sdk/types': 3.460.0 + '@smithy/types': 2.6.0 tslib: 2.6.2 dev: false - /@aws-sdk/middleware-ssec@3.537.0: - resolution: {integrity: sha512-2QWMrbwd5eBy5KCYn9a15JEWBgrK2qFEKQN2lqb/6z0bhtevIOxIRfC99tzvRuPt6nixFQ+ynKuBjcfT4ZFrdQ==} + /@aws-sdk/middleware-signing@3.461.0: + resolution: {integrity: sha512-aM/7VupHlsgeRG1UZSAQMWJX+2Jam4GG8ZGVAbLfBr9yh9cBwnUUndpUpYI9rU7atA8n+vISr162EbR7WTiFhQ==} engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/types': 3.535.0 - '@smithy/types': 2.12.0 + '@aws-sdk/types': 3.460.0 + '@smithy/property-provider': 2.0.11 + '@smithy/protocol-http': 3.0.10 + '@smithy/signature-v4': 2.0.10 + '@smithy/types': 2.6.0 + '@smithy/util-middleware': 2.0.7 tslib: 2.6.2 dev: false - /@aws-sdk/middleware-user-agent@3.540.0: - resolution: {integrity: sha512-8Rd6wPeXDnOYzWj1XCmOKcx/Q87L0K1/EHqOBocGjLVbN3gmRxBvpmR1pRTjf7IsWfnnzN5btqtcAkfDPYQUMQ==} + /@aws-sdk/middleware-ssec@3.460.0: + resolution: {integrity: sha512-1PSCmkq9BRX8isxyDyf785xvjldtwhdUzI+37oZ1qfDXGmRyB+KjtRBNnz5Fz+VSiOfVzfhp3sjrc4fs4BfJ0w==} engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/types': 3.535.0 - '@aws-sdk/util-endpoints': 3.540.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/types': 2.12.0 + '@aws-sdk/types': 3.460.0 + '@smithy/types': 2.6.0 tslib: 2.6.2 dev: false - /@aws-sdk/region-config-resolver@3.535.0: - resolution: {integrity: sha512-IXOznDiaItBjsQy4Fil0kzX/J3HxIOknEphqHbOfUf+LpA5ugcsxuQQONrbEQusCBnfJyymrldBvBhFmtlU9Wg==} + /@aws-sdk/middleware-user-agent@3.460.0: + resolution: {integrity: sha512-0gBSOCr+RtwRUCSRLn9H3RVnj9ercvk/QKTHIr33CgfEdyZtIGpHWUSs6uqiQydPTRzjCm5SfUa6ESGhRVMM6A==} engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/types': 3.535.0 - '@smithy/node-config-provider': 2.3.0 - '@smithy/types': 2.12.0 - '@smithy/util-config-provider': 2.3.0 - '@smithy/util-middleware': 2.2.0 + '@aws-sdk/types': 3.460.0 + '@aws-sdk/util-endpoints': 3.460.0 + '@smithy/protocol-http': 3.0.10 + '@smithy/types': 2.6.0 tslib: 2.6.2 dev: false - /@aws-sdk/signature-v4-multi-region@3.552.0: - resolution: {integrity: sha512-cC11/5ahp+LaBCq7cR+51AM2ftf6m9diRd2oWkbEpjSiEKQzZRAltUPZAJM6NXGypmDODQDJphLGt45tvS+8kg==} + /@aws-sdk/region-config-resolver@3.451.0: + resolution: {integrity: sha512-3iMf4OwzrFb4tAAmoROXaiORUk2FvSejnHIw/XHvf/jjR4EqGGF95NZP/n/MeFZMizJWVssrwS412GmoEyoqhg==} engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/middleware-sdk-s3': 3.552.0 - '@aws-sdk/types': 3.535.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/signature-v4': 2.3.0 - '@smithy/types': 2.12.0 + '@smithy/node-config-provider': 2.1.6 + '@smithy/types': 2.6.0 + '@smithy/util-config-provider': 2.0.0 + '@smithy/util-middleware': 2.0.7 tslib: 2.6.2 dev: false - /@aws-sdk/token-providers@3.554.0(@aws-sdk/credential-provider-node@3.554.0): - resolution: {integrity: sha512-KMMQ5Cw0FUPL9H8g69Lp08xtzRo7r/MK+lBV6LznWBbCP/NwtZ8awVHaPy2P31z00cWtu9MYkUTviWPqJTaBvg==} + /@aws-sdk/signature-v4-multi-region@3.461.0: + resolution: {integrity: sha512-9tsdJ5KMPZzJN1x28AZKoS9J3xfwftFwutqcU1qsXXeouck0CztLfX+wr3etO4acPQO2zU305fnR2ulSsnns4g==} engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/client-sso-oidc': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) - '@aws-sdk/types': 3.535.0 - '@smithy/property-provider': 2.2.0 - '@smithy/shared-ini-file-loader': 2.4.0 - '@smithy/types': 2.12.0 + '@aws-sdk/middleware-sdk-s3': 3.461.0 + '@aws-sdk/types': 3.460.0 + '@smithy/protocol-http': 3.0.10 + '@smithy/signature-v4': 2.0.10 + '@smithy/types': 2.6.0 + tslib: 2.6.2 + dev: false + + /@aws-sdk/token-providers@3.460.0: + resolution: {integrity: sha512-EvSIPMI1gXk3gEkdtbZCW+p3Bjmt2gOR1m7ibQD7qLj4l0dKXhp4URgTqB1ExH3S4qUq0M/XSGKbGLZpvunHNg==} + engines: {node: '>=14.0.0'} + dependencies: + '@aws-crypto/sha256-browser': 3.0.0 + '@aws-crypto/sha256-js': 3.0.0 + '@aws-sdk/middleware-host-header': 3.460.0 + '@aws-sdk/middleware-logger': 3.460.0 + '@aws-sdk/middleware-recursion-detection': 3.460.0 + '@aws-sdk/middleware-user-agent': 3.460.0 + '@aws-sdk/region-config-resolver': 3.451.0 + '@aws-sdk/types': 3.460.0 + '@aws-sdk/util-endpoints': 3.460.0 + '@aws-sdk/util-user-agent-browser': 3.460.0 + '@aws-sdk/util-user-agent-node': 3.460.0 + '@smithy/config-resolver': 2.0.19 + '@smithy/fetch-http-handler': 2.2.7 + '@smithy/hash-node': 2.0.16 + '@smithy/invalid-dependency': 2.0.14 + '@smithy/middleware-content-length': 2.0.16 + '@smithy/middleware-endpoint': 2.2.1 + '@smithy/middleware-retry': 2.0.21 + '@smithy/middleware-serde': 2.0.14 + '@smithy/middleware-stack': 2.0.8 + '@smithy/node-config-provider': 2.1.6 + '@smithy/node-http-handler': 2.1.10 + '@smithy/property-provider': 2.0.11 + '@smithy/protocol-http': 3.0.10 + '@smithy/shared-ini-file-loader': 2.0.12 + '@smithy/smithy-client': 2.1.16 + '@smithy/types': 2.6.0 + '@smithy/url-parser': 2.0.14 + '@smithy/util-base64': 2.0.1 + '@smithy/util-body-length-browser': 2.0.0 + '@smithy/util-body-length-node': 2.1.0 + '@smithy/util-defaults-mode-browser': 2.0.20 + '@smithy/util-defaults-mode-node': 2.0.26 + '@smithy/util-endpoints': 1.0.5 + '@smithy/util-retry': 2.0.7 + '@smithy/util-utf8': 2.0.2 tslib: 2.6.2 transitivePeerDependencies: - - '@aws-sdk/credential-provider-node' - aws-crt dev: false - /@aws-sdk/types@3.535.0: - resolution: {integrity: sha512-aY4MYfduNj+sRR37U7XxYR8wemfbKP6lx00ze2M2uubn7mZotuVrWYAafbMSXrdEMSToE5JDhr28vArSOoLcSg==} + /@aws-sdk/types@3.460.0: + resolution: {integrity: sha512-MyZSWS/FV8Bnux5eD9en7KLgVxevlVrGNEP3X2D7fpnUlLhl0a7k8+OpSI2ozEQB8hIU2DLc/XXTKRerHSefxQ==} engines: {node: '>=14.0.0'} dependencies: - '@smithy/types': 2.12.0 + '@smithy/types': 2.6.0 tslib: 2.6.2 dev: false - /@aws-sdk/util-arn-parser@3.535.0: - resolution: {integrity: sha512-smVo29nUPAOprp8Z5Y3GHuhiOtw6c8/EtLCm5AVMtRsTPw4V414ZXL2H66tzmb5kEeSzQlbfBSBEdIFZoxO9kg==} + /@aws-sdk/util-arn-parser@3.310.0: + resolution: {integrity: sha512-jL8509owp/xB9+Or0pvn3Fe+b94qfklc2yPowZZIFAkFcCSIdkIglz18cPDWnYAcy9JGewpMS1COXKIUhZkJsA==} engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 dev: false - /@aws-sdk/util-endpoints@3.540.0: - resolution: {integrity: sha512-1kMyQFAWx6f8alaI6UT65/5YW/7pDWAKAdNwL6vuJLea03KrZRX3PMoONOSJpAS5m3Ot7HlWZvf3wZDNTLELZw==} + /@aws-sdk/util-endpoints@3.460.0: + resolution: {integrity: sha512-myH6kM5WP4IWULHDHMYf2Q+BCYVGlzqJgiBmO10kQEtJSeAGZZ49eoFFYgKW8ZAYB5VnJ+XhXVB1TRA+vR4l5A==} engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/types': 3.535.0 - '@smithy/types': 2.12.0 - '@smithy/util-endpoints': 1.2.0 + '@aws-sdk/types': 3.460.0 + '@smithy/util-endpoints': 1.0.5 tslib: 2.6.2 dev: false - /@aws-sdk/util-locate-window@3.535.0: - resolution: {integrity: sha512-PHJ3SL6d2jpcgbqdgiPxkXpu7Drc2PYViwxSIqvvMKhDwzSB1W3mMvtpzwKM4IE7zLFodZo0GKjJ9AsoXndXhA==} + /@aws-sdk/util-locate-window@3.310.0: + resolution: {integrity: sha512-qo2t/vBTnoXpjKxlsC2e1gBrRm80M3bId27r0BRB2VniSSe7bL1mmzM+/HFtujm0iAxtPM+aLEflLJlJeDPg0w==} engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 dev: false - /@aws-sdk/util-user-agent-browser@3.535.0: - resolution: {integrity: sha512-RWMcF/xV5n+nhaA/Ff5P3yNP3Kur/I+VNZngog4TEs92oB/nwOdAg/2JL8bVAhUbMrjTjpwm7PItziYFQoqyig==} + /@aws-sdk/util-user-agent-browser@3.460.0: + resolution: {integrity: sha512-FRCzW+TyjKnvxsargPVrjayBfp/rvObYHZyZ2OSqrVw8lkkPCb4e/WZOeIiXZuhdhhoah7wMuo6zGwtFF3bYKg==} dependencies: - '@aws-sdk/types': 3.535.0 - '@smithy/types': 2.12.0 + '@aws-sdk/types': 3.460.0 + '@smithy/types': 2.6.0 bowser: 2.11.0 tslib: 2.6.2 dev: false - /@aws-sdk/util-user-agent-node@3.535.0: - resolution: {integrity: sha512-dRek0zUuIT25wOWJlsRm97nTkUlh1NDcLsQZIN2Y8KxhwoXXWtJs5vaDPT+qAg+OpcNj80i1zLR/CirqlFg/TQ==} + /@aws-sdk/util-user-agent-node@3.460.0: + resolution: {integrity: sha512-+kSoR9ABGpJ5Xc7v0VwpgTQbgyI4zuezC8K4pmKAGZsSsVWg4yxptoy2bDqoFL7qfRlWviMVTkQRMvR4D44WxA==} engines: {node: '>=14.0.0'} peerDependencies: aws-crt: '>=1.0.0' @@ -1246,9 +1214,9 @@ packages: aws-crt: optional: true dependencies: - '@aws-sdk/types': 3.535.0 - '@smithy/node-config-provider': 2.3.0 - '@smithy/types': 2.12.0 + '@aws-sdk/types': 3.460.0 + '@smithy/node-config-provider': 2.1.6 + '@smithy/types': 2.6.0 tslib: 2.6.2 dev: false @@ -1258,20 +1226,19 @@ packages: tslib: 2.6.2 dev: false - /@aws-sdk/xml-builder@3.535.0: - resolution: {integrity: sha512-VXAq/Jz8KIrU84+HqsOJhIKZqG0PNTdi6n6PFQ4xJf44ZQHD/5C7ouH4qCFX5XgZXcgbRIcMVVYGC6Jye0dRng==} + /@aws-sdk/xml-builder@3.310.0: + resolution: {integrity: sha512-TqELu4mOuSIKQCqj63fGVs86Yh+vBx5nHRpWKNUNhB2nPTpfbziTs5c1X358be3peVWA4wPxW7Nt53KIg1tnNw==} engines: {node: '>=14.0.0'} dependencies: - '@smithy/types': 2.12.0 tslib: 2.6.2 dev: false - /@babel/code-frame@7.24.2: - resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==} + /@babel/code-frame@7.22.13: + resolution: {integrity: sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/highlight': 7.24.2 - picocolors: 1.0.0 + '@babel/highlight': 7.22.20 + chalk: 2.4.2 dev: false /@babel/helper-validator-identifier@7.22.20: @@ -1279,21 +1246,27 @@ packages: engines: {node: '>=6.9.0'} dev: false - /@babel/highlight@7.24.2: - resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==} + /@babel/highlight@7.22.20: + resolution: {integrity: sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-validator-identifier': 7.22.20 chalk: 2.4.2 js-tokens: 4.0.0 - picocolors: 1.0.0 dev: false - /@babel/runtime@7.24.4: - resolution: {integrity: sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA==} + /@babel/runtime@7.23.1: + resolution: {integrity: sha512-hC2v6p8ZSI/W0HUzh3V8C5g+NwSKzKPtJwSpTjwl0o297GP9+ZLQSkdvHz46CM3LqyoXxq+5G9komY+eSqSO0g==} engines: {node: '>=6.9.0'} dependencies: - regenerator-runtime: 0.14.1 + regenerator-runtime: 0.14.0 + dev: false + + /@babel/runtime@7.25.6: + resolution: {integrity: sha512-VBj9MYyDb9tuLq7yzqjgzt6Q+IBQLrGZfdjOekyEirZPHxXWoTSGUTMrpsfi58Up73d13NfYLv8HT9vmznjzhQ==} + engines: {node: '>=6.9.0'} + dependencies: + regenerator-runtime: 0.14.0 dev: false /@coral-xyz/anchor-errors@0.30.1: @@ -1305,9 +1278,9 @@ packages: resolution: {integrity: sha512-eny6QNG0WOwqV0zQ7cs/b1tIuzZGmP7U7EcH+ogt4Gdbl8HDmIYVMh/9aTmYZPaFWjtUaI8qSn73uYEXWfATdA==} engines: {node: '>=11'} dependencies: - '@coral-xyz/borsh': 0.29.0(@solana/web3.js@1.91.4) - '@noble/hashes': 1.4.0 - '@solana/web3.js': 1.91.4 + '@coral-xyz/borsh': 0.29.0(@solana/web3.js@1.95.3) + '@noble/hashes': 1.3.2 + '@solana/web3.js': 1.95.3 bn.js: 5.2.1 bs58: 4.0.1 buffer-layout: 1.2.2 @@ -1330,9 +1303,9 @@ packages: engines: {node: '>=11'} dependencies: '@coral-xyz/anchor-errors': 0.30.1 - '@coral-xyz/borsh': 0.30.1(@solana/web3.js@1.91.4) - '@noble/hashes': 1.4.0 - '@solana/web3.js': 1.91.4 + '@coral-xyz/borsh': 0.30.1(@solana/web3.js@1.95.3) + '@noble/hashes': 1.5.0 + '@solana/web3.js': 1.95.3 bn.js: 5.2.1 bs58: 4.0.1 buffer-layout: 1.2.2 @@ -1350,24 +1323,24 @@ packages: - utf-8-validate dev: false - /@coral-xyz/borsh@0.29.0(@solana/web3.js@1.91.4): + /@coral-xyz/borsh@0.29.0(@solana/web3.js@1.95.3): resolution: {integrity: sha512-s7VFVa3a0oqpkuRloWVPdCK7hMbAMY270geZOGfCnaqexrP5dTIpbEHL33req6IYPPJ0hYa71cdvJ1h6V55/oQ==} engines: {node: '>=10'} peerDependencies: '@solana/web3.js': ^1.68.0 dependencies: - '@solana/web3.js': 1.91.4 + '@solana/web3.js': 1.95.3 bn.js: 5.2.1 buffer-layout: 1.2.2 dev: false - /@coral-xyz/borsh@0.30.1(@solana/web3.js@1.91.4): + /@coral-xyz/borsh@0.30.1(@solana/web3.js@1.95.3): resolution: {integrity: sha512-aaxswpPrCFKl8vZTbxLssA2RvwX2zmKLlRCIktJOwW+VpVwYtXRtlWiIP+c2pPRKneiTiWCN2GEMSH9j1zTlWQ==} engines: {node: '>=10'} peerDependencies: '@solana/web3.js': ^1.68.0 dependencies: - '@solana/web3.js': 1.91.4 + '@solana/web3.js': 1.95.3 bn.js: 5.2.1 buffer-layout: 1.2.2 dev: false @@ -1379,8 +1352,8 @@ packages: '@jridgewell/trace-mapping': 0.3.9 dev: false - /@esbuild/aix-ppc64@0.20.2: - resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==} + /@esbuild/aix-ppc64@0.21.5: + resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} engines: {node: '>=12'} cpu: [ppc64] os: [aix] @@ -1388,8 +1361,8 @@ packages: dev: false optional: true - /@esbuild/android-arm64@0.20.2: - resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==} + /@esbuild/android-arm64@0.21.5: + resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} engines: {node: '>=12'} cpu: [arm64] os: [android] @@ -1397,8 +1370,8 @@ packages: dev: false optional: true - /@esbuild/android-arm@0.20.2: - resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==} + /@esbuild/android-arm@0.21.5: + resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} engines: {node: '>=12'} cpu: [arm] os: [android] @@ -1406,8 +1379,8 @@ packages: dev: false optional: true - /@esbuild/android-x64@0.20.2: - resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==} + /@esbuild/android-x64@0.21.5: + resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} engines: {node: '>=12'} cpu: [x64] os: [android] @@ -1415,8 +1388,8 @@ packages: dev: false optional: true - /@esbuild/darwin-arm64@0.20.2: - resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==} + /@esbuild/darwin-arm64@0.21.5: + resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] @@ -1424,8 +1397,8 @@ packages: dev: false optional: true - /@esbuild/darwin-x64@0.20.2: - resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==} + /@esbuild/darwin-x64@0.21.5: + resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} engines: {node: '>=12'} cpu: [x64] os: [darwin] @@ -1433,8 +1406,8 @@ packages: dev: false optional: true - /@esbuild/freebsd-arm64@0.20.2: - resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==} + /@esbuild/freebsd-arm64@0.21.5: + resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] @@ -1442,8 +1415,8 @@ packages: dev: false optional: true - /@esbuild/freebsd-x64@0.20.2: - resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==} + /@esbuild/freebsd-x64@0.21.5: + resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] @@ -1451,8 +1424,8 @@ packages: dev: false optional: true - /@esbuild/linux-arm64@0.20.2: - resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==} + /@esbuild/linux-arm64@0.21.5: + resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} engines: {node: '>=12'} cpu: [arm64] os: [linux] @@ -1460,8 +1433,8 @@ packages: dev: false optional: true - /@esbuild/linux-arm@0.20.2: - resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==} + /@esbuild/linux-arm@0.21.5: + resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} engines: {node: '>=12'} cpu: [arm] os: [linux] @@ -1469,8 +1442,8 @@ packages: dev: false optional: true - /@esbuild/linux-ia32@0.20.2: - resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==} + /@esbuild/linux-ia32@0.21.5: + resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} engines: {node: '>=12'} cpu: [ia32] os: [linux] @@ -1478,8 +1451,8 @@ packages: dev: false optional: true - /@esbuild/linux-loong64@0.20.2: - resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==} + /@esbuild/linux-loong64@0.21.5: + resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} engines: {node: '>=12'} cpu: [loong64] os: [linux] @@ -1487,8 +1460,8 @@ packages: dev: false optional: true - /@esbuild/linux-mips64el@0.20.2: - resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==} + /@esbuild/linux-mips64el@0.21.5: + resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] @@ -1496,8 +1469,8 @@ packages: dev: false optional: true - /@esbuild/linux-ppc64@0.20.2: - resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==} + /@esbuild/linux-ppc64@0.21.5: + resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] @@ -1505,8 +1478,8 @@ packages: dev: false optional: true - /@esbuild/linux-riscv64@0.20.2: - resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==} + /@esbuild/linux-riscv64@0.21.5: + resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] @@ -1514,8 +1487,8 @@ packages: dev: false optional: true - /@esbuild/linux-s390x@0.20.2: - resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==} + /@esbuild/linux-s390x@0.21.5: + resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} engines: {node: '>=12'} cpu: [s390x] os: [linux] @@ -1523,8 +1496,8 @@ packages: dev: false optional: true - /@esbuild/linux-x64@0.20.2: - resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==} + /@esbuild/linux-x64@0.21.5: + resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} engines: {node: '>=12'} cpu: [x64] os: [linux] @@ -1532,8 +1505,8 @@ packages: dev: false optional: true - /@esbuild/netbsd-x64@0.20.2: - resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==} + /@esbuild/netbsd-x64@0.21.5: + resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] @@ -1541,8 +1514,8 @@ packages: dev: false optional: true - /@esbuild/openbsd-x64@0.20.2: - resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==} + /@esbuild/openbsd-x64@0.21.5: + resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] @@ -1550,8 +1523,8 @@ packages: dev: false optional: true - /@esbuild/sunos-x64@0.20.2: - resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==} + /@esbuild/sunos-x64@0.21.5: + resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} engines: {node: '>=12'} cpu: [x64] os: [sunos] @@ -1559,8 +1532,8 @@ packages: dev: false optional: true - /@esbuild/win32-arm64@0.20.2: - resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==} + /@esbuild/win32-arm64@0.21.5: + resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} engines: {node: '>=12'} cpu: [arm64] os: [win32] @@ -1568,8 +1541,8 @@ packages: dev: false optional: true - /@esbuild/win32-ia32@0.20.2: - resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==} + /@esbuild/win32-ia32@0.21.5: + resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} engines: {node: '>=12'} cpu: [ia32] os: [win32] @@ -1577,8 +1550,8 @@ packages: dev: false optional: true - /@esbuild/win32-x64@0.20.2: - resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==} + /@esbuild/win32-x64@0.21.5: + resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} engines: {node: '>=12'} cpu: [x64] os: [win32] @@ -1610,13 +1583,13 @@ packages: tslib: 2.6.2 dev: false - /@graphql-tools/merge@9.0.3(graphql@15.8.0): - resolution: {integrity: sha512-FeKv9lKLMwqDu0pQjPpF59GY3HReUkWXKsMIuMuJQOKh9BETu7zPEFUELvcw8w+lwZkl4ileJsHXC9+AnsT2Lw==} + /@graphql-tools/merge@9.0.1(graphql@15.8.0): + resolution: {integrity: sha512-hIEExWO9fjA6vzsVjJ3s0cCQ+Q/BEeMVJZtMXd7nbaVefVy0YDyYlEkeoYYNV3NVVvu1G9lr6DM1Qd0DGo9Caw==} engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/utils': 10.1.2(graphql@15.8.0) + '@graphql-tools/utils': 10.0.11(graphql@15.8.0) graphql: 15.8.0 tslib: 2.6.2 dev: false @@ -1633,14 +1606,14 @@ packages: tslib: 2.6.2 dev: false - /@graphql-tools/schema@10.0.3(graphql@15.8.0): - resolution: {integrity: sha512-p28Oh9EcOna6i0yLaCFOnkcBDQECVf3SCexT6ktb86QNj9idnkhI+tCxnwZDh58Qvjd2nURdkbevvoZkvxzCog==} + /@graphql-tools/schema@10.0.2(graphql@15.8.0): + resolution: {integrity: sha512-TbPsIZnWyDCLhgPGnDjt4hosiNU2mF/rNtSk5BVaXWnZqvKJ6gzJV4fcHcvhRIwtscDMW2/YTnK6dLVnk8pc4w==} engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/merge': 9.0.3(graphql@15.8.0) - '@graphql-tools/utils': 10.1.2(graphql@15.8.0) + '@graphql-tools/merge': 9.0.1(graphql@15.8.0) + '@graphql-tools/utils': 10.0.11(graphql@15.8.0) graphql: 15.8.0 tslib: 2.6.2 value-or-promise: 1.0.12 @@ -1670,15 +1643,15 @@ packages: value-or-promise: 1.0.12 dev: false - /@graphql-tools/utils@10.1.2(graphql@15.8.0): - resolution: {integrity: sha512-fX13CYsDnX4yifIyNdiN0cVygz/muvkreWWem6BBw130+ODbRRgfiVveL0NizCEnKXkpvdeTy9Bxvo9LIKlhrw==} + /@graphql-tools/utils@10.0.11(graphql@15.8.0): + resolution: {integrity: sha512-vVjXgKn6zjXIlYBd7yJxCVMYGb5j18gE3hx3Qw3mNsSEsYQXbJbPdlwb7Fc9FogsJei5AaqiQerqH4kAosp1nQ==} engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: '@graphql-typed-document-node/core': 3.2.0(graphql@15.8.0) cross-inspect: 1.0.0 - dset: 3.1.3 + dset: 3.1.2 graphql: 15.8.0 tslib: 2.6.2 dev: false @@ -1745,10 +1718,10 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/schemas': 29.6.3 - '@types/istanbul-lib-coverage': 2.0.6 - '@types/istanbul-reports': 3.0.4 - '@types/node': 18.19.31 - '@types/yargs': 17.0.32 + '@types/istanbul-lib-coverage': 2.0.4 + '@types/istanbul-reports': 3.0.2 + '@types/node': 18.19.0 + '@types/yargs': 17.0.25 chalk: 4.1.2 dev: false @@ -1761,15 +1734,15 @@ packages: engines: {node: '>=6.0.0'} dev: false - /@jridgewell/sourcemap-codec@1.4.15: - resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + /@jridgewell/sourcemap-codec@1.5.0: + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} dev: false /@jridgewell/trace-mapping@0.3.9: resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} dependencies: '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/sourcemap-codec': 1.5.0 dev: false /@keyv/redis@2.5.8(supports-color@8.1.1): @@ -1793,6 +1766,13 @@ packages: '@noble/hashes': 1.4.0 dev: false + /@noble/curves@1.6.0: + resolution: {integrity: sha512-TlaHRXDehJuRNR9TfZDNQ45mMEd5dwUwmicsafcIX4SsNiqnCHKjE/1alYPd/lDRVhxdhUAlv8uEhMCI5zjIJQ==} + engines: {node: ^14.21.3 || >=16} + dependencies: + '@noble/hashes': 1.5.0 + dev: false + /@noble/hashes@1.3.2: resolution: {integrity: sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==} engines: {node: '>= 16'} @@ -1803,6 +1783,11 @@ packages: engines: {node: '>= 16'} dev: false + /@noble/hashes@1.5.0: + resolution: {integrity: sha512-1j6kQFb7QRru7eKN3ZDvRcP13rugwdxZqCjbiAVZfIJwgj2A65UmT4TgARXGlXgnRkORLTDTrO19ZErt7+QXgA==} + engines: {node: ^14.21.3 || >=16} + dev: false + /@pkgjs/parseargs@0.11.0: resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} @@ -1853,143 +1838,151 @@ packages: resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==} dev: false - /@rollup/rollup-android-arm-eabi@4.14.2: - resolution: {integrity: sha512-ahxSgCkAEk+P/AVO0vYr7DxOD3CwAQrT0Go9BJyGQ9Ef0QxVOfjDZMiF4Y2s3mLyPrjonchIMH/tbWHucJMykQ==} + /@rollup/rollup-android-arm-eabi@4.22.2: + resolution: {integrity: sha512-8Ao+EDmTPjZ1ZBABc1ohN7Ylx7UIYcjReZinigedTOnGFhIctyGPxY2II+hJ6gD2/vkDKZTyQ0e7++kwv6wDrw==} cpu: [arm] os: [android] requiresBuild: true dev: false optional: true - /@rollup/rollup-android-arm64@4.14.2: - resolution: {integrity: sha512-lAarIdxZWbFSHFSDao9+I/F5jDaKyCqAPMq5HqnfpBw8dKDiCaaqM0lq5h1pQTLeIqueeay4PieGR5jGZMWprw==} + /@rollup/rollup-android-arm64@4.22.2: + resolution: {integrity: sha512-I+B1v0a4iqdS9DvYt1RJZ3W+Oh9EVWjbY6gp79aAYipIbxSLEoQtFQlZEnUuwhDXCqMxJ3hluxKAdPD+GiluFQ==} cpu: [arm64] os: [android] requiresBuild: true dev: false optional: true - /@rollup/rollup-darwin-arm64@4.14.2: - resolution: {integrity: sha512-SWsr8zEUk82KSqquIMgZEg2GE5mCSfr9sE/thDROkX6pb3QQWPp8Vw8zOq2GyxZ2t0XoSIUlvHDkrf5Gmf7x3Q==} + /@rollup/rollup-darwin-arm64@4.22.2: + resolution: {integrity: sha512-BTHO7rR+LC67OP7I8N8GvdvnQqzFujJYWo7qCQ8fGdQcb8Gn6EQY+K1P+daQLnDCuWKbZ+gHAQZuKiQkXkqIYg==} cpu: [arm64] os: [darwin] requiresBuild: true dev: false optional: true - /@rollup/rollup-darwin-x64@4.14.2: - resolution: {integrity: sha512-o/HAIrQq0jIxJAhgtIvV5FWviYK4WB0WwV91SLUnsliw1lSAoLsmgEEgRWzDguAFeUEUUoIWXiJrPqU7vGiVkA==} + /@rollup/rollup-darwin-x64@4.22.2: + resolution: {integrity: sha512-1esGwDNFe2lov4I6GsEeYaAMHwkqk0IbuGH7gXGdBmd/EP9QddJJvTtTF/jv+7R8ZTYPqwcdLpMTxK8ytP6k6Q==} cpu: [x64] os: [darwin] requiresBuild: true dev: false optional: true - /@rollup/rollup-linux-arm-gnueabihf@4.14.2: - resolution: {integrity: sha512-nwlJ65UY9eGq91cBi6VyDfArUJSKOYt5dJQBq8xyLhvS23qO+4Nr/RreibFHjP6t+5ap2ohZrUJcHv5zk5ju/g==} + /@rollup/rollup-linux-arm-gnueabihf@4.22.2: + resolution: {integrity: sha512-GBHuY07x96OTEM3OQLNaUSUwrOhdMea/LDmlFHi/HMonrgF6jcFrrFFwJhhe84XtA1oK/Qh4yFS+VMREf6dobg==} cpu: [arm] os: [linux] requiresBuild: true dev: false optional: true - /@rollup/rollup-linux-arm64-gnu@4.14.2: - resolution: {integrity: sha512-Pg5TxxO2IVlMj79+c/9G0LREC9SY3HM+pfAwX7zj5/cAuwrbfj2Wv9JbMHIdPCfQpYsI4g9mE+2Bw/3aeSs2rQ==} + /@rollup/rollup-linux-arm-musleabihf@4.22.2: + resolution: {integrity: sha512-Dbfa9Sc1G1lWxop0gNguXOfGhaXQWAGhZUcqA0Vs6CnJq8JW/YOw/KvyGtQFmz4yDr0H4v9X248SM7bizYj4yQ==} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@rollup/rollup-linux-arm64-gnu@4.22.2: + resolution: {integrity: sha512-Z1YpgBvFYhZIyBW5BoopwSg+t7yqEhs5HCei4JbsaXnhz/eZehT18DaXl957aaE9QK7TRGFryCAtStZywcQe1A==} cpu: [arm64] os: [linux] requiresBuild: true dev: false optional: true - /@rollup/rollup-linux-arm64-musl@4.14.2: - resolution: {integrity: sha512-cAOTjGNm84gc6tS02D1EXtG7tDRsVSDTBVXOLbj31DkwfZwgTPYZ6aafSU7rD/4R2a34JOwlF9fQayuTSkoclA==} + /@rollup/rollup-linux-arm64-musl@4.22.2: + resolution: {integrity: sha512-66Zszr7i/JaQ0u/lefcfaAw16wh3oT72vSqubIMQqWzOg85bGCPhoeykG/cC5uvMzH80DQa2L539IqKht6twVA==} cpu: [arm64] os: [linux] requiresBuild: true dev: false optional: true - /@rollup/rollup-linux-powerpc64le-gnu@4.14.2: - resolution: {integrity: sha512-4RyT6v1kXb7C0fn6zV33rvaX05P0zHoNzaXI/5oFHklfKm602j+N4mn2YvoezQViRLPnxP8M1NaY4s/5kXO5cw==} + /@rollup/rollup-linux-powerpc64le-gnu@4.22.2: + resolution: {integrity: sha512-HpJCMnlMTfEhwo19bajvdraQMcAq3FX08QDx3OfQgb+414xZhKNf3jNvLFYKbbDSGBBrQh5yNwWZrdK0g0pokg==} cpu: [ppc64] os: [linux] requiresBuild: true dev: false optional: true - /@rollup/rollup-linux-riscv64-gnu@4.14.2: - resolution: {integrity: sha512-KNUH6jC/vRGAKSorySTyc/yRYlCwN/5pnMjXylfBniwtJx5O7X17KG/0efj8XM3TZU7raYRXJFFReOzNmL1n1w==} + /@rollup/rollup-linux-riscv64-gnu@4.22.2: + resolution: {integrity: sha512-/egzQzbOSRef2vYCINKITGrlwkzP7uXRnL+xU2j75kDVp3iPdcF0TIlfwTRF8woBZllhk3QaxNOEj2Ogh3t9hg==} cpu: [riscv64] os: [linux] requiresBuild: true dev: false optional: true - /@rollup/rollup-linux-s390x-gnu@4.14.2: - resolution: {integrity: sha512-xPV4y73IBEXToNPa3h5lbgXOi/v0NcvKxU0xejiFw6DtIYQqOTMhZ2DN18/HrrP0PmiL3rGtRG9gz1QE8vFKXQ==} + /@rollup/rollup-linux-s390x-gnu@4.22.2: + resolution: {integrity: sha512-qgYbOEbrPfEkH/OnUJd1/q4s89FvNJQIUldx8X2F/UM5sEbtkqZpf2s0yly2jSCKr1zUUOY1hnTP2J1WOzMAdA==} cpu: [s390x] os: [linux] requiresBuild: true dev: false optional: true - /@rollup/rollup-linux-x64-gnu@4.14.2: - resolution: {integrity: sha512-QBhtr07iFGmF9egrPOWyO5wciwgtzKkYPNLVCFZTmr4TWmY0oY2Dm/bmhHjKRwZoGiaKdNcKhFtUMBKvlchH+Q==} + /@rollup/rollup-linux-x64-gnu@4.22.2: + resolution: {integrity: sha512-a0lkvNhFLhf+w7A95XeBqGQaG0KfS3hPFJnz1uraSdUe/XImkp/Psq0Ca0/UdD5IEAGoENVmnYrzSC9Y2a2uKQ==} cpu: [x64] os: [linux] requiresBuild: true dev: false optional: true - /@rollup/rollup-linux-x64-musl@4.14.2: - resolution: {integrity: sha512-8zfsQRQGH23O6qazZSFY5jP5gt4cFvRuKTpuBsC1ZnSWxV8ZKQpPqOZIUtdfMOugCcBvFGRa1pDC/tkf19EgBw==} + /@rollup/rollup-linux-x64-musl@4.22.2: + resolution: {integrity: sha512-sSWBVZgzwtsuG9Dxi9kjYOUu/wKW+jrbzj4Cclabqnfkot8Z3VEHcIgyenA3lLn/Fu11uDviWjhctulkhEO60g==} cpu: [x64] os: [linux] requiresBuild: true dev: false optional: true - /@rollup/rollup-win32-arm64-msvc@4.14.2: - resolution: {integrity: sha512-H4s8UjgkPnlChl6JF5empNvFHp77Jx+Wfy2EtmYPe9G22XV+PMuCinZVHurNe8ggtwoaohxARJZbaH/3xjB/FA==} + /@rollup/rollup-win32-arm64-msvc@4.22.2: + resolution: {integrity: sha512-t/YgCbZ638R/r7IKb9yCM6nAek1RUvyNdfU0SHMDLOf6GFe/VG1wdiUAsxTWHKqjyzkRGg897ZfCpdo1bsCSsA==} cpu: [arm64] os: [win32] requiresBuild: true dev: false optional: true - /@rollup/rollup-win32-ia32-msvc@4.14.2: - resolution: {integrity: sha512-djqpAjm/i8erWYF0K6UY4kRO3X5+T4TypIqw60Q8MTqSBaQNpNXDhxdjpZ3ikgb+wn99svA7jxcXpiyg9MUsdw==} + /@rollup/rollup-win32-ia32-msvc@4.22.2: + resolution: {integrity: sha512-kTmX5uGs3WYOA+gYDgI6ITkZng9SP71FEMoHNkn+cnmb9Zuyyay8pf0oO5twtTwSjNGy1jlaWooTIr+Dw4tIbw==} cpu: [ia32] os: [win32] requiresBuild: true dev: false optional: true - /@rollup/rollup-win32-x64-msvc@4.14.2: - resolution: {integrity: sha512-teAqzLT0yTYZa8ZP7zhFKEx4cotS8Tkk5XiqNMJhD4CpaWB1BHARE4Qy+RzwnXvSAYv+Q3jAqCVBS+PS+Yee8Q==} + /@rollup/rollup-win32-x64-msvc@4.22.2: + resolution: {integrity: sha512-Yy8So+SoRz8I3NS4Bjh91BICPOSVgdompTIPYTByUqU66AXSIOgmW3Lv1ke3NORPqxdF+RdrZET+8vYai6f4aA==} cpu: [x64] os: [win32] requiresBuild: true dev: false optional: true - /@scure/base@1.1.6: - resolution: {integrity: sha512-ok9AWwhcgYuGG3Zfhyqg+zwl+Wn5uE+dwC0NV/2qQkx4dABbb/bx96vWu8NSj+BNjjSjno+JRYRjle1jV08k3g==} + /@scure/base@1.1.9: + resolution: {integrity: sha512-8YKhl8GHiNI/pU2VMaofa2Tor7PJRAjwQLBBuilkJ9L5+13yVbC7JO/wS7piioAvPSwR3JKM1IJ/u4xQzbcXKg==} dev: false - /@scure/bip32@1.3.2: - resolution: {integrity: sha512-N1ZhksgwD3OBlwTv3R6KFEcPojl/W4ElJOeCZdi+vuI5QmTFwLq3OFf2zd2ROpKvxFdgZ6hUpb0dx9bVNEwYCA==} + /@scure/bip32@1.4.0: + resolution: {integrity: sha512-sVUpc0Vq3tXCkDGYVWGIZTRfnvu8LoTDaev7vbwh0omSvVORONr960MQWdKqJDCReIEmTj3PAr73O3aoxz7OPg==} dependencies: - '@noble/curves': 1.2.0 - '@noble/hashes': 1.3.2 - '@scure/base': 1.1.6 + '@noble/curves': 1.4.0 + '@noble/hashes': 1.4.0 + '@scure/base': 1.1.9 dev: false - /@scure/bip39@1.2.1: - resolution: {integrity: sha512-Z3/Fsz1yr904dduJD0NpiyRHhRYHdcnyh73FZWiV+/qhWi83wNJ3NWolYqCEN+ZWsUz2TWwajJggcRE9r1zUYg==} + /@scure/bip39@1.4.0: + resolution: {integrity: sha512-BEEm6p8IueV/ZTfQLp/0vhw4NPnT9oWf5+28nvmeUICjP99f4vr2d+qc7AVGDDtwRep6ifR43Yed9ERVmiITzw==} dependencies: - '@noble/hashes': 1.3.2 - '@scure/base': 1.1.6 + '@noble/hashes': 1.5.0 + '@scure/base': 1.1.9 dev: false /@sinclair/typebox@0.27.8: @@ -2001,482 +1994,509 @@ packages: engines: {node: '>=6'} dev: false - /@smithy/abort-controller@2.2.0: - resolution: {integrity: sha512-wRlta7GuLWpTqtFfGo+nZyOO1vEvewdNR1R4rTxpC8XU6vG/NDyrFBhwLZsqg1NUoR1noVaXJPC/7ZK47QCySw==} + /@smithy/abort-controller@2.0.14: + resolution: {integrity: sha512-zXtteuYLWbSXnzI3O6xq3FYvigYZFW8mdytGibfarLL2lxHto9L3ILtGVnVGmFZa7SDh62l39EnU5hesLN87Fw==} engines: {node: '>=14.0.0'} dependencies: - '@smithy/types': 2.12.0 + '@smithy/types': 2.6.0 tslib: 2.6.2 dev: false - /@smithy/chunked-blob-reader-native@2.2.0: - resolution: {integrity: sha512-VNB5+1oCgX3Fzs072yuRsUoC2N4Zg/LJ11DTxX3+Qu+Paa6AmbIF0E9sc2wthz9Psrk/zcOlTCyuposlIhPjZQ==} + /@smithy/chunked-blob-reader-native@2.0.1: + resolution: {integrity: sha512-N2oCZRglhWKm7iMBu7S6wDzXirjAofi7tAd26cxmgibRYOBS4D3hGfmkwCpHdASZzwZDD8rluh0Rcqw1JeZDRw==} dependencies: - '@smithy/util-base64': 2.3.0 + '@smithy/util-base64': 2.0.1 tslib: 2.6.2 dev: false - /@smithy/chunked-blob-reader@2.2.0: - resolution: {integrity: sha512-3GJNvRwXBGdkDZZOGiziVYzDpn4j6zfyULHMDKAGIUo72yHALpE9CbhfQp/XcLNVoc1byfMpn6uW5H2BqPjgaQ==} + /@smithy/chunked-blob-reader@2.0.0: + resolution: {integrity: sha512-k+J4GHJsMSAIQPChGBrjEmGS+WbPonCXesoqP9fynIqjn7rdOThdH8FAeCmokP9mxTYKQAKoHCLPzNlm6gh7Wg==} dependencies: tslib: 2.6.2 dev: false - /@smithy/config-resolver@2.2.0: - resolution: {integrity: sha512-fsiMgd8toyUba6n1WRmr+qACzXltpdDkPTAaDqc8QqPBUzO+/JKwL6bUBseHVi8tu9l+3JOK+tSf7cay+4B3LA==} + /@smithy/config-resolver@2.0.19: + resolution: {integrity: sha512-JsghnQ5zjWmjEVY8TFOulLdEOCj09SjRLugrHlkPZTIBBm7PQitCFVLThbsKPZQOP7N3ME1DU1nKUc1UaVnBog==} engines: {node: '>=14.0.0'} dependencies: - '@smithy/node-config-provider': 2.3.0 - '@smithy/types': 2.12.0 - '@smithy/util-config-provider': 2.3.0 - '@smithy/util-middleware': 2.2.0 + '@smithy/node-config-provider': 2.1.6 + '@smithy/types': 2.6.0 + '@smithy/util-config-provider': 2.0.0 + '@smithy/util-middleware': 2.0.7 tslib: 2.6.2 dev: false - /@smithy/core@1.4.2: - resolution: {integrity: sha512-2fek3I0KZHWJlRLvRTqxTEri+qV0GRHrJIoLFuBMZB4EMg4WgeBGfF0X6abnrNYpq55KJ6R4D6x4f0vLnhzinA==} + /@smithy/credential-provider-imds@2.0.13: + resolution: {integrity: sha512-/xe3wNoC4j+BeTemH9t2gSKLBfyZmk8LXB2pQm/TOEYi+QhBgT+PSolNDfNAhrR68eggNE17uOimsrnwSkCt4w==} engines: {node: '>=14.0.0'} dependencies: - '@smithy/middleware-endpoint': 2.5.1 - '@smithy/middleware-retry': 2.3.1 - '@smithy/middleware-serde': 2.3.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/smithy-client': 2.5.1 - '@smithy/types': 2.12.0 - '@smithy/util-middleware': 2.2.0 + '@smithy/node-config-provider': 2.1.6 + '@smithy/property-provider': 2.0.11 + '@smithy/types': 2.6.0 + '@smithy/url-parser': 2.0.14 tslib: 2.6.2 dev: false - /@smithy/credential-provider-imds@2.3.0: - resolution: {integrity: sha512-BWB9mIukO1wjEOo1Ojgl6LrG4avcaC7T/ZP6ptmAaW4xluhSIPZhY+/PI5YKzlk+jsm+4sQZB45Bt1OfMeQa3w==} + /@smithy/credential-provider-imds@2.1.2: + resolution: {integrity: sha512-Y62jBWdoLPSYjr9fFvJf+KwTa1EunjVr6NryTEWCnwIY93OJxwV4t0qxjwdPl/XMsUkq79ppNJSEQN6Ohnhxjw==} engines: {node: '>=14.0.0'} dependencies: - '@smithy/node-config-provider': 2.3.0 - '@smithy/property-provider': 2.2.0 - '@smithy/types': 2.12.0 - '@smithy/url-parser': 2.2.0 + '@smithy/node-config-provider': 2.1.6 + '@smithy/property-provider': 2.0.15 + '@smithy/types': 2.6.0 + '@smithy/url-parser': 2.0.14 + tslib: 2.6.2 + dev: false + + /@smithy/eventstream-codec@2.0.10: + resolution: {integrity: sha512-3SSDgX2nIsFwif6m+I4+ar4KDcZX463Noes8ekBgQHitULiWvaDZX8XqPaRQSQ4bl1vbeVXHklJfv66MnVO+lw==} + dependencies: + '@aws-crypto/crc32': 3.0.0 + '@smithy/types': 2.6.0 + '@smithy/util-hex-encoding': 2.0.0 tslib: 2.6.2 dev: false - /@smithy/eventstream-codec@2.2.0: - resolution: {integrity: sha512-8janZoJw85nJmQZc4L8TuePp2pk1nxLgkxIR0TUjKJ5Dkj5oelB9WtiSSGXCQvNsJl0VSTvK/2ueMXxvpa9GVw==} + /@smithy/eventstream-codec@2.0.14: + resolution: {integrity: sha512-g/OU/MeWGfHDygoXgMWfG/Xb0QqDnAGcM9t2FRrVAhleXYRddGOEnfanR5cmHgB9ue52MJsyorqFjckzXsylaA==} dependencies: '@aws-crypto/crc32': 3.0.0 - '@smithy/types': 2.12.0 - '@smithy/util-hex-encoding': 2.2.0 + '@smithy/types': 2.6.0 + '@smithy/util-hex-encoding': 2.0.0 tslib: 2.6.2 dev: false - /@smithy/eventstream-serde-browser@2.2.0: - resolution: {integrity: sha512-UaPf8jKbcP71BGiO0CdeLmlg+RhWnlN8ipsMSdwvqBFigl5nil3rHOI/5GE3tfiuX8LvY5Z9N0meuU7Rab7jWw==} + /@smithy/eventstream-serde-browser@2.0.14: + resolution: {integrity: sha512-41wmYE9smDGJi1ZXp+LogH6BR7MkSsQD91wneIFISF/mupKULvoOJUkv/Nf0NMRxWlM3Bf1Vvi9FlR2oV4KU8Q==} engines: {node: '>=14.0.0'} dependencies: - '@smithy/eventstream-serde-universal': 2.2.0 - '@smithy/types': 2.12.0 + '@smithy/eventstream-serde-universal': 2.0.14 + '@smithy/types': 2.6.0 tslib: 2.6.2 dev: false - /@smithy/eventstream-serde-config-resolver@2.2.0: - resolution: {integrity: sha512-RHhbTw/JW3+r8QQH7PrganjNCiuiEZmpi6fYUAetFfPLfZ6EkiA08uN3EFfcyKubXQxOwTeJRZSQmDDCdUshaA==} + /@smithy/eventstream-serde-config-resolver@2.0.14: + resolution: {integrity: sha512-43IyRIzQ82s+5X+t/3Ood00CcWtAXQdmUIUKMed2Qg9REPk8SVIHhpm3rwewLwg+3G2Nh8NOxXlEQu6DsPUcMw==} engines: {node: '>=14.0.0'} dependencies: - '@smithy/types': 2.12.0 + '@smithy/types': 2.6.0 tslib: 2.6.2 dev: false - /@smithy/eventstream-serde-node@2.2.0: - resolution: {integrity: sha512-zpQMtJVqCUMn+pCSFcl9K/RPNtQE0NuMh8sKpCdEHafhwRsjP50Oq/4kMmvxSRy6d8Jslqd8BLvDngrUtmN9iA==} + /@smithy/eventstream-serde-node@2.0.14: + resolution: {integrity: sha512-jVh9E2qAr6DxH5tWfCAl9HV6tI0pEQ3JVmu85JknDvYTC66djcjDdhctPV2EHuKWf2kjRiFJcMIn0eercW4THA==} engines: {node: '>=14.0.0'} dependencies: - '@smithy/eventstream-serde-universal': 2.2.0 - '@smithy/types': 2.12.0 + '@smithy/eventstream-serde-universal': 2.0.14 + '@smithy/types': 2.6.0 tslib: 2.6.2 dev: false - /@smithy/eventstream-serde-universal@2.2.0: - resolution: {integrity: sha512-pvoe/vvJY0mOpuF84BEtyZoYfbehiFj8KKWk1ds2AT0mTLYFVs+7sBJZmioOFdBXKd48lfrx1vumdPdmGlCLxA==} + /@smithy/eventstream-serde-universal@2.0.14: + resolution: {integrity: sha512-Ie35+AISNn1NmEjn5b2SchIE49pvKp4Q74bE9ME5RULWI1MgXyGkQUajWd5E6OBSr/sqGcs+rD3IjPErXnCm9g==} engines: {node: '>=14.0.0'} dependencies: - '@smithy/eventstream-codec': 2.2.0 - '@smithy/types': 2.12.0 + '@smithy/eventstream-codec': 2.0.14 + '@smithy/types': 2.6.0 tslib: 2.6.2 dev: false - /@smithy/fetch-http-handler@2.5.0: - resolution: {integrity: sha512-BOWEBeppWhLn/no/JxUL/ghTfANTjT7kg3Ww2rPqTUY9R4yHPXxJ9JhMe3Z03LN3aPwiwlpDIUcVw1xDyHqEhw==} + /@smithy/fetch-http-handler@2.2.7: + resolution: {integrity: sha512-iSDBjxuH9TgrtMYAr7j5evjvkvgwLY3y+9D547uep+JNkZ1ZT+BaeU20j6I/bO/i26ilCWFImrlXTPsfQtZdIQ==} dependencies: - '@smithy/protocol-http': 3.3.0 - '@smithy/querystring-builder': 2.2.0 - '@smithy/types': 2.12.0 - '@smithy/util-base64': 2.3.0 + '@smithy/protocol-http': 3.0.10 + '@smithy/querystring-builder': 2.0.14 + '@smithy/types': 2.6.0 + '@smithy/util-base64': 2.0.1 tslib: 2.6.2 dev: false - /@smithy/hash-blob-browser@2.2.0: - resolution: {integrity: sha512-SGPoVH8mdXBqrkVCJ1Hd1X7vh1zDXojNN1yZyZTZsCno99hVue9+IYzWDjq/EQDDXxmITB0gBmuyPh8oAZSTcg==} + /@smithy/hash-blob-browser@2.0.15: + resolution: {integrity: sha512-HX/7GIyPUT/HDWVYe2HYQu0iRnSYpF4uZVNhAhZsObPRawk5Mv0PbyluBgIFI2DDCCKgL/tloCYYwycff1GtQg==} dependencies: - '@smithy/chunked-blob-reader': 2.2.0 - '@smithy/chunked-blob-reader-native': 2.2.0 - '@smithy/types': 2.12.0 + '@smithy/chunked-blob-reader': 2.0.0 + '@smithy/chunked-blob-reader-native': 2.0.1 + '@smithy/types': 2.6.0 tslib: 2.6.2 dev: false - /@smithy/hash-node@2.2.0: - resolution: {integrity: sha512-zLWaC/5aWpMrHKpoDF6nqpNtBhlAYKF/7+9yMN7GpdR8CzohnWfGtMznPybnwSS8saaXBMxIGwJqR4HmRp6b3g==} + /@smithy/hash-node@2.0.16: + resolution: {integrity: sha512-Wbi9A0PacMYUOwjAulQP90Wl3mQ6NDwnyrZQzFjDz+UzjXOSyQMgBrTkUBz+pVoYVlX3DUu24gWMZBcit+wOGg==} engines: {node: '>=14.0.0'} dependencies: - '@smithy/types': 2.12.0 - '@smithy/util-buffer-from': 2.2.0 - '@smithy/util-utf8': 2.3.0 + '@smithy/types': 2.6.0 + '@smithy/util-buffer-from': 2.0.0 + '@smithy/util-utf8': 2.0.2 tslib: 2.6.2 dev: false - /@smithy/hash-stream-node@2.2.0: - resolution: {integrity: sha512-aT+HCATOSRMGpPI7bi7NSsTNVZE/La9IaxLXWoVAYMxHT5hGO3ZOGEMZQg8A6nNL+pdFGtZQtND1eoY084HgHQ==} + /@smithy/hash-stream-node@2.0.16: + resolution: {integrity: sha512-4x24GFdeWos1Z49MC5sYdM1j+z32zcUr6oWM9Ggm3WudFAcRIcbG9uDQ1XgJ0Kl+ZTjpqLKniG0iuWvQb2Ud1A==} engines: {node: '>=14.0.0'} dependencies: - '@smithy/types': 2.12.0 - '@smithy/util-utf8': 2.3.0 + '@smithy/types': 2.6.0 + '@smithy/util-utf8': 2.0.2 tslib: 2.6.2 dev: false - /@smithy/invalid-dependency@2.2.0: - resolution: {integrity: sha512-nEDASdbKFKPXN2O6lOlTgrEEOO9NHIeO+HVvZnkqc8h5U9g3BIhWsvzFo+UcUbliMHvKNPD/zVxDrkP1Sbgp8Q==} + /@smithy/invalid-dependency@2.0.14: + resolution: {integrity: sha512-d8ohpwZo9RzTpGlAfsWtfm1SHBSU7+N4iuZ6MzR10xDTujJJWtmXYHK1uzcr7rggbpUTaWyHpPFgnf91q0EFqQ==} dependencies: - '@smithy/types': 2.12.0 + '@smithy/types': 2.6.0 tslib: 2.6.2 dev: false - /@smithy/is-array-buffer@2.2.0: - resolution: {integrity: sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==} + /@smithy/is-array-buffer@2.0.0: + resolution: {integrity: sha512-z3PjFjMyZNI98JFRJi/U0nGoLWMSJlDjAW4QUX2WNZLas5C0CmVV6LJ01JI0k90l7FvpmixjWxPFmENSClQ7ug==} engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 dev: false - /@smithy/md5-js@2.2.0: - resolution: {integrity: sha512-M26XTtt9IIusVMOWEAhIvFIr9jYj4ISPPGJROqw6vXngO3IYJCnVVSMFn4Tx1rUTG5BiKJNg9u2nxmBiZC5IlQ==} + /@smithy/md5-js@2.0.16: + resolution: {integrity: sha512-YhWt9aKl+EMSNXyUTUo7I01WHf3HcCkPu/Hl2QmTNwrHT49eWaY7hptAMaERZuHFH0V5xHgPKgKZo2I93DFtgQ==} dependencies: - '@smithy/types': 2.12.0 - '@smithy/util-utf8': 2.3.0 + '@smithy/types': 2.6.0 + '@smithy/util-utf8': 2.0.2 tslib: 2.6.2 dev: false - /@smithy/middleware-content-length@2.2.0: - resolution: {integrity: sha512-5bl2LG1Ah/7E5cMSC+q+h3IpVHMeOkG0yLRyQT1p2aMJkSrZG7RlXHPuAgb7EyaFeidKEnnd/fNaLLaKlHGzDQ==} + /@smithy/middleware-content-length@2.0.16: + resolution: {integrity: sha512-9ddDia3pp1d3XzLXKcm7QebGxLq9iwKf+J1LapvlSOhpF8EM9SjMeSrMOOFgG+2TfW5K3+qz4IAJYYm7INYCng==} engines: {node: '>=14.0.0'} dependencies: - '@smithy/protocol-http': 3.3.0 - '@smithy/types': 2.12.0 + '@smithy/protocol-http': 3.0.10 + '@smithy/types': 2.6.0 tslib: 2.6.2 dev: false - /@smithy/middleware-endpoint@2.5.1: - resolution: {integrity: sha512-1/8kFp6Fl4OsSIVTWHnNjLnTL8IqpIb/D3sTSczrKFnrE9VMNWxnrRKNvpUHOJ6zpGD5f62TPm7+17ilTJpiCQ==} + /@smithy/middleware-endpoint@2.2.1: + resolution: {integrity: sha512-dVDS7HNJl/wb0lpByXor6whqDbb1YlLoaoWYoelyYzLHioXOE7y/0iDwJWtDcN36/tVCw9EPBFZ3aans84jLpg==} engines: {node: '>=14.0.0'} dependencies: - '@smithy/middleware-serde': 2.3.0 - '@smithy/node-config-provider': 2.3.0 - '@smithy/shared-ini-file-loader': 2.4.0 - '@smithy/types': 2.12.0 - '@smithy/url-parser': 2.2.0 - '@smithy/util-middleware': 2.2.0 + '@smithy/middleware-serde': 2.0.14 + '@smithy/node-config-provider': 2.1.6 + '@smithy/shared-ini-file-loader': 2.2.5 + '@smithy/types': 2.6.0 + '@smithy/url-parser': 2.0.14 + '@smithy/util-middleware': 2.0.7 tslib: 2.6.2 dev: false - /@smithy/middleware-retry@2.3.1: - resolution: {integrity: sha512-P2bGufFpFdYcWvqpyqqmalRtwFUNUA8vHjJR5iGqbfR6mp65qKOLcUd6lTr4S9Gn/enynSrSf3p3FVgVAf6bXA==} + /@smithy/middleware-retry@2.0.21: + resolution: {integrity: sha512-EZS1EXv1k6IJX6hyu/0yNQuPcPaXwG8SWljQHYueyRbOxmqYgoWMWPtfZj0xRRQ4YtLawQSpBgAeiJltq8/MPw==} engines: {node: '>=14.0.0'} dependencies: - '@smithy/node-config-provider': 2.3.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/service-error-classification': 2.1.5 - '@smithy/smithy-client': 2.5.1 - '@smithy/types': 2.12.0 - '@smithy/util-middleware': 2.2.0 - '@smithy/util-retry': 2.2.0 + '@smithy/node-config-provider': 2.1.6 + '@smithy/protocol-http': 3.0.10 + '@smithy/service-error-classification': 2.0.7 + '@smithy/types': 2.6.0 + '@smithy/util-middleware': 2.0.7 + '@smithy/util-retry': 2.0.7 tslib: 2.6.2 - uuid: 9.0.1 + uuid: 8.3.2 dev: false - /@smithy/middleware-serde@2.3.0: - resolution: {integrity: sha512-sIADe7ojwqTyvEQBe1nc/GXB9wdHhi9UwyX0lTyttmUWDJLP655ZYE1WngnNyXREme8I27KCaUhyhZWRXL0q7Q==} + /@smithy/middleware-serde@2.0.14: + resolution: {integrity: sha512-hFi3FqoYWDntCYA2IGY6gJ6FKjq2gye+1tfxF2HnIJB5uW8y2DhpRNBSUMoqP+qvYzRqZ6ntv4kgbG+o3pX57g==} engines: {node: '>=14.0.0'} dependencies: - '@smithy/types': 2.12.0 + '@smithy/types': 2.6.0 tslib: 2.6.2 dev: false - /@smithy/middleware-stack@2.2.0: - resolution: {integrity: sha512-Qntc3jrtwwrsAC+X8wms8zhrTr0sFXnyEGhZd9sLtsJ/6gGQKFzNB+wWbOcpJd7BR8ThNCoKt76BuQahfMvpeA==} + /@smithy/middleware-stack@2.0.8: + resolution: {integrity: sha512-7/N59j0zWqVEKExJcA14MrLDZ/IeN+d6nbkN8ucs+eURyaDUXWYlZrQmMOd/TyptcQv0+RDlgag/zSTTV62y/Q==} engines: {node: '>=14.0.0'} dependencies: - '@smithy/types': 2.12.0 + '@smithy/types': 2.6.0 tslib: 2.6.2 dev: false - /@smithy/node-config-provider@2.3.0: - resolution: {integrity: sha512-0elK5/03a1JPWMDPaS726Iw6LpQg80gFut1tNpPfxFuChEEklo2yL823V94SpTZTxmKlXFtFgsP55uh3dErnIg==} + /@smithy/node-config-provider@2.1.6: + resolution: {integrity: sha512-HLqTs6O78m3M3z1cPLFxddxhEPv5MkVatfPuxoVO3A+cHZanNd/H5I6btcdHy6N2CB1MJ/lihJC92h30SESsBA==} engines: {node: '>=14.0.0'} dependencies: - '@smithy/property-provider': 2.2.0 - '@smithy/shared-ini-file-loader': 2.4.0 - '@smithy/types': 2.12.0 + '@smithy/property-provider': 2.0.15 + '@smithy/shared-ini-file-loader': 2.2.5 + '@smithy/types': 2.6.0 tslib: 2.6.2 dev: false - /@smithy/node-http-handler@2.5.0: - resolution: {integrity: sha512-mVGyPBzkkGQsPoxQUbxlEfRjrj6FPyA3u3u2VXGr9hT8wilsoQdZdvKpMBFMB8Crfhv5dNkKHIW0Yyuc7eABqA==} + /@smithy/node-http-handler@2.1.10: + resolution: {integrity: sha512-lkALAwtN6odygIM4nB8aHDahINM6WXXjNrZmWQAh0RSossySRT2qa31cFv0ZBuAYVWeprskRk13AFvvLmf1WLw==} engines: {node: '>=14.0.0'} dependencies: - '@smithy/abort-controller': 2.2.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/querystring-builder': 2.2.0 - '@smithy/types': 2.12.0 + '@smithy/abort-controller': 2.0.14 + '@smithy/protocol-http': 3.0.10 + '@smithy/querystring-builder': 2.0.14 + '@smithy/types': 2.6.0 tslib: 2.6.2 dev: false - /@smithy/property-provider@2.2.0: - resolution: {integrity: sha512-+xiil2lFhtTRzXkx8F053AV46QnIw6e7MV8od5Mi68E1ICOjCeCHw2XfLnDEUHnT9WGUIkwcqavXjfwuJbGlpg==} + /@smithy/property-provider@2.0.11: + resolution: {integrity: sha512-kzuOadu6XvrnlF1iXofpKXYmo4oe19st9/DE8f5gHNaFepb4eTkR8gD8BSdTnNnv7lxfv6uOwZPg4VS6hemX1w==} engines: {node: '>=14.0.0'} dependencies: - '@smithy/types': 2.12.0 + '@smithy/types': 2.6.0 tslib: 2.6.2 dev: false - /@smithy/protocol-http@3.3.0: - resolution: {integrity: sha512-Xy5XK1AFWW2nlY/biWZXu6/krgbaf2dg0q492D8M5qthsnU2H+UgFeZLbM76FnH7s6RO/xhQRkj+T6KBO3JzgQ==} + /@smithy/property-provider@2.0.15: + resolution: {integrity: sha512-YbRFBn8oiiC3o1Kn3a4KjGa6k47rCM9++5W9cWqYn9WnkyH+hBWgfJAckuxpyA2Hq6Ys4eFrWzXq6fqHEw7iew==} engines: {node: '>=14.0.0'} dependencies: - '@smithy/types': 2.12.0 + '@smithy/types': 2.6.0 tslib: 2.6.2 dev: false - /@smithy/querystring-builder@2.2.0: - resolution: {integrity: sha512-L1kSeviUWL+emq3CUVSgdogoM/D9QMFaqxL/dd0X7PCNWmPXqt+ExtrBjqT0V7HLN03Vs9SuiLrG3zy3JGnE5A==} + /@smithy/protocol-http@3.0.10: + resolution: {integrity: sha512-6+tjNk7rXW7YTeGo9qwxXj/2BFpJTe37kTj3EnZCoX/nH+NP/WLA7O83fz8XhkGqsaAhLUPo/bB12vvd47nsmg==} engines: {node: '>=14.0.0'} dependencies: - '@smithy/types': 2.12.0 - '@smithy/util-uri-escape': 2.2.0 + '@smithy/types': 2.6.0 tslib: 2.6.2 dev: false - /@smithy/querystring-parser@2.2.0: - resolution: {integrity: sha512-BvHCDrKfbG5Yhbpj4vsbuPV2GgcpHiAkLeIlcA1LtfpMz3jrqizP1+OguSNSj1MwBHEiN+jwNisXLGdajGDQJA==} + /@smithy/querystring-builder@2.0.14: + resolution: {integrity: sha512-lQ4pm9vTv9nIhl5jt6uVMPludr6syE2FyJmHsIJJuOD7QPIJnrf9HhUGf1iHh9KJ4CUv21tpOU3X6s0rB6uJ0g==} engines: {node: '>=14.0.0'} dependencies: - '@smithy/types': 2.12.0 + '@smithy/types': 2.6.0 + '@smithy/util-uri-escape': 2.0.0 tslib: 2.6.2 dev: false - /@smithy/service-error-classification@2.1.5: - resolution: {integrity: sha512-uBDTIBBEdAQryvHdc5W8sS5YX7RQzF683XrHePVdFmAgKiMofU15FLSM0/HU03hKTnazdNRFa0YHS7+ArwoUSQ==} + /@smithy/querystring-parser@2.0.14: + resolution: {integrity: sha512-+cbtXWI9tNtQjlgQg3CA+pvL3zKTAxPnG3Pj6MP89CR3vi3QMmD0SOWoq84tqZDnJCxlsusbgIXk1ngMReXo+A==} engines: {node: '>=14.0.0'} dependencies: - '@smithy/types': 2.12.0 + '@smithy/types': 2.6.0 + tslib: 2.6.2 dev: false - /@smithy/shared-ini-file-loader@2.4.0: - resolution: {integrity: sha512-WyujUJL8e1B6Z4PBfAqC/aGY1+C7T0w20Gih3yrvJSk97gpiVfB+y7c46T4Nunk+ZngLq0rOIdeVeIklk0R3OA==} + /@smithy/service-error-classification@2.0.7: + resolution: {integrity: sha512-LLxgW12qGz8doYto15kZ4x1rHjtXl0BnCG6T6Wb8z2DI4PT9cJfOSvzbuLzy7+5I24PAepKgFeWHRd9GYy3Z9w==} engines: {node: '>=14.0.0'} dependencies: - '@smithy/types': 2.12.0 + '@smithy/types': 2.6.0 + dev: false + + /@smithy/shared-ini-file-loader@2.0.12: + resolution: {integrity: sha512-umi0wc4UBGYullAgYNUVfGLgVpxQyES47cnomTqzCKeKO5oudO4hyDNj+wzrOjqDFwK2nWYGVgS8Y0JgGietrw==} + engines: {node: '>=14.0.0'} + dependencies: + '@smithy/types': 2.6.0 + tslib: 2.6.2 + dev: false + + /@smithy/shared-ini-file-loader@2.2.5: + resolution: {integrity: sha512-LHA68Iu7SmNwfAVe8egmjDCy648/7iJR/fK1UnVw+iAOUJoEYhX2DLgVd5pWllqdDiRbQQzgaHLcRokM+UFR1w==} + engines: {node: '>=14.0.0'} + dependencies: + '@smithy/types': 2.6.0 tslib: 2.6.2 dev: false - /@smithy/signature-v4@2.3.0: - resolution: {integrity: sha512-ui/NlpILU+6HAQBfJX8BBsDXuKSNrjTSuOYArRblcrErwKFutjrCNb/OExfVRyj9+26F9J+ZmfWT+fKWuDrH3Q==} + /@smithy/signature-v4@2.0.10: + resolution: {integrity: sha512-S6gcP4IXfO/VMswovrhxPpqvQvMal7ZRjM4NvblHSPpE5aNBYx67UkHFF3kg0hR3tJKqNpBGbxwq0gzpdHKLRA==} engines: {node: '>=14.0.0'} dependencies: - '@smithy/is-array-buffer': 2.2.0 - '@smithy/types': 2.12.0 - '@smithy/util-hex-encoding': 2.2.0 - '@smithy/util-middleware': 2.2.0 - '@smithy/util-uri-escape': 2.2.0 - '@smithy/util-utf8': 2.3.0 + '@smithy/eventstream-codec': 2.0.10 + '@smithy/is-array-buffer': 2.0.0 + '@smithy/types': 2.6.0 + '@smithy/util-hex-encoding': 2.0.0 + '@smithy/util-middleware': 2.0.3 + '@smithy/util-uri-escape': 2.0.0 + '@smithy/util-utf8': 2.0.2 tslib: 2.6.2 dev: false - /@smithy/smithy-client@2.5.1: - resolution: {integrity: sha512-jrbSQrYCho0yDaaf92qWgd+7nAeap5LtHTI51KXqmpIFCceKU3K9+vIVTUH72bOJngBMqa4kyu1VJhRcSrk/CQ==} + /@smithy/smithy-client@2.1.16: + resolution: {integrity: sha512-Lw67+yQSpLl4YkDLUzI2KgS8TXclXmbzSeOJUmRFS4ueT56B4pw3RZRF/SRzvgyxM/HxgkUan8oSHXCujPDafQ==} engines: {node: '>=14.0.0'} dependencies: - '@smithy/middleware-endpoint': 2.5.1 - '@smithy/middleware-stack': 2.2.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/types': 2.12.0 - '@smithy/util-stream': 2.2.0 + '@smithy/middleware-stack': 2.0.8 + '@smithy/types': 2.6.0 + '@smithy/util-stream': 2.0.21 tslib: 2.6.2 dev: false - /@smithy/types@2.12.0: - resolution: {integrity: sha512-QwYgloJ0sVNBeBuBs65cIkTbfzV/Q6ZNPCJ99EICFEdJYG50nGIY/uYXp+TbsdJReIuPr0a0kXmCvren3MbRRw==} + /@smithy/types@2.6.0: + resolution: {integrity: sha512-PgqxJq2IcdMF9iAasxcqZqqoOXBHufEfmbEUdN1pmJrJltT42b0Sc8UiYSWWzKkciIp9/mZDpzYi4qYG1qqg6g==} engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 dev: false - /@smithy/url-parser@2.2.0: - resolution: {integrity: sha512-hoA4zm61q1mNTpksiSWp2nEl1dt3j726HdRhiNgVJQMj7mLp7dprtF57mOB6JvEk/x9d2bsuL5hlqZbBuHQylQ==} + /@smithy/url-parser@2.0.14: + resolution: {integrity: sha512-kbu17Y1AFXi5lNlySdDj7ZzmvupyWKCX/0jNZ8ffquRyGdbDZb+eBh0QnWqsSmnZa/ctyWaTf7n4l/pXLExrnw==} dependencies: - '@smithy/querystring-parser': 2.2.0 - '@smithy/types': 2.12.0 + '@smithy/querystring-parser': 2.0.14 + '@smithy/types': 2.6.0 tslib: 2.6.2 dev: false - /@smithy/util-base64@2.3.0: - resolution: {integrity: sha512-s3+eVwNeJuXUwuMbusncZNViuhv2LjVJ1nMwTqSA0XAC7gjKhqqxRdJPhR8+YrkoZ9IiIbFk/yK6ACe/xlF+hw==} + /@smithy/util-base64@2.0.1: + resolution: {integrity: sha512-DlI6XFYDMsIVN+GH9JtcRp3j02JEVuWIn/QOZisVzpIAprdsxGveFed0bjbMRCqmIFe8uetn5rxzNrBtIGrPIQ==} engines: {node: '>=14.0.0'} dependencies: - '@smithy/util-buffer-from': 2.2.0 - '@smithy/util-utf8': 2.3.0 + '@smithy/util-buffer-from': 2.0.0 tslib: 2.6.2 dev: false - /@smithy/util-body-length-browser@2.2.0: - resolution: {integrity: sha512-dtpw9uQP7W+n3vOtx0CfBD5EWd7EPdIdsQnWTDoFf77e3VUf05uA7R7TGipIo8e4WL2kuPdnsr3hMQn9ziYj5w==} + /@smithy/util-body-length-browser@2.0.0: + resolution: {integrity: sha512-JdDuS4ircJt+FDnaQj88TzZY3+njZ6O+D3uakS32f2VNnDo3vyEuNdBOh/oFd8Df1zSZOuH1HEChk2AOYDezZg==} dependencies: tslib: 2.6.2 dev: false - /@smithy/util-body-length-node@2.3.0: - resolution: {integrity: sha512-ITWT1Wqjubf2CJthb0BuT9+bpzBfXeMokH/AAa5EJQgbv9aPMVfnM76iFIZVFf50hYXGbtiV71BHAthNWd6+dw==} + /@smithy/util-body-length-node@2.1.0: + resolution: {integrity: sha512-/li0/kj/y3fQ3vyzn36NTLGmUwAICb7Jbe/CsWCktW363gh1MOcpEcSO3mJ344Gv2dqz8YJCLQpb6hju/0qOWw==} engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 dev: false - /@smithy/util-buffer-from@2.2.0: - resolution: {integrity: sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==} + /@smithy/util-buffer-from@2.0.0: + resolution: {integrity: sha512-/YNnLoHsR+4W4Vf2wL5lGv0ksg8Bmk3GEGxn2vEQt52AQaPSCuaO5PM5VM7lP1K9qHRKHwrPGktqVoAHKWHxzw==} engines: {node: '>=14.0.0'} dependencies: - '@smithy/is-array-buffer': 2.2.0 + '@smithy/is-array-buffer': 2.0.0 tslib: 2.6.2 dev: false - /@smithy/util-config-provider@2.3.0: - resolution: {integrity: sha512-HZkzrRcuFN1k70RLqlNK4FnPXKOpkik1+4JaBoHNJn+RnJGYqaa3c5/+XtLOXhlKzlRgNvyaLieHTW2VwGN0VQ==} + /@smithy/util-config-provider@2.0.0: + resolution: {integrity: sha512-xCQ6UapcIWKxXHEU4Mcs2s7LcFQRiU3XEluM2WcCjjBtQkUN71Tb+ydGmJFPxMUrW/GWMgQEEGipLym4XG0jZg==} engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 dev: false - /@smithy/util-defaults-mode-browser@2.2.1: - resolution: {integrity: sha512-RtKW+8j8skk17SYowucwRUjeh4mCtnm5odCL0Lm2NtHQBsYKrNW0od9Rhopu9wF1gHMfHeWF7i90NwBz/U22Kw==} + /@smithy/util-defaults-mode-browser@2.0.20: + resolution: {integrity: sha512-QJtnbTIl0/BbEASkx1MUFf6EaoWqWW1/IM90N++8NNscePvPf77GheYfpoPis6CBQawUWq8QepTP2QUSAdrVkw==} engines: {node: '>= 10.0.0'} dependencies: - '@smithy/property-provider': 2.2.0 - '@smithy/smithy-client': 2.5.1 - '@smithy/types': 2.12.0 + '@smithy/property-provider': 2.0.15 + '@smithy/smithy-client': 2.1.16 + '@smithy/types': 2.6.0 bowser: 2.11.0 tslib: 2.6.2 dev: false - /@smithy/util-defaults-mode-node@2.3.1: - resolution: {integrity: sha512-vkMXHQ0BcLFysBMWgSBLSk3+leMpFSyyFj8zQtv5ZyUBx8/owVh1/pPEkzmW/DR/Gy/5c8vjLDD9gZjXNKbrpA==} + /@smithy/util-defaults-mode-node@2.0.26: + resolution: {integrity: sha512-lGFPOFCHv1ql019oegYqa54BZH7HREw6EBqjDLbAr0wquMX0BDi2sg8TJ6Eq+JGLijkZbJB73m4+aK8OFAapMg==} engines: {node: '>= 10.0.0'} dependencies: - '@smithy/config-resolver': 2.2.0 - '@smithy/credential-provider-imds': 2.3.0 - '@smithy/node-config-provider': 2.3.0 - '@smithy/property-provider': 2.2.0 - '@smithy/smithy-client': 2.5.1 - '@smithy/types': 2.12.0 + '@smithy/config-resolver': 2.0.19 + '@smithy/credential-provider-imds': 2.1.2 + '@smithy/node-config-provider': 2.1.6 + '@smithy/property-provider': 2.0.15 + '@smithy/smithy-client': 2.1.16 + '@smithy/types': 2.6.0 tslib: 2.6.2 dev: false - /@smithy/util-endpoints@1.2.0: - resolution: {integrity: sha512-BuDHv8zRjsE5zXd3PxFXFknzBG3owCpjq8G3FcsXW3CykYXuEqM3nTSsmLzw5q+T12ZYuDlVUZKBdpNbhVtlrQ==} + /@smithy/util-endpoints@1.0.5: + resolution: {integrity: sha512-K7qNuCOD5K/90MjHvHm9kJldrfm40UxWYQxNEShMFxV/lCCCRIg8R4uu1PFAxRvPxNpIdcrh1uK6I1ISjDXZJw==} engines: {node: '>= 14.0.0'} dependencies: - '@smithy/node-config-provider': 2.3.0 - '@smithy/types': 2.12.0 + '@smithy/node-config-provider': 2.1.6 + '@smithy/types': 2.6.0 + tslib: 2.6.2 + dev: false + + /@smithy/util-hex-encoding@2.0.0: + resolution: {integrity: sha512-c5xY+NUnFqG6d7HFh1IFfrm3mGl29lC+vF+geHv4ToiuJCBmIfzx6IeHLg+OgRdPFKDXIw6pvi+p3CsscaMcMA==} + engines: {node: '>=14.0.0'} + dependencies: tslib: 2.6.2 dev: false - /@smithy/util-hex-encoding@2.2.0: - resolution: {integrity: sha512-7iKXR+/4TpLK194pVjKiasIyqMtTYJsgKgM242Y9uzt5dhHnUDvMNb+3xIhRJ9QhvqGii/5cRUt4fJn3dtXNHQ==} + /@smithy/util-middleware@2.0.3: + resolution: {integrity: sha512-+FOCFYOxd2HO7v/0hkFSETKf7FYQWa08wh/x/4KUeoVBnLR4juw8Qi+TTqZI6E2h5LkzD9uOaxC9lAjrpVzaaA==} engines: {node: '>=14.0.0'} dependencies: + '@smithy/types': 2.6.0 tslib: 2.6.2 dev: false - /@smithy/util-middleware@2.2.0: - resolution: {integrity: sha512-L1qpleXf9QD6LwLCJ5jddGkgWyuSvWBkJwWAZ6kFkdifdso+sk3L3O1HdmPvCdnCK3IS4qWyPxev01QMnfHSBw==} + /@smithy/util-middleware@2.0.7: + resolution: {integrity: sha512-tRINOTlf1G9B0ECarFQAtTgMhpnrMPSa+5j4ZEwEawCLfTFTavk6757sxhE4RY5RMlD/I3x+DCS8ZUiR8ho9Pw==} engines: {node: '>=14.0.0'} dependencies: - '@smithy/types': 2.12.0 + '@smithy/types': 2.6.0 tslib: 2.6.2 dev: false - /@smithy/util-retry@2.2.0: - resolution: {integrity: sha512-q9+pAFPTfftHXRytmZ7GzLFFrEGavqapFc06XxzZFcSIGERXMerXxCitjOG1prVDR9QdjqotF40SWvbqcCpf8g==} + /@smithy/util-retry@2.0.7: + resolution: {integrity: sha512-fIe5yARaF0+xVT1XKcrdnHKTJ1Vc4+3e3tLDjCuIcE9b6fkBzzGFY7AFiX4M+vj6yM98DrwkuZeHf7/hmtVp0Q==} engines: {node: '>= 14.0.0'} dependencies: - '@smithy/service-error-classification': 2.1.5 - '@smithy/types': 2.12.0 + '@smithy/service-error-classification': 2.0.7 + '@smithy/types': 2.6.0 tslib: 2.6.2 dev: false - /@smithy/util-stream@2.2.0: - resolution: {integrity: sha512-17faEXbYWIRst1aU9SvPZyMdWmqIrduZjVOqCPMIsWFNxs5yQQgFrJL6b2SdiCzyW9mJoDjFtgi53xx7EH+BXA==} + /@smithy/util-stream@2.0.21: + resolution: {integrity: sha512-0BUE16d7n1x7pi1YluXJdB33jOTyBChT0j/BlOkFa9uxfg6YqXieHxjHNuCdJRARa7AZEj32LLLEPJ1fSa4inA==} engines: {node: '>=14.0.0'} dependencies: - '@smithy/fetch-http-handler': 2.5.0 - '@smithy/node-http-handler': 2.5.0 - '@smithy/types': 2.12.0 - '@smithy/util-base64': 2.3.0 - '@smithy/util-buffer-from': 2.2.0 - '@smithy/util-hex-encoding': 2.2.0 - '@smithy/util-utf8': 2.3.0 + '@smithy/fetch-http-handler': 2.2.7 + '@smithy/node-http-handler': 2.1.10 + '@smithy/types': 2.6.0 + '@smithy/util-base64': 2.0.1 + '@smithy/util-buffer-from': 2.0.0 + '@smithy/util-hex-encoding': 2.0.0 + '@smithy/util-utf8': 2.0.2 tslib: 2.6.2 dev: false - /@smithy/util-uri-escape@2.2.0: - resolution: {integrity: sha512-jtmJMyt1xMD/d8OtbVJ2gFZOSKc+ueYJZPW20ULW1GOp/q/YIM0wNh+u8ZFao9UaIGz4WoPW8hC64qlWLIfoDA==} + /@smithy/util-uri-escape@2.0.0: + resolution: {integrity: sha512-ebkxsqinSdEooQduuk9CbKcI+wheijxEb3utGXkCoYQkJnwTnLbH1JXGimJtUkQwNQbsbuYwG2+aFVyZf5TLaw==} engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 dev: false - /@smithy/util-utf8@2.3.0: - resolution: {integrity: sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==} + /@smithy/util-utf8@2.0.2: + resolution: {integrity: sha512-qOiVORSPm6Ce4/Yu6hbSgNHABLP2VMv8QOC3tTDNHHlWY19pPyc++fBTbZPtx6egPXi4HQxKDnMxVxpbtX2GoA==} engines: {node: '>=14.0.0'} dependencies: - '@smithy/util-buffer-from': 2.2.0 + '@smithy/util-buffer-from': 2.0.0 tslib: 2.6.2 dev: false - /@smithy/util-waiter@2.2.0: - resolution: {integrity: sha512-IHk53BVw6MPMi2Gsn+hCng8rFA3ZmR3Rk7GllxDUW9qFJl/hiSvskn7XldkECapQVkIg/1dHpMAxI9xSTaLLSA==} + /@smithy/util-waiter@2.0.14: + resolution: {integrity: sha512-Q6gSz4GUNjNGhrfNg+2Mjy+7K4pEI3r82x1b/+3dSc03MQqobMiUrRVN/YK/4nHVagvBELCoXsiHAFQJNQ5BeA==} engines: {node: '>=14.0.0'} dependencies: - '@smithy/abort-controller': 2.2.0 - '@smithy/types': 2.12.0 + '@smithy/abort-controller': 2.0.14 + '@smithy/types': 2.6.0 tslib: 2.6.2 dev: false - /@solana/addresses@2.0.0-preview.3.20240427064403.7151be60df62854dad6f0c4b543163a426146a22(typescript@5.3.3): - resolution: {integrity: sha512-czchg1TTCTVWsKLpHwiL+MqdBBxGINW8+OJaeBxfYy1HsECqrezX7lOLzvs79ixcD0GRycqsiMjD2fcZg1MJ2Q==} + /@solana/addresses@2.0.0-rc.1(typescript@5.3.2): + resolution: {integrity: sha512-g31KrLZdECjAKceShlGoYxnWDmEVklpjPs8xOtnj/HWupEk+Mds4vtmTACTAeJkWZW/3x+z0aexMtO86MKA47g==} peerDependencies: typescript: '>=5' dependencies: - '@solana/assertions': 2.0.0-preview.3.20240427064403.7151be60df62854dad6f0c4b543163a426146a22(typescript@5.3.3) - '@solana/codecs-core': 2.0.0-preview.3.20240427064403.7151be60df62854dad6f0c4b543163a426146a22(typescript@5.3.3) - '@solana/codecs-strings': 2.0.0-preview.3.20240427064403.7151be60df62854dad6f0c4b543163a426146a22(typescript@5.3.3) - '@solana/errors': 2.0.0-preview.3.20240427064403.7151be60df62854dad6f0c4b543163a426146a22(typescript@5.3.3) - typescript: 5.3.3 + '@solana/assertions': 2.0.0-rc.1(typescript@5.3.2) + '@solana/codecs-core': 2.0.0-rc.1(typescript@5.3.2) + '@solana/codecs-strings': 2.0.0-rc.1(typescript@5.3.2) + '@solana/errors': 2.0.0-rc.1(typescript@5.3.2) + typescript: 5.3.2 transitivePeerDependencies: - fastestsmallesttextencoderdecoder dev: false - /@solana/assertions@2.0.0-preview.3.20240427064403.7151be60df62854dad6f0c4b543163a426146a22(typescript@5.3.3): - resolution: {integrity: sha512-+W47AjShMhxC5pJ8m1kN1rQzPDB1dCRxhVa+gSSJu8WhwsM5RHWm3HaM4ci4s9lKCOI1LKcRCThJtRUVwGLFlg==} + /@solana/assertions@2.0.0-rc.1(typescript@5.3.2): + resolution: {integrity: sha512-dvxYCUB7ftZa5lWcsyMYLsGm204H6yVN8Q3ngluMG0rhTtScMBRklVg7Vs39ISwJOkJWJPGToaZ7DjNJ83bm1Q==} peerDependencies: typescript: '>=5' dependencies: - '@solana/errors': 2.0.0-preview.3.20240427064403.7151be60df62854dad6f0c4b543163a426146a22(typescript@5.3.3) - typescript: 5.3.3 + '@solana/errors': 2.0.0-rc.1(typescript@5.3.2) + typescript: 5.3.2 dev: false /@solana/buffer-layout@4.0.1: @@ -2486,54 +2506,54 @@ packages: buffer: 6.0.3 dev: false - /@solana/codecs-core@2.0.0-preview.3.20240427064403.7151be60df62854dad6f0c4b543163a426146a22(typescript@5.3.3): - resolution: {integrity: sha512-E9aswS8uGsNMXkUcu/I9IIqwymGHy/QOYVoTukiUewgHCy5NOVDSJ+Sl3Jz8hbP4aAPsQSLOY/Gix/k+9AJKag==} + /@solana/codecs-core@2.0.0-rc.1(typescript@5.3.2): + resolution: {integrity: sha512-bauxqMfSs8EHD0JKESaNmNuNvkvHSuN3bbWAF5RjOfDu2PugxHrvRebmYauvSumZ3cTfQ4HJJX6PG5rN852qyQ==} peerDependencies: typescript: '>=5' dependencies: - '@solana/errors': 2.0.0-preview.3.20240427064403.7151be60df62854dad6f0c4b543163a426146a22(typescript@5.3.3) - typescript: 5.3.3 + '@solana/errors': 2.0.0-rc.1(typescript@5.3.2) + typescript: 5.3.2 dev: false - /@solana/codecs-numbers@2.0.0-preview.3.20240427064403.7151be60df62854dad6f0c4b543163a426146a22(typescript@5.3.3): - resolution: {integrity: sha512-5MQDlPdf5DgILPjgnAPiIa+jrRQNcuQO7NZW67Fh9sY/mYcSW2EDp0t9fwOnEfgqEhFufEwgdvUcXcteGKiPcw==} + /@solana/codecs-numbers@2.0.0-rc.1(typescript@5.3.2): + resolution: {integrity: sha512-J5i5mOkvukXn8E3Z7sGIPxsThRCgSdgTWJDQeZvucQ9PT6Y3HiVXJ0pcWiOWAoQ3RX8e/f4I3IC+wE6pZiJzDQ==} peerDependencies: typescript: '>=5' dependencies: - '@solana/codecs-core': 2.0.0-preview.3.20240427064403.7151be60df62854dad6f0c4b543163a426146a22(typescript@5.3.3) - '@solana/errors': 2.0.0-preview.3.20240427064403.7151be60df62854dad6f0c4b543163a426146a22(typescript@5.3.3) - typescript: 5.3.3 + '@solana/codecs-core': 2.0.0-rc.1(typescript@5.3.2) + '@solana/errors': 2.0.0-rc.1(typescript@5.3.2) + typescript: 5.3.2 dev: false - /@solana/codecs-strings@2.0.0-preview.3.20240427064403.7151be60df62854dad6f0c4b543163a426146a22(typescript@5.3.3): - resolution: {integrity: sha512-MBADeN/wbcSMvFPfUQ/m/TlnrGP3qC1RcxKjGcxkDOZpTSSRfh+v8vbCZGVo35q04Y5wS/0CYbxyAZWN2bG/PQ==} + /@solana/codecs-strings@2.0.0-rc.1(typescript@5.3.2): + resolution: {integrity: sha512-9/wPhw8TbGRTt6mHC4Zz1RqOnuPTqq1Nb4EyuvpZ39GW6O2t2Q7Q0XxiB3+BdoEjwA2XgPw6e2iRfvYgqty44g==} peerDependencies: fastestsmallesttextencoderdecoder: ^1.0.22 typescript: '>=5' dependencies: - '@solana/codecs-core': 2.0.0-preview.3.20240427064403.7151be60df62854dad6f0c4b543163a426146a22(typescript@5.3.3) - '@solana/codecs-numbers': 2.0.0-preview.3.20240427064403.7151be60df62854dad6f0c4b543163a426146a22(typescript@5.3.3) - '@solana/errors': 2.0.0-preview.3.20240427064403.7151be60df62854dad6f0c4b543163a426146a22(typescript@5.3.3) - typescript: 5.3.3 + '@solana/codecs-core': 2.0.0-rc.1(typescript@5.3.2) + '@solana/codecs-numbers': 2.0.0-rc.1(typescript@5.3.2) + '@solana/errors': 2.0.0-rc.1(typescript@5.3.2) + typescript: 5.3.2 dev: false - /@solana/errors@2.0.0-preview.3.20240427064403.7151be60df62854dad6f0c4b543163a426146a22(typescript@5.3.3): - resolution: {integrity: sha512-1FUMfyji65gXdRRfCtW+biEBIqinLPb2zvqT8KaqAISXECVmLLc576O2nZgYMlmg829w1vSoSiXXO1KxipYmBw==} + /@solana/errors@2.0.0-rc.1(typescript@5.3.2): + resolution: {integrity: sha512-ejNvQ2oJ7+bcFAYWj225lyRkHnixuAeb7RQCixm+5mH4n1IA4Qya/9Bmfy5RAAHQzxK43clu3kZmL5eF9VGtYQ==} hasBin: true peerDependencies: typescript: '>=5' dependencies: chalk: 5.3.0 - commander: 12.0.0 - typescript: 5.3.3 + commander: 12.1.0 + typescript: 5.3.2 dev: false - /@solana/web3.js@1.91.4: - resolution: {integrity: sha512-zconqecIcBqEF6JiM4xYF865Xc4aas+iWK5qnu7nwKPq9ilRYcn+2GiwpYXqUqqBUe0XCO17w18KO0F8h+QATg==} + /@solana/web3.js@1.95.3: + resolution: {integrity: sha512-O6rPUN0w2fkNqx/Z3QJMB9L225Ex10PRDH8bTaIUPZXMPV0QP8ZpPvjQnXK+upUczlRgzHzd6SjKIha1p+I6og==} dependencies: - '@babel/runtime': 7.24.4 - '@noble/curves': 1.4.0 - '@noble/hashes': 1.4.0 + '@babel/runtime': 7.25.6 + '@noble/curves': 1.6.0 + '@noble/hashes': 1.5.0 '@solana/buffer-layout': 4.0.1 agentkeepalive: 4.5.0 bigint-buffer: 1.1.5 @@ -2542,10 +2562,10 @@ packages: bs58: 4.0.1 buffer: 6.0.3 fast-stable-stringify: 1.0.0 - jayson: 4.1.0 + jayson: 4.1.2 node-fetch: 2.7.0 - rpc-websockets: 7.9.0 - superstruct: 0.14.2 + rpc-websockets: 9.0.2 + superstruct: 2.0.2 transitivePeerDependencies: - bufferutil - encoding @@ -2558,7 +2578,7 @@ packages: '@coral-xyz/anchor': 0.29.0 '@coral-xyz/anchor-new': /@coral-xyz/anchor@0.30.1 '@solanafm/kinobi-lite': 0.12.4 - axios: 1.7.2 + axios: 1.7.7 transitivePeerDependencies: - bufferutil - debug @@ -2569,7 +2589,7 @@ packages: /@solanafm/kinobi-lite@0.12.4: resolution: {integrity: sha512-EJjgdFKOw23H6ULPd32wFiFX3O8mPALg6X2d5wSLjxOnJRHnlmVfGLNnTW8bZbLXAsZM8Ja9V+x5B9UQscftjQ==} dependencies: - '@noble/hashes': 1.4.0 + '@noble/hashes': 1.5.0 dev: false /@sqltools/formatter@1.2.5: @@ -2580,10 +2600,72 @@ packages: resolution: {integrity: sha512-C89mus6IXnNi0xMQrZqUFBZwLj8tbuq9lye8Gq/lHmmERAUpi6UsWEyLdJLx2mneZzF3JtY8eNiiZ16jmjtvfw==} dev: false + /@subsquid/util-internal-archive-layout@0.1.2(@subsquid/util-internal-fs@0.1.2): + resolution: {integrity: sha512-j5qfZA1i1nKMwvA2jGTE5JBOGTrtI8wMg0M9YBM+L9XgwX8RaKtowxL6sodvfVQrkqf7YG6jfVMQMEG/H89uOA==} + peerDependencies: + '@subsquid/util-internal-fs': ^0.1.2 + dependencies: + '@subsquid/util-internal': 3.2.0 + '@subsquid/util-internal-fs': 0.1.2 + '@subsquid/util-internal-hex': 1.2.2 + '@subsquid/util-internal-range': 0.2.0 + dev: false + + /@subsquid/util-internal-binary-heap@1.0.0: + resolution: {integrity: sha512-88auuc8yNFmCZugmJSTYzS7WM/nN2obKGQCgrl8Jty5rJUFbqazGSi8icqftKhv6MPtUMJ3PSTRLiTFXAUGnAA==} + dev: false + + /@subsquid/util-internal-fs@0.1.2: + resolution: {integrity: sha512-PlRAIOr1T84sEvt+KALTQB3ojJ4VMOVgZnP1nZsTcHxrg1QGqeklqF7fFYAwsamaeelyqiKIcouYP57zSjN1Fg==} + dependencies: + '@aws-sdk/client-s3': 3.462.0 + upath: 2.0.1 + transitivePeerDependencies: + - aws-crt + dev: false + + /@subsquid/util-internal-hex@1.2.2: + resolution: {integrity: sha512-E43HVqf23jP5hvtWF9GsiN8luANjnJ1daR2SVTwaIUAYU/uNjv1Bi6tHz2uexlflBhyxAgBDmHgunXZ45wQTIw==} + dev: false + + /@subsquid/util-internal-http-server@1.2.2: + resolution: {integrity: sha512-B2SOSz8frUkXarbsELljew25iXFFyATEtS8NV31xKUXmhYfPklqrcF4YNJ/aLlfCtVOiR042YKVZDx2T8RbN6w==} + dependencies: + stoppable: 1.1.0 + dev: false + + /@subsquid/util-internal-range@0.0.1: + resolution: {integrity: sha512-9hqlPdTJeR9j9+1L3ymOPC0/qJ2IemGkrHmkTq+gwkjtGKmiXuXw4WLgt0Ps5aeupWKfP7UFy1hDE9DZQFseog==} + dependencies: + '@subsquid/util-internal': 2.5.2 + '@subsquid/util-internal-binary-heap': 1.0.0 + dev: false + + /@subsquid/util-internal-range@0.2.0: + resolution: {integrity: sha512-+V2MkmUPLJT7399l5lRmCC1Wb/cOpWI8NttZboBVPRrqzvYDu+JtXlKiyK41tXj4sWGqxe60PLr1VKYDyVw52g==} + dependencies: + '@subsquid/util-internal': 3.2.0 + '@subsquid/util-internal-binary-heap': 1.0.0 + dev: false + + /@subsquid/util-internal@2.5.2: + resolution: {integrity: sha512-N7lfZdWEkM35jG5wdGYx25TJKGGLMOx9VInSeRhW9T/3BEmHAuSWI2mIIYnZ8w5L041V8HGo61ijWF6qsXvZjg==} + dev: false + + /@subsquid/util-internal@3.2.0: + resolution: {integrity: sha512-foNCjOmZaP8MKMa9sNe2GXTjFSDM9UqA0I0C0/ZvCxM1lCmG3mxZb70f8Wyi7TePXC/eV8eARbIqFyz0GjQmzA==} + dev: false + /@substrate/calc@0.2.8: resolution: {integrity: sha512-1c3mxf35FBeOswduhy0Wil9s4exHahXFo974qa0Ci2AORX8JTxmwhBb10+3Ls9iWoTFwvgOaFr9v1HeRL5tCig==} dev: false + /@swc/helpers@0.5.13: + resolution: {integrity: sha512-UoKGxQ3r5kYI9dALKJapMmuK+1zWM/H17Z1+iwnNmzcJRnfFuevZs375TA5rW31pu4BS4NoSy1fRsexDXfWn5w==} + dependencies: + tslib: 2.6.2 + dev: false + /@szmarczak/http-timer@1.1.2: resolution: {integrity: sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==} engines: {node: '>=6'} @@ -2607,30 +2689,30 @@ packages: resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} dev: false - /@types/accepts@1.3.7: - resolution: {integrity: sha512-Pay9fq2lM2wXPWbteBsRAGiWH2hig4ZE2asK+mm7kUzlxRTfL961rj89I6zV/E3PcIkDqyuBEcMxFT7rccugeQ==} + /@types/accepts@1.3.5: + resolution: {integrity: sha512-jOdnI/3qTpHABjM5cx1Hc0sKsPoYCp+DP/GJRGtDlPd7fiV9oXGGIcjW/ZOxLIvjGz8MA+uMZI9metHlgqbgwQ==} dependencies: - '@types/node': 18.19.31 + '@types/node': 18.19.0 dev: false /@types/body-parser@1.19.2: resolution: {integrity: sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==} dependencies: - '@types/connect': 3.4.38 - '@types/node': 18.19.31 + '@types/connect': 3.4.36 + '@types/node': 18.19.0 dev: false - /@types/body-parser@1.19.5: - resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} + /@types/body-parser@1.19.3: + resolution: {integrity: sha512-oyl4jvAfTGX9Bt6Or4H9ni1Z447/tQuxnZsytsCaExKlmJiU8sFgnIBRzJUpKwB5eWn9HuBYlUlVA74q/yN0eQ==} dependencies: - '@types/connect': 3.4.38 - '@types/node': 18.19.31 + '@types/connect': 3.4.36 + '@types/node': 18.19.0 dev: false - /@types/connect@3.4.38: - resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} + /@types/connect@3.4.36: + resolution: {integrity: sha512-P63Zd/JUGq+PdrM1lv0Wv5SBYeA2+CORvbrXbngriYY0jzLUWfQMQQxOhjONEz/wlHOAxOdY7CY65rgQdTjq2w==} dependencies: - '@types/node': 18.19.31 + '@types/node': 18.19.0 dev: false /@types/cors@2.8.12: @@ -2645,6 +2727,10 @@ packages: resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} dev: false + /@types/estree@1.0.6: + resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} + dev: false + /@types/expect@24.3.0: resolution: {integrity: sha512-aq5Z+YFBz5o2b6Sp1jigx5nsmoZMK5Ceurjwy6PZmRv7dEi1jLtkARfvB1ME+OXJUG+7TZUDcv3WoCr/aor6dQ==} deprecated: This is a stub types definition. expect provides its own type definitions, so you do not need this installed. @@ -2655,75 +2741,86 @@ packages: /@types/express-serve-static-core@4.17.31: resolution: {integrity: sha512-DxMhY+NAsTwMMFHBTtJFNp5qiHKJ7TeqOo23zVEM9alT1Ml27Q3xcTH0xwxn7Q0BbMcVEJOs/7aQtUWupUQN3Q==} dependencies: - '@types/node': 18.19.31 - '@types/qs': 6.9.14 - '@types/range-parser': 1.2.7 + '@types/node': 18.19.0 + '@types/qs': 6.9.8 + '@types/range-parser': 1.2.5 dev: false - /@types/express-serve-static-core@4.19.0: - resolution: {integrity: sha512-bGyep3JqPCRry1wq+O5n7oiBgGWmeIJXPjXXCo8EK0u8duZGSYar7cGqd3ML2JUsLGeB7fmc06KYo9fLGWqPvQ==} + /@types/express-serve-static-core@4.17.37: + resolution: {integrity: sha512-ZohaCYTgGFcOP7u6aJOhY9uIZQgZ2vxC2yWoArY+FeDXlqeH66ZVBjgvg+RLVAS/DWNq4Ap9ZXu1+SUQiiWYMg==} dependencies: - '@types/node': 18.19.31 - '@types/qs': 6.9.14 - '@types/range-parser': 1.2.7 - '@types/send': 0.17.4 + '@types/node': 18.19.0 + '@types/qs': 6.9.8 + '@types/range-parser': 1.2.5 + '@types/send': 0.17.2 dev: false /@types/express@4.17.14: resolution: {integrity: sha512-TEbt+vaPFQ+xpxFLFssxUDXj5cWCxZJjIcB7Yg0k0GMHGtgtQgpvx/MUQUeAkNbA9AAGrwkAsoeItdTgS7FMyg==} dependencies: - '@types/body-parser': 1.19.2 - '@types/express-serve-static-core': 4.17.31 - '@types/qs': 6.9.14 - '@types/serve-static': 1.15.7 + '@types/body-parser': 1.19.3 + '@types/express-serve-static-core': 4.17.37 + '@types/qs': 6.9.8 + '@types/serve-static': 1.15.3 dev: false /@types/express@4.17.21: resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==} dependencies: - '@types/body-parser': 1.19.5 - '@types/express-serve-static-core': 4.19.0 - '@types/qs': 6.9.14 - '@types/serve-static': 1.15.7 + '@types/body-parser': 1.19.3 + '@types/express-serve-static-core': 4.17.37 + '@types/qs': 6.9.8 + '@types/serve-static': 1.15.3 dev: false /@types/glob@7.2.0: resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} dependencies: '@types/minimatch': 5.1.2 - '@types/node': 18.19.31 + '@types/node': 18.19.0 + dev: false + + /@types/glob@8.1.0: + resolution: {integrity: sha512-IO+MJPVhoqz+28h1qLAcBEH2+xHMK6MTyHJc7MTnnYb6wsoLR29POVGJ7LycmVXIqyy/4/2ShP5sUwTXuOwb/w==} + dependencies: + '@types/minimatch': 5.1.2 + '@types/node': 18.18.0 dev: false - /@types/http-errors@2.0.4: - resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==} + /@types/http-errors@2.0.2: + resolution: {integrity: sha512-lPG6KlZs88gef6aD85z3HNkztpj7w2R7HmR3gygjfXCQmsLloWNARFkMuzKiiY8FGdh1XDpgBdrSf4aKDiA7Kg==} dev: false /@types/inflected@2.1.3: resolution: {integrity: sha512-qEllJ4fo4Cn8sPu/6+2Iw6ouxcFuQIfj3PDRO8cvzvUaJ5udD2IGwFm6xrzOQSJm4MzXRcvZkR3rqwWxvxP8eQ==} dev: false - /@types/istanbul-lib-coverage@2.0.6: - resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} + /@types/istanbul-lib-coverage@2.0.4: + resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} dev: false - /@types/istanbul-lib-report@3.0.3: - resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} + /@types/istanbul-lib-report@3.0.1: + resolution: {integrity: sha512-gPQuzaPR5h/djlAv2apEG1HVOyj1IUs7GpfMZixU0/0KXT3pm64ylHuMUI1/Akh+sq/iikxg6Z2j+fcMDXaaTQ==} dependencies: - '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-lib-coverage': 2.0.4 dev: false - /@types/istanbul-reports@3.0.4: - resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} + /@types/istanbul-reports@3.0.2: + resolution: {integrity: sha512-kv43F9eb3Lhj+lr/Hn6OcLCs/sSM8bt+fIaP11rCYngfV6NVjzWXJ17owQtDQTL9tQ8WSLUrGsSJ6rJz0F1w1A==} dependencies: - '@types/istanbul-lib-report': 3.0.3 + '@types/istanbul-lib-report': 3.0.1 dev: false /@types/long@4.0.2: resolution: {integrity: sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==} dev: false - /@types/mime@1.3.5: - resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} + /@types/mime@1.3.3: + resolution: {integrity: sha512-Ys+/St+2VF4+xuY6+kDIXGxbNRO0mesVg0bbxEfB97Od1Vjpjx9KD1qxs64Gcb3CWPirk9Xe+PT4YiiHQ9T+eg==} + dev: false + + /@types/mime@3.0.2: + resolution: {integrity: sha512-Wj+fqpTLtTbG7c0tH47dkahefpLKEbB+xAZuLq7b4/IDHPl/n6VoXcyUQ2bypFlbSwvCr0y+bD4euTTqTJsPxQ==} dev: false /@types/minimatch@5.1.2: @@ -2734,8 +2831,8 @@ packages: resolution: {integrity: sha512-dJvrYWxP/UcXm36Qn36fxhUKu8A/xMRXVT2cliFF1Z7UA9liG5Psj3ezNSZw+5puH2czDXRLcXQxf8JbJt0ejg==} dev: false - /@types/mocha@10.0.7: - resolution: {integrity: sha512-GN8yJ1mNTcFcah/wKEFIJckJx9iJLoMSzWcfRRuxz/Jk+U6KQNnml+etbtxFK8lPjzOw3zp4Ha/kjSst9fsHYw==} + /@types/mocha@10.0.8: + resolution: {integrity: sha512-HfMcUmy9hTMJh66VNcmeC9iVErIZJli2bszuXc6julh5YGuRb/W5OnkHjwLNYdFlMis0sY3If5SEAp+PktdJjw==} dev: false /@types/node@10.17.60: @@ -2750,135 +2847,139 @@ packages: resolution: {integrity: sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q==} dev: false - /@types/node@18.19.31: - resolution: {integrity: sha512-ArgCD39YpyyrtFKIqMDvjz79jto5fcI/SVUs2HwB+f0dAzq68yqOdyaSivLiLugSziTpNXLQrVb7RZFmdZzbhA==} - dependencies: - undici-types: 5.26.5 + /@types/node@18.18.0: + resolution: {integrity: sha512-3xA4X31gHT1F1l38ATDIL9GpRLdwVhnEFC8Uikv5ZLlXATwrCYyPq7ZWHxzxc3J/30SUiwiYT+bQe0/XvKlWbw==} dev: false - /@types/pg@8.11.5: - resolution: {integrity: sha512-2xMjVviMxneZHDHX5p5S6tsRRs7TpDHeeK7kTTMe/kAC/mRRNjWHjZg0rkiY+e17jXSZV3zJYDxXV8Cy72/Vuw==} + /@types/node@18.19.0: + resolution: {integrity: sha512-667KNhaD7U29mT5wf+TZUnrzPrlL2GNQ5N0BMjO2oNULhBxX0/FKCkm6JMu0Jh7Z+1LwUlR21ekd7KhIboNFNw==} dependencies: - '@types/node': 18.19.31 - pg-protocol: 1.6.1 - pg-types: 4.0.2 + undici-types: 5.26.5 dev: false - /@types/pluralize@0.0.33: - resolution: {integrity: sha512-JOqsl+ZoCpP4e8TDke9W79FDcSgPAR0l6pixx2JHkhnRjvShyYiAYw2LVsnA7K08Y6DeOnaU6ujmENO4os/cYg==} + /@types/pg@8.10.9: + resolution: {integrity: sha512-UksbANNE/f8w0wOMxVKKIrLCbEMV+oM1uKejmwXr39olg4xqcfBDbXxObJAt6XxHbDa4XTKOlUEcEltXDX+XLQ==} + dependencies: + '@types/node': 18.19.0 + pg-protocol: 1.6.0 + pg-types: 4.0.1 dev: false - /@types/qs@6.9.14: - resolution: {integrity: sha512-5khscbd3SwWMhFqylJBLQ0zIu7c1K6Vz0uBIt915BI3zV0q1nfjRQD3RqSBcPaO6PHEF4ov/t9y89fSiyThlPA==} + /@types/qs@6.9.8: + resolution: {integrity: sha512-u95svzDlTysU5xecFNTgfFG5RUWu1A9P0VzgpcIiGZA9iraHOdSzcxMxQ55DyeRaGCSxQi7LxXDI4rzq/MYfdg==} dev: false - /@types/range-parser@1.2.7: - resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} + /@types/range-parser@1.2.5: + resolution: {integrity: sha512-xrO9OoVPqFuYyR/loIHjnbvvyRZREYKLjxV4+dY6v3FQR3stQ9ZxIGkaclF7YhI9hfjpuTbu14hZEy94qKLtOA==} dev: false - /@types/semver@7.5.8: - resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} + /@types/semver@7.5.6: + resolution: {integrity: sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==} dev: false - /@types/send@0.17.4: - resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} + /@types/send@0.17.2: + resolution: {integrity: sha512-aAG6yRf6r0wQ29bkS+x97BIs64ZLxeE/ARwyS6wrldMm3C1MdKwCcnnEwMC1slI8wuxJOpiUH9MioC0A0i+GJw==} dependencies: - '@types/mime': 1.3.5 - '@types/node': 18.19.31 + '@types/mime': 1.3.3 + '@types/node': 18.19.0 dev: false - /@types/serve-static@1.15.7: - resolution: {integrity: sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==} + /@types/serve-static@1.15.3: + resolution: {integrity: sha512-yVRvFsEMrv7s0lGhzrggJjNOSmZCdgCjw9xWrPr/kNNLp6FaDfMC1KaYl3TSJ0c58bECwNBMoQrZJ8hA8E1eFg==} dependencies: - '@types/http-errors': 2.0.4 - '@types/node': 18.19.31 - '@types/send': 0.17.4 + '@types/http-errors': 2.0.2 + '@types/mime': 3.0.2 + '@types/node': 18.19.0 dev: false - /@types/stack-utils@2.0.3: - resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} + /@types/stack-utils@2.0.1: + resolution: {integrity: sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==} dev: false /@types/stoppable@1.1.3: resolution: {integrity: sha512-7wGKIBJGE4ZxFjk9NkjAxZMLlIXroETqP1FJCdoSvKmEznwmBxQFmTB1dsCkAvVcNemuSZM5qkkd9HE/NL2JTw==} dependencies: - '@types/node': 18.19.31 + '@types/node': 18.19.0 dev: false /@types/supports-color@8.1.3: resolution: {integrity: sha512-Hy6UMpxhE3j1tLpl27exp1XqHD7n8chAiNPzWfz16LPZoMMoSc4dzLl6w9qijkEb/r5O1ozdu1CWGA2L83ZeZg==} dev: false - /@types/validator@13.11.9: - resolution: {integrity: sha512-FCTsikRozryfayPuiI46QzH3fnrOoctTjvOYZkho9BTFLCOZ2rgZJHMOVgCOfttjPJcgOx52EpkY0CMfy87MIw==} + /@types/uuid@8.3.4: + resolution: {integrity: sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==} + dev: false + + /@types/validator@13.11.2: + resolution: {integrity: sha512-nIKVVQKT6kGKysnNt+xLobr+pFJNssJRi2s034wgWeFBUx01fI8BeHTW2TcRp7VcFu9QCYG8IlChTuovcm0oKQ==} dev: false /@types/websocket@1.0.10: resolution: {integrity: sha512-svjGZvPB7EzuYS94cI7a+qhwgGU1y89wUgjT6E2wVUfmAGIvRfT7obBvRtnhXCSsoMdlG4gBFGE7MfkIXZLoww==} dependencies: - '@types/node': 18.19.31 + '@types/node': 18.19.0 dev: false /@types/ws@7.4.7: resolution: {integrity: sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==} dependencies: - '@types/node': 18.19.31 + '@types/node': 18.19.0 dev: false /@types/ws@8.5.10: resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==} dependencies: - '@types/node': 18.19.31 + '@types/node': 18.19.0 dev: false /@types/xxhashjs@0.2.4: resolution: {integrity: sha512-E2+ZoJY2JjmVPN0iQM5gJvZkk98O2PYXSi6HrciEk3EKF34+mauEk/HgwTeCz+2r8HXHMKpucrwy4qTT12OPaQ==} dependencies: - '@types/node': 18.19.31 + '@types/node': 18.19.0 dev: false - /@types/yargs-parser@21.0.3: - resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} + /@types/yargs-parser@21.0.1: + resolution: {integrity: sha512-axdPBuLuEJt0c4yI5OZssC19K2Mq1uKdrfZBzuxLvaztgqUtFYZUNw7lETExPYJR9jdEoIg4mb7RQKRQzOkeGQ==} dev: false - /@types/yargs@17.0.32: - resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==} + /@types/yargs@17.0.25: + resolution: {integrity: sha512-gy7iPgwnzNvxgAEi2bXOHWCVOG6f7xsprVJH4MjlAWeBmJ7vh/Y1kwMtUrs64ztf24zVIRCpr3n/z6gm9QIkgg==} dependencies: - '@types/yargs-parser': 21.0.3 + '@types/yargs-parser': 21.0.1 dev: false - /@vitest/expect@1.5.0: - resolution: {integrity: sha512-0pzuCI6KYi2SIC3LQezmxujU9RK/vwC1U9R0rLuGlNGcOuDWxqWKu6nUdFsX9tH1WU0SXtAxToOsEjeUn1s3hA==} + /@vitest/expect@1.6.0: + resolution: {integrity: sha512-ixEvFVQjycy/oNgHjqsL6AZCDduC+tflRluaHIzKIsdbzkLn2U/iBnVeJwB6HsIjQBdfMR8Z0tRxKUsvFJEeWQ==} dependencies: - '@vitest/spy': 1.5.0 - '@vitest/utils': 1.5.0 - chai: 4.4.1 + '@vitest/spy': 1.6.0 + '@vitest/utils': 1.6.0 + chai: 4.5.0 dev: false - /@vitest/runner@1.5.0: - resolution: {integrity: sha512-7HWwdxXP5yDoe7DTpbif9l6ZmDwCzcSIK38kTSIt6CFEpMjX4EpCgT6wUmS0xTXqMI6E/ONmfgRKmaujpabjZQ==} + /@vitest/runner@1.6.0: + resolution: {integrity: sha512-P4xgwPjwesuBiHisAVz/LSSZtDjOTPYZVmNAnpHHSR6ONrf8eCJOFRvUwdHn30F5M1fxhqtl7QZQUk2dprIXAg==} dependencies: - '@vitest/utils': 1.5.0 + '@vitest/utils': 1.6.0 p-limit: 5.0.0 pathe: 1.1.2 dev: false - /@vitest/snapshot@1.5.0: - resolution: {integrity: sha512-qpv3fSEuNrhAO3FpH6YYRdaECnnRjg9VxbhdtPwPRnzSfHVXnNzzrpX4cJxqiwgRMo7uRMWDFBlsBq4Cr+rO3A==} + /@vitest/snapshot@1.6.0: + resolution: {integrity: sha512-+Hx43f8Chus+DCmygqqfetcAZrDJwvTj0ymqjQq4CvmpKFSTVteEOBzCusu1x2tt4OJcvBflyHUE0DZSLgEMtQ==} dependencies: - magic-string: 0.30.9 + magic-string: 0.30.11 pathe: 1.1.2 pretty-format: 29.7.0 dev: false - /@vitest/spy@1.5.0: - resolution: {integrity: sha512-vu6vi6ew5N5MMHJjD5PoakMRKYdmIrNJmyfkhRpQt5d9Ewhw9nZ5Aqynbi3N61bvk9UvZ5UysMT6ayIrZ8GA9w==} + /@vitest/spy@1.6.0: + resolution: {integrity: sha512-leUTap6B/cqi/bQkXUu6bQV5TZPx7pmMBKBQiI0rJA8c3pB56ZsaTbREnF7CJfmvAS4V2cXIBAh/3rVwrrCYgw==} dependencies: tinyspy: 2.2.1 dev: false - /@vitest/utils@1.5.0: - resolution: {integrity: sha512-BDU0GNL8MWkRkSRdNFvCUCAVOeHaUlVJ9Tx0TYBZyXaaOTmGtUFObzchCivIBrIwKzvZA7A9sCejVhXM2aY98A==} + /@vitest/utils@1.6.0: + resolution: {integrity: sha512-21cPiuGMoMZwiOHa2i4LXkMkMkCGzA+MVFV70jRwHo95dL4x/ts5GZhML1QWuy7yfp3WzK3lRvZi3JnXTYqrBw==} dependencies: diff-sequences: 29.6.3 estree-walker: 3.0.3 @@ -2894,8 +2995,8 @@ packages: through: 2.3.8 dev: false - /abitype@1.0.0(typescript@5.3.3): - resolution: {integrity: sha512-NMeMah//6bJ56H5XRj8QCV4AwuW6hB6zqz2LnhhLdcWVQOsXki6/Pn3APeqxCma62nXIcmZWdu1DlHWS74umVQ==} + /abitype@1.0.5(typescript@5.3.2): + resolution: {integrity: sha512-YzDhti7cjlfaBhHutMaboYB21Ha3rXR9QTkNJFzYC4kC8YclaiwPBBBJY8ejFdu2wnJeZCVZSMlQJ7fi8S6hsw==} peerDependencies: typescript: '>=5.0.4' zod: ^3 >=3.22.0 @@ -2905,11 +3006,11 @@ packages: zod: optional: true dependencies: - typescript: 5.3.3 + typescript: 5.3.2 dev: false - /abitype@1.0.4(typescript@5.3.3): - resolution: {integrity: sha512-UivtYZOGJGE8rsrM/N5vdRkUpqEZVmuTumfTuolm7m/6O09wprd958rx8kUBwVAAAhQDveGAgD0GJdBuR8s6tw==} + /abitype@1.0.6(typescript@5.3.2): + resolution: {integrity: sha512-MMSqYh4+C/aVqI2RQaWqbvI4Kxo5cQV40WQ4QFtDnNzCkqChm8MuENhElmynZlO0qUy/ObkEUaXtKqYnx1Kp3A==} peerDependencies: typescript: '>=5.0.4' zod: ^3 >=3.22.0 @@ -2919,7 +3020,7 @@ packages: zod: optional: true dependencies: - typescript: 5.3.3 + typescript: 5.3.2 dev: false /accepts@1.3.8: @@ -2930,13 +3031,15 @@ packages: negotiator: 0.6.3 dev: false - /acorn-walk@8.3.2: - resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} + /acorn-walk@8.3.4: + resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} engines: {node: '>=0.4.0'} + dependencies: + acorn: 8.12.1 dev: false - /acorn@8.11.3: - resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} + /acorn@8.12.1: + resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==} engines: {node: '>=0.4.0'} hasBin: true dev: false @@ -3059,7 +3162,7 @@ packages: fast-json-stable-stringify: 2.1.0 graphql: 15.8.0 graphql-tag: 2.12.6(graphql@15.8.0) - loglevel: 1.9.1 + loglevel: 1.8.1 lru-cache: 6.0.0 node-abort-controller: 3.1.1 sha.js: 2.4.11 @@ -3089,14 +3192,14 @@ packages: graphql: 15.8.0 dev: false - /apollo-server-express@3.13.0(express@4.19.2)(graphql@15.8.0): + /apollo-server-express@3.13.0(express@4.18.2)(graphql@15.8.0): resolution: {integrity: sha512-iSxICNbDUyebOuM8EKb3xOrpIwOQgKxGbR2diSr4HP3IW8T3njKFOoMce50vr+moOCe1ev8BnLcw9SNbuUtf7g==} engines: {node: '>=12.0'} peerDependencies: express: ^4.17.1 graphql: ^15.3.0 || ^16.0.0 dependencies: - '@types/accepts': 1.3.7 + '@types/accepts': 1.3.5 '@types/body-parser': 1.19.2 '@types/cors': 2.8.12 '@types/express': 4.17.14 @@ -3106,7 +3209,7 @@ packages: apollo-server-types: 3.8.0(graphql@15.8.0) body-parser: 1.20.2 cors: 2.8.5 - express: 4.19.2 + express: 4.18.2 graphql: 15.8.0 parseurl: 1.3.3 transitivePeerDependencies: @@ -3170,12 +3273,11 @@ packages: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} dev: false - /array-buffer-byte-length@1.0.1: - resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} - engines: {node: '>= 0.4'} + /array-buffer-byte-length@1.0.0: + resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} dependencies: - call-bind: 1.0.7 - is-array-buffer: 3.0.4 + call-bind: 1.0.5 + is-array-buffer: 3.0.2 dev: false /array-flatten@1.1.1: @@ -3196,33 +3298,31 @@ packages: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} dev: false - /available-typed-arrays@1.0.7: - resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} + /available-typed-arrays@1.0.5: + resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} engines: {node: '>= 0.4'} - dependencies: - possible-typed-array-names: 1.0.0 dev: false - /axios@1.7.2: - resolution: {integrity: sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==} + /axios@1.7.7: + resolution: {integrity: sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==} dependencies: - follow-redirects: 1.15.6 + follow-redirects: 1.15.9 form-data: 4.0.0 proxy-from-env: 1.1.0 transitivePeerDependencies: - debug dev: false - /b4a@1.6.6: - resolution: {integrity: sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg==} + /b4a@1.6.4: + resolution: {integrity: sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==} dev: false /balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} dev: false - /base-x@3.0.9: - resolution: {integrity: sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==} + /base-x@3.0.10: + resolution: {integrity: sha512-7d0s06rR9rYaIWHkpfLIFICM/tkSVdoPC9qYAQRpxn9DdKNWNsKC0uk++akckyLq16Tx2WIinnZ6WRriAt6njQ==} dependencies: safe-buffer: 5.2.1 dev: false @@ -3247,8 +3347,8 @@ packages: bindings: 1.5.0 dev: false - /binary-extensions@2.3.0: - resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + /binary-extensions@2.2.0: + resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} engines: {node: '>=8'} dev: false @@ -3265,7 +3365,7 @@ packages: /blake2b-wasm@2.4.0: resolution: {integrity: sha512-S1kwmW2ZhZFFFOghcx73+ZajEfKBqhP82JMssxtLVMxlaPea1p9uoLiUZ5WYyHn0KddwbLc+0vh4wR0KBNoT5w==} dependencies: - b4a: 1.6.6 + b4a: 1.6.4 nanoassert: 2.0.0 dev: false @@ -3280,6 +3380,24 @@ packages: resolution: {integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==} dev: false + /body-parser@1.20.1: + resolution: {integrity: sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + dependencies: + bytes: 3.1.2 + content-type: 1.0.5 + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + on-finished: 2.4.1 + qs: 6.11.0 + raw-body: 2.5.1 + type-is: 1.6.18 + unpipe: 1.0.0 + dev: false + /body-parser@1.20.2: resolution: {integrity: sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} @@ -3337,7 +3455,7 @@ packages: /bs58@4.0.1: resolution: {integrity: sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==} dependencies: - base-x: 3.0.9 + base-x: 3.0.10 dev: false /bs58@5.0.0: @@ -3351,6 +3469,11 @@ packages: engines: {node: '>=4.5'} dev: false + /buffer-writer@2.0.0: + resolution: {integrity: sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==} + engines: {node: '>=4'} + dev: false + /buffer@6.0.3: resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} dependencies: @@ -3358,12 +3481,12 @@ packages: ieee754: 1.2.1 dev: false - /bufferutil@4.0.8: - resolution: {integrity: sha512-4T53u4PdgsXqKaIctwF8ifXlRTTmEPJ8iEPWFdGZvcf7sbwYo6FKFEX9eNNAnzFZ7EzJAQ3CJeOtCRA4rDp7Pw==} + /bufferutil@4.0.7: + resolution: {integrity: sha512-kukuqc39WOHtdxtw4UScxF/WVnMFVSQVKhtx3AjZJzhd0RGZZldcrfSEbVsWWe6KNH253574cq5F+wpv0G9pJw==} engines: {node: '>=6.14.2'} requiresBuild: true dependencies: - node-gyp-build: 4.8.0 + node-gyp-build: 4.6.1 dev: false /bytes@3.1.2: @@ -3389,15 +3512,19 @@ packages: responselike: 1.0.2 dev: false - /call-bind@1.0.7: - resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} - engines: {node: '>= 0.4'} + /call-bind@1.0.2: + resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} + dependencies: + function-bind: 1.1.1 + get-intrinsic: 1.2.1 + dev: false + + /call-bind@1.0.5: + resolution: {integrity: sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==} dependencies: - es-define-property: 1.0.0 - es-errors: 1.3.0 function-bind: 1.1.2 - get-intrinsic: 1.2.4 - set-function-length: 1.2.2 + get-intrinsic: 1.2.2 + set-function-length: 1.1.1 dev: false /camelcase@6.3.0: @@ -3405,17 +3532,17 @@ packages: engines: {node: '>=10'} dev: false - /chai@4.4.1: - resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==} + /chai@4.5.0: + resolution: {integrity: sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==} engines: {node: '>=4'} dependencies: assertion-error: 1.1.0 check-error: 1.0.3 - deep-eql: 4.1.3 + deep-eql: 4.1.4 get-func-name: 2.0.2 loupe: 2.3.7 pathval: 1.1.1 - type-detect: 4.0.8 + type-detect: 4.1.0 dev: false /chalk@2.4.2: @@ -3461,16 +3588,16 @@ packages: fsevents: 2.3.3 dev: false - /ci-info@3.9.0: - resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + /ci-info@3.8.0: + resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==} engines: {node: '>=8'} dev: false - /class-validator@0.14.1: - resolution: {integrity: sha512-2VEG9JICxIqTpoK1eMzZqaV+u/EiwEJkMGzTrZf6sU/fwsnOITVgYJ8yojSy6CaXtO9V0Cc6ZQZ8h8m4UBuLwQ==} + /class-validator@0.14.0: + resolution: {integrity: sha512-ct3ltplN8I9fOwUd8GrP8UQixwff129BkEtuWDKL5W45cQuLd19xqmTLu5ge78YDm/fdje6FMt0hGOhl0lii3A==} dependencies: - '@types/validator': 13.11.9 - libphonenumber-js: 1.10.60 + '@types/validator': 13.11.2 + libphonenumber-js: 1.10.45 validator: 13.11.0 dev: false @@ -3548,8 +3675,8 @@ packages: engines: {node: '>=16'} dev: false - /commander@12.0.0: - resolution: {integrity: sha512-MwVNWlYjDTtOjX5PiD7o5pK0UrFU/OYgcJfjjK4RaHZETNtjJqrZa9Y9ds88+A+f+d5lv+561eZ+yCKoS3gbAA==} + /commander@12.1.0: + resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==} engines: {node: '>=18'} dev: false @@ -3561,6 +3688,10 @@ packages: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} dev: false + /confbox@0.1.7: + resolution: {integrity: sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==} + dev: false + /content-disposition@0.5.4: resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} engines: {node: '>= 0.6'} @@ -3577,8 +3708,8 @@ packages: resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} dev: false - /cookie@0.6.0: - resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} + /cookie@0.5.0: + resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} engines: {node: '>= 0.6'} dev: false @@ -3631,12 +3762,11 @@ packages: resolution: {integrity: sha512-d4ZVpCW31eWwCMe1YT3ur7mUDnTXbgwyzaL320DrcRT45rfjYxkt5QWLrmOJ+/UEAI2+fQgKe/fCjR8l4TpRgw==} dev: false - /d@1.0.2: - resolution: {integrity: sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==} - engines: {node: '>=0.12'} + /d@1.0.1: + resolution: {integrity: sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==} dependencies: - es5-ext: 0.10.64 - type: 2.7.2 + es5-ext: 0.10.62 + type: 1.2.0 dev: false /data-uri-to-buffer@4.0.1: @@ -3648,8 +3778,11 @@ packages: resolution: {integrity: sha512-8YnDaaf7N3k/q5HnTJVuzSyLETjoZjVmHc4AeKAzOvKHEFQKcn64OKBfzHYtE9zGjctNM7V9I0MfnUVLpi7M5g==} dev: false - /dayjs@1.11.10: - resolution: {integrity: sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==} + /date-fns@2.30.0: + resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==} + engines: {node: '>=0.11'} + dependencies: + '@babel/runtime': 7.23.1 dev: false /debug@2.6.9: @@ -3671,8 +3804,8 @@ packages: supports-color: 8.1.1 dev: false - /debug@4.3.6(supports-color@8.1.1): - resolution: {integrity: sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==} + /debug@4.3.7(supports-color@8.1.1): + resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -3680,7 +3813,7 @@ packages: supports-color: optional: true dependencies: - ms: 2.1.2 + ms: 2.1.3 supports-color: 8.1.1 dev: false @@ -3696,35 +3829,35 @@ packages: mimic-response: 1.0.1 dev: false - /deep-eql@4.1.3: - resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} + /deep-eql@4.1.4: + resolution: {integrity: sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==} engines: {node: '>=6'} dependencies: - type-detect: 4.0.8 + type-detect: 4.1.0 dev: false /deep-equal@2.2.3: resolution: {integrity: sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==} engines: {node: '>= 0.4'} dependencies: - array-buffer-byte-length: 1.0.1 - call-bind: 1.0.7 + array-buffer-byte-length: 1.0.0 + call-bind: 1.0.5 es-get-iterator: 1.1.3 - get-intrinsic: 1.2.4 + get-intrinsic: 1.2.2 is-arguments: 1.1.1 - is-array-buffer: 3.0.4 + is-array-buffer: 3.0.2 is-date-object: 1.0.5 is-regex: 1.1.4 - is-shared-array-buffer: 1.0.3 + is-shared-array-buffer: 1.0.2 isarray: 2.0.5 - object-is: 1.1.6 + object-is: 1.1.5 object-keys: 1.1.1 - object.assign: 4.1.5 - regexp.prototype.flags: 1.5.2 - side-channel: 1.0.6 + object.assign: 4.1.4 + regexp.prototype.flags: 1.5.1 + side-channel: 1.0.4 which-boxed-primitive: 1.0.2 - which-collection: 1.0.2 - which-typed-array: 1.1.15 + which-collection: 1.0.1 + which-typed-array: 1.1.13 dev: false /deep-extend@0.6.0: @@ -3736,21 +3869,30 @@ packages: resolution: {integrity: sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==} dev: false - /define-data-property@1.1.4: - resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + /define-data-property@1.1.0: + resolution: {integrity: sha512-UzGwzcjyv3OtAvolTj1GoyNYzfFR+iqbGjcnBEENZVCpM4/Ng1yhGNvS3lR/xDS74Tb2wGG9WzNSNIOS9UVb2g==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.2 + gopd: 1.0.1 + has-property-descriptors: 1.0.0 + dev: false + + /define-data-property@1.1.1: + resolution: {integrity: sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==} engines: {node: '>= 0.4'} dependencies: - es-define-property: 1.0.0 - es-errors: 1.3.0 + get-intrinsic: 1.2.2 gopd: 1.0.1 + has-property-descriptors: 1.0.0 dev: false /define-properties@1.2.1: resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} engines: {node: '>= 0.4'} dependencies: - define-data-property: 1.1.4 - has-property-descriptors: 1.0.2 + define-data-property: 1.1.0 + has-property-descriptors: 1.0.0 object-keys: 1.1.1 dev: false @@ -3806,13 +3948,13 @@ packages: tslib: 2.6.2 dev: false - /dotenv@16.4.5: - resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} + /dotenv@16.3.1: + resolution: {integrity: sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==} engines: {node: '>=12'} dev: false - /dset@3.1.3: - resolution: {integrity: sha512-20TuZZHCEZ2O71q9/+8BwKwZ0QtD9D8ObhrihJPr+vLLYlSuAU3/zL4cSlgbfeoGHTjCSJBa7NGcrF9/Bx/WJQ==} + /dset@3.1.2: + resolution: {integrity: sha512-g/M9sqy3oHe477Ar4voQxWtaPIFw1jTdKZuomOjhCcBx9nHUNn0pu6NopuFFrTh/TRZIKEj+76vLWFu9BNKk+Q==} engines: {node: '>=4'} dev: false @@ -3847,49 +3989,36 @@ packages: once: 1.4.0 dev: false - /es-define-property@1.0.0: - resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} - engines: {node: '>= 0.4'} - dependencies: - get-intrinsic: 1.2.4 - dev: false - - /es-errors@1.3.0: - resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} - engines: {node: '>= 0.4'} - dev: false - /es-get-iterator@1.1.3: resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==} dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.2.4 + call-bind: 1.0.5 + get-intrinsic: 1.2.2 has-symbols: 1.0.3 is-arguments: 1.1.1 - is-map: 2.0.3 - is-set: 2.0.3 + is-map: 2.0.2 + is-set: 2.0.2 is-string: 1.0.7 isarray: 2.0.5 stop-iteration-iterator: 1.0.0 dev: false - /es5-ext@0.10.64: - resolution: {integrity: sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==} + /es5-ext@0.10.62: + resolution: {integrity: sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==} engines: {node: '>=0.10'} requiresBuild: true dependencies: es6-iterator: 2.0.3 - es6-symbol: 3.1.4 - esniff: 2.0.1 + es6-symbol: 3.1.3 next-tick: 1.1.0 dev: false /es6-iterator@2.0.3: resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==} dependencies: - d: 1.0.2 - es5-ext: 0.10.64 - es6-symbol: 3.1.4 + d: 1.0.1 + es5-ext: 0.10.62 + es6-symbol: 3.1.3 dev: false /es6-promise@4.2.8: @@ -3902,47 +4031,46 @@ packages: es6-promise: 4.2.8 dev: false - /es6-symbol@3.1.4: - resolution: {integrity: sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==} - engines: {node: '>=0.12'} + /es6-symbol@3.1.3: + resolution: {integrity: sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==} dependencies: - d: 1.0.2 + d: 1.0.1 ext: 1.7.0 dev: false - /esbuild@0.20.2: - resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} + /esbuild@0.21.5: + resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: - '@esbuild/aix-ppc64': 0.20.2 - '@esbuild/android-arm': 0.20.2 - '@esbuild/android-arm64': 0.20.2 - '@esbuild/android-x64': 0.20.2 - '@esbuild/darwin-arm64': 0.20.2 - '@esbuild/darwin-x64': 0.20.2 - '@esbuild/freebsd-arm64': 0.20.2 - '@esbuild/freebsd-x64': 0.20.2 - '@esbuild/linux-arm': 0.20.2 - '@esbuild/linux-arm64': 0.20.2 - '@esbuild/linux-ia32': 0.20.2 - '@esbuild/linux-loong64': 0.20.2 - '@esbuild/linux-mips64el': 0.20.2 - '@esbuild/linux-ppc64': 0.20.2 - '@esbuild/linux-riscv64': 0.20.2 - '@esbuild/linux-s390x': 0.20.2 - '@esbuild/linux-x64': 0.20.2 - '@esbuild/netbsd-x64': 0.20.2 - '@esbuild/openbsd-x64': 0.20.2 - '@esbuild/sunos-x64': 0.20.2 - '@esbuild/win32-arm64': 0.20.2 - '@esbuild/win32-ia32': 0.20.2 - '@esbuild/win32-x64': 0.20.2 - dev: false - - /escalade@3.1.2: - resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} + '@esbuild/aix-ppc64': 0.21.5 + '@esbuild/android-arm': 0.21.5 + '@esbuild/android-arm64': 0.21.5 + '@esbuild/android-x64': 0.21.5 + '@esbuild/darwin-arm64': 0.21.5 + '@esbuild/darwin-x64': 0.21.5 + '@esbuild/freebsd-arm64': 0.21.5 + '@esbuild/freebsd-x64': 0.21.5 + '@esbuild/linux-arm': 0.21.5 + '@esbuild/linux-arm64': 0.21.5 + '@esbuild/linux-ia32': 0.21.5 + '@esbuild/linux-loong64': 0.21.5 + '@esbuild/linux-mips64el': 0.21.5 + '@esbuild/linux-ppc64': 0.21.5 + '@esbuild/linux-riscv64': 0.21.5 + '@esbuild/linux-s390x': 0.21.5 + '@esbuild/linux-x64': 0.21.5 + '@esbuild/netbsd-x64': 0.21.5 + '@esbuild/openbsd-x64': 0.21.5 + '@esbuild/sunos-x64': 0.21.5 + '@esbuild/win32-arm64': 0.21.5 + '@esbuild/win32-ia32': 0.21.5 + '@esbuild/win32-x64': 0.21.5 + dev: false + + /escalade@3.1.1: + resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} engines: {node: '>=6'} dev: false @@ -3965,20 +4093,10 @@ packages: engines: {node: '>=10'} dev: false - /esniff@2.0.1: - resolution: {integrity: sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==} - engines: {node: '>=0.10'} - dependencies: - d: 1.0.2 - es5-ext: 0.10.64 - event-emitter: 0.3.5 - type: 2.7.2 - dev: false - /estree-walker@3.0.3: resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 dev: false /etag@1.8.1: @@ -3986,11 +4104,11 @@ packages: engines: {node: '>= 0.6'} dev: false - /ethers@6.11.1: - resolution: {integrity: sha512-mxTAE6wqJQAbp5QAe/+o+rXOID7Nw91OZXvgpjDa1r4fAbq2Nu314oEZSbjoRLacuCzs7kUC3clEvkCQowffGg==} + /ethers@6.9.0: + resolution: {integrity: sha512-pmfNyQzc2mseLe91FnT2vmNaTt8dDzhxZ/xItAV7uGsF4dI4ek2ufMu3rAkgQETL/TIs0GS5A+U05g9QyWnv3Q==} engines: {node: '>=14.0.0'} dependencies: - '@adraffy/ens-normalize': 1.10.1 + '@adraffy/ens-normalize': 1.10.0 '@noble/curves': 1.2.0 '@noble/hashes': 1.3.2 '@types/node': 18.15.13 @@ -4002,33 +4120,14 @@ packages: - utf-8-validate dev: false - /ethers@6.13.2: - resolution: {integrity: sha512-9VkriTTed+/27BGuY1s0hf441kqwHJ1wtN2edksEtiRvXx+soxRX3iSXTfFqq2+YwrOqbDoTHjIhQnjJRlzKmg==} - engines: {node: '>=14.0.0'} - dependencies: - '@adraffy/ens-normalize': 1.10.1 - '@noble/curves': 1.2.0 - '@noble/hashes': 1.3.2 - '@types/node': 18.15.13 - aes-js: 4.0.0-beta.5 - tslib: 2.4.0 - ws: 8.17.1 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - dev: false - - /event-emitter@0.3.5: - resolution: {integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==} - dependencies: - d: 1.0.2 - es5-ext: 0.10.64 - dev: false - /eventemitter3@4.0.7: resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} dev: false + /eventemitter3@5.0.1: + resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} + dev: false + /execa@8.0.1: resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} engines: {node: '>=16.17'} @@ -4055,16 +4154,16 @@ packages: jest-util: 29.7.0 dev: false - /express@4.19.2: - resolution: {integrity: sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==} + /express@4.18.2: + resolution: {integrity: sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==} engines: {node: '>= 0.10.0'} dependencies: accepts: 1.3.8 array-flatten: 1.1.1 - body-parser: 1.20.2 + body-parser: 1.20.1 content-disposition: 0.5.4 content-type: 1.0.5 - cookie: 0.6.0 + cookie: 0.5.0 cookie-signature: 1.0.6 debug: 2.6.9 depd: 2.0.0 @@ -4103,11 +4202,11 @@ packages: engines: {node: '> 0.1.90'} dev: false - /fast-check@3.17.1: - resolution: {integrity: sha512-jIKXJVe6ZO0SpwEgVtEVujTf8TwjI9wMXFJCjsDHUB3RroUbXBgF4kOSz3A7MW0UR26aqsoB8i9O2mjtjERAiA==} + /fast-check@3.14.0: + resolution: {integrity: sha512-9Z0zqASzDNjXBox/ileV/fd+4P+V/f3o4shM6QawvcdLFh8yjPG4h5BrHUZ8yzY6amKGDTAmRMyb/JZqe+dCgw==} engines: {node: '>=8.0.0'} dependencies: - pure-rand: 6.1.0 + pure-rand: 6.0.4 dev: false /fast-deep-equal@3.1.3: @@ -4134,7 +4233,7 @@ packages: engines: {node: ^12.20 || >= 14.13} dependencies: node-domexception: 1.0.0 - web-streams-polyfill: 3.3.3 + web-streams-polyfill: 3.2.1 dev: false /file-uri-to-path@1.0.0: @@ -4174,8 +4273,8 @@ packages: hasBin: true dev: false - /follow-redirects@1.15.6: - resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==} + /follow-redirects@1.15.9: + resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==} engines: {node: '>=4.0'} peerDependencies: debug: '*' @@ -4236,6 +4335,10 @@ packages: dev: false optional: true + /function-bind@1.1.1: + resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} + dev: false + /function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} dev: false @@ -4253,15 +4356,22 @@ packages: resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} dev: false - /get-intrinsic@1.2.4: - resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} - engines: {node: '>= 0.4'} + /get-intrinsic@1.2.1: + resolution: {integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==} + dependencies: + function-bind: 1.1.1 + has: 1.0.3 + has-proto: 1.0.1 + has-symbols: 1.0.3 + dev: false + + /get-intrinsic@1.2.2: + resolution: {integrity: sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==} dependencies: - es-errors: 1.3.0 function-bind: 1.1.2 - has-proto: 1.0.3 + has-proto: 1.0.1 has-symbols: 1.0.3 - hasown: 2.0.2 + hasown: 2.0.0 dev: false /get-stream@4.1.0: @@ -4290,20 +4400,20 @@ packages: is-glob: 4.0.3 dev: false - /glob@10.3.12: - resolution: {integrity: sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg==} + /glob@10.3.10: + resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==} engines: {node: '>=16 || 14 >=14.17'} hasBin: true dependencies: foreground-child: 3.1.1 jackspeak: 2.3.6 - minimatch: 9.0.4 - minipass: 7.0.4 - path-scurry: 1.10.2 + minimatch: 9.0.3 + minipass: 7.0.3 + path-scurry: 1.10.1 dev: false - /glob@7.2.3: - resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + /glob@7.2.0: + resolution: {integrity: sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==} dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -4320,14 +4430,14 @@ packages: fs.realpath: 1.0.0 inflight: 1.0.6 inherits: 2.0.4 - minimatch: 5.0.1 + minimatch: 5.1.6 once: 1.4.0 dev: false /gopd@1.0.1: resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} dependencies: - get-intrinsic: 1.2.4 + get-intrinsic: 1.2.2 dev: false /got@9.6.0: @@ -4392,8 +4502,8 @@ packages: tslib: 2.6.2 dev: false - /graphql-ws@5.16.0(graphql@15.8.0): - resolution: {integrity: sha512-Ju2RCU2dQMgSKtArPbEtsK5gNLnsQyTNIo/T7cZNp96niC1x0KdJNZV0TIoilceBPQwfb5itrGl8pkFeOUMl4A==} + /graphql-ws@5.14.2(graphql@15.8.0): + resolution: {integrity: sha512-LycmCwhZ+Op2GlHz4BZDsUYHKRiiUz+3r9wbhBATMETNlORQJAaFlAgTFoeRh6xQoQegwYwIylVD1Qns9/DA3w==} engines: {node: '>=10'} peerDependencies: graphql: '>=0.11 <=16' @@ -4420,14 +4530,14 @@ packages: engines: {node: '>=8'} dev: false - /has-property-descriptors@1.0.2: - resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + /has-property-descriptors@1.0.0: + resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} dependencies: - es-define-property: 1.0.0 + get-intrinsic: 1.2.2 dev: false - /has-proto@1.0.3: - resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} + /has-proto@1.0.1: + resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} engines: {node: '>= 0.4'} dev: false @@ -4436,15 +4546,22 @@ packages: engines: {node: '>= 0.4'} dev: false - /has-tostringtag@1.0.2: - resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + /has-tostringtag@1.0.0: + resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} engines: {node: '>= 0.4'} dependencies: has-symbols: 1.0.3 dev: false - /hasown@2.0.2: - resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + /has@1.0.3: + resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} + engines: {node: '>= 0.4.0'} + dependencies: + function-bind: 1.1.1 + dev: false + + /hasown@2.0.0: + resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} engines: {node: '>= 0.4'} dependencies: function-bind: 1.1.2 @@ -4515,13 +4632,13 @@ packages: resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} dev: false - /internal-slot@1.0.7: - resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} + /internal-slot@1.0.5: + resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} engines: {node: '>= 0.4'} dependencies: - es-errors: 1.3.0 - hasown: 2.0.2 - side-channel: 1.0.6 + get-intrinsic: 1.2.2 + has: 1.0.3 + side-channel: 1.0.4 dev: false /ioredis@5.3.2(supports-color@8.1.1): @@ -4550,16 +4667,16 @@ packages: resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.7 - has-tostringtag: 1.0.2 + call-bind: 1.0.5 + has-tostringtag: 1.0.0 dev: false - /is-array-buffer@3.0.4: - resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} - engines: {node: '>= 0.4'} + /is-array-buffer@3.0.2: + resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.2.4 + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + is-typed-array: 1.1.12 dev: false /is-bigint@1.0.4: @@ -4572,15 +4689,15 @@ packages: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} engines: {node: '>=8'} dependencies: - binary-extensions: 2.3.0 + binary-extensions: 2.2.0 dev: false /is-boolean-object@1.1.2: resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.7 - has-tostringtag: 1.0.2 + call-bind: 1.0.5 + has-tostringtag: 1.0.0 dev: false /is-callable@1.2.7: @@ -4592,7 +4709,7 @@ packages: resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} engines: {node: '>= 0.4'} dependencies: - has-tostringtag: 1.0.2 + has-tostringtag: 1.0.0 dev: false /is-extglob@2.1.1: @@ -4612,16 +4729,15 @@ packages: is-extglob: 2.1.1 dev: false - /is-map@2.0.3: - resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} - engines: {node: '>= 0.4'} + /is-map@2.0.2: + resolution: {integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==} dev: false /is-number-object@1.0.7: resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} engines: {node: '>= 0.4'} dependencies: - has-tostringtag: 1.0.2 + has-tostringtag: 1.0.0 dev: false /is-number@7.0.0: @@ -4638,20 +4754,18 @@ packages: resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.7 - has-tostringtag: 1.0.2 + call-bind: 1.0.5 + has-tostringtag: 1.0.0 dev: false - /is-set@2.0.3: - resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} - engines: {node: '>= 0.4'} + /is-set@2.0.2: + resolution: {integrity: sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==} dev: false - /is-shared-array-buffer@1.0.3: - resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} - engines: {node: '>= 0.4'} + /is-shared-array-buffer@1.0.2: + resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} dependencies: - call-bind: 1.0.7 + call-bind: 1.0.5 dev: false /is-stream@3.0.0: @@ -4663,7 +4777,7 @@ packages: resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} engines: {node: '>= 0.4'} dependencies: - has-tostringtag: 1.0.2 + has-tostringtag: 1.0.0 dev: false /is-symbol@1.0.4: @@ -4673,6 +4787,13 @@ packages: has-symbols: 1.0.3 dev: false + /is-typed-array@1.1.12: + resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==} + engines: {node: '>= 0.4'} + dependencies: + which-typed-array: 1.1.13 + dev: false + /is-typedarray@1.0.0: resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} dev: false @@ -4682,17 +4803,15 @@ packages: engines: {node: '>=10'} dev: false - /is-weakmap@2.0.2: - resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} - engines: {node: '>= 0.4'} + /is-weakmap@2.0.1: + resolution: {integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==} dev: false - /is-weakset@2.0.3: - resolution: {integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==} - engines: {node: '>= 0.4'} + /is-weakset@2.0.2: + resolution: {integrity: sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==} dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.2.4 + call-bind: 1.0.5 + get-intrinsic: 1.2.2 dev: false /isarray@2.0.5: @@ -4703,20 +4822,20 @@ packages: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} dev: false - /isomorphic-ws@4.0.1(ws@7.5.9): + /isomorphic-ws@4.0.1(ws@7.5.10): resolution: {integrity: sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==} peerDependencies: ws: '*' dependencies: - ws: 7.5.9 + ws: 7.5.10 dev: false - /isows@1.0.3(ws@8.13.0): - resolution: {integrity: sha512-2cKei4vlmg2cxEjm3wVSqn8pcoRF/LX/wpifuuNquFO4SQmPwarClT+SUCA2lt+l581tTeZIPIZuIDo2jWN1fg==} + /isows@1.0.4(ws@8.17.1): + resolution: {integrity: sha512-hEzjY+x9u9hPmBom9IIAqdJCwNLax+xrPb51vEPpERoFlIxgmZcHzsT5jKG06nvInKOBGvReAVz80Umed5CczQ==} peerDependencies: ws: '*' dependencies: - ws: 8.13.0 + ws: 8.17.1(bufferutil@4.0.7)(utf-8-validate@5.0.10) dev: false /iterall@1.3.0: @@ -4732,12 +4851,12 @@ packages: '@pkgjs/parseargs': 0.11.0 dev: false - /jayson@4.1.0: - resolution: {integrity: sha512-R6JlbyLN53Mjku329XoRT2zJAE6ZgOQ8f91ucYdMCD4nkGCF9kZSrcGXpHIU4jeKj58zUZke2p+cdQchU7Ly7A==} + /jayson@4.1.2: + resolution: {integrity: sha512-5nzMWDHy6f+koZOuYsArh2AXs73NfWYVlFyJJuCedr93GpY+Ku8qq10ropSXVfHK+H0T6paA88ww+/dV+1fBNA==} engines: {node: '>=8'} hasBin: true dependencies: - '@types/connect': 3.4.38 + '@types/connect': 3.4.36 '@types/node': 12.20.55 '@types/ws': 7.4.7 JSONStream: 1.3.5 @@ -4745,10 +4864,10 @@ packages: delay: 5.0.0 es6-promisify: 5.0.0 eyes: 0.1.8 - isomorphic-ws: 4.0.1(ws@7.5.9) + isomorphic-ws: 4.0.1(ws@7.5.10) json-stringify-safe: 5.0.1 uuid: 8.3.2 - ws: 7.5.9 + ws: 7.5.10 transitivePeerDependencies: - bufferutil - utf-8-validate @@ -4783,9 +4902,9 @@ packages: resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@babel/code-frame': 7.24.2 + '@babel/code-frame': 7.22.13 '@jest/types': 29.6.3 - '@types/stack-utils': 2.0.3 + '@types/stack-utils': 2.0.1 chalk: 4.1.2 graceful-fs: 4.2.11 micromatch: 4.0.5 @@ -4799,9 +4918,9 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 18.19.31 + '@types/node': 18.19.0 chalk: 4.1.2 - ci-info: 3.9.0 + ci-info: 3.8.0 graceful-fs: 4.2.11 picomatch: 2.3.1 dev: false @@ -4837,8 +4956,8 @@ packages: resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} dev: false - /jsonc-parser@3.2.1: - resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==} + /jsonc-parser@3.2.0: + resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} dev: false /jsonparse@1.3.1: @@ -4860,7 +4979,7 @@ packages: requiresBuild: true dependencies: node-addon-api: 2.0.2 - node-gyp-build: 4.8.0 + node-gyp-build: 4.6.1 readable-stream: 3.6.2 dev: false @@ -4883,16 +5002,16 @@ packages: package-json: 6.5.0 dev: false - /libphonenumber-js@1.10.60: - resolution: {integrity: sha512-Ctgq2lXUpEJo5j1762NOzl2xo7z7pqmVWYai0p07LvAkQ32tbPv3wb+tcUeHEiXhKU5buM4H9MXsXo6OlM6C2g==} + /libphonenumber-js@1.10.45: + resolution: {integrity: sha512-eeHcvGafEYCaKB4fo2uBINfG7j7PcGwBHUaTVfbwl/6KcjCgIKNlIOsSXVRp9BH10NQwmvvk+nQ1e/Yp4BGB7w==} dev: false /local-pkg@0.5.0: resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} engines: {node: '>=14'} dependencies: - mlly: 1.6.1 - pkg-types: 1.0.3 + mlly: 1.7.1 + pkg-types: 1.2.0 dev: false /locate-path@6.0.0: @@ -4926,8 +5045,8 @@ packages: is-unicode-supported: 0.1.0 dev: false - /loglevel@1.9.1: - resolution: {integrity: sha512-hP3I3kCrDIMuRwAwHltphhDM1r8i55H33GgqjXbrisuJhF4kRhW1dNuxsRklp4bXl8DSdLaNLuiL4A/LWRfxvg==} + /loglevel@1.8.1: + resolution: {integrity: sha512-tCRIJM51SHjAayKwC+QAg8hT8vg6z7GSgLJKGvzuPb1Wc+hLzqtuVLxp6/HzSPOozuK+8ErAhy7U/sVzw8Dgfg==} engines: {node: '>= 0.6.0'} dev: false @@ -4957,8 +5076,8 @@ packages: engines: {node: '>=8'} dev: false - /lru-cache@10.2.0: - resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==} + /lru-cache@10.0.1: + resolution: {integrity: sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==} engines: {node: 14 || >=16.14} dev: false @@ -4974,11 +5093,10 @@ packages: engines: {node: '>=12'} dev: false - /magic-string@0.30.9: - resolution: {integrity: sha512-S1+hd+dIrC8EZqKyT9DstTH/0Z+f76kmmvZnkfQVmOpDEF9iVgdYif3Q/pIWHmCoo59bQVGW0kVL3e2nl+9+Sw==} - engines: {node: '>=12'} + /magic-string@0.30.11: + resolution: {integrity: sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==} dependencies: - '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/sourcemap-codec': 1.5.0 dev: false /make-error@1.3.6: @@ -5059,8 +5177,8 @@ packages: brace-expansion: 2.0.1 dev: false - /minimatch@9.0.4: - resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} + /minimatch@9.0.3: + resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} engines: {node: '>=16 || 14 >=14.17'} dependencies: brace-expansion: 2.0.1 @@ -5070,8 +5188,8 @@ packages: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} dev: false - /minipass@7.0.4: - resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==} + /minipass@7.0.3: + resolution: {integrity: sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg==} engines: {node: '>=16 || 14 >=14.17'} dev: false @@ -5081,17 +5199,17 @@ packages: hasBin: true dev: false - /mlly@1.6.1: - resolution: {integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==} + /mlly@1.7.1: + resolution: {integrity: sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA==} dependencies: - acorn: 8.11.3 + acorn: 8.12.1 pathe: 1.1.2 - pkg-types: 1.0.3 - ufo: 1.5.3 + pkg-types: 1.2.0 + ufo: 1.5.4 dev: false - /mocha@10.4.0: - resolution: {integrity: sha512-eqhGB8JKapEYcC4ytX/xrzKforgEc3j1pGlAXVy3eRwrtAy5/nIfT1SvgGzfN0XZZxeLq0aQWkOUAmqIJiv+bA==} + /mocha@10.2.0: + resolution: {integrity: sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==} engines: {node: '>= 14.0.0'} hasBin: true dependencies: @@ -5102,12 +5220,13 @@ packages: diff: 5.0.0 escape-string-regexp: 4.0.0 find-up: 5.0.0 - glob: 8.1.0 + glob: 7.2.0 he: 1.2.0 js-yaml: 4.1.0 log-symbols: 4.1.0 minimatch: 5.0.1 ms: 2.1.3 + nanoid: 3.3.3 serialize-javascript: 6.0.0 strip-json-comments: 3.1.1 supports-color: 8.1.1 @@ -5117,15 +5236,15 @@ packages: yargs-unparser: 2.0.0 dev: false - /mocha@10.7.0: - resolution: {integrity: sha512-v8/rBWr2VO5YkspYINnvu81inSz2y3ODJrhO175/Exzor1RcEZZkizgE2A+w/CAXXoESS8Kys5E62dOHGHzULA==} + /mocha@10.7.3: + resolution: {integrity: sha512-uQWxAu44wwiACGqjbPYmjo7Lg8sFrS3dQe7PP2FQI+woptP4vZXSMcfMyFL/e1yFEeEpV4RtyTpZROOKmxis+A==} engines: {node: '>= 14.0.0'} hasBin: true dependencies: ansi-colors: 4.1.3 browser-stdout: 1.3.1 chokidar: 3.5.3 - debug: 4.3.6(supports-color@8.1.1) + debug: 4.3.7(supports-color@8.1.1) diff: 5.2.0 escape-string-regexp: 4.0.0 find-up: 5.0.0 @@ -5168,6 +5287,12 @@ packages: resolution: {integrity: sha512-7vO7n28+aYO4J+8w96AzhmU8G+Y/xpPDJz/se19ICsqj/momRbb9mh9ZUtkoJ5X3nTnPdhEJyc0qnM6yAsHBaA==} dev: false + /nanoid@3.3.3: + resolution: {integrity: sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + dev: false + /nanoid@3.3.7: resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -5224,8 +5349,8 @@ packages: formdata-polyfill: 4.0.10 dev: false - /node-gyp-build@4.8.0: - resolution: {integrity: sha512-u6fs2AEUljNho3EYTJNBfImO5QTo/J/1Etd+NVdCj7qWKUSN/bSLkZwhDv7I+w/MSC6qJ4cknepkAYykDdK8og==} + /node-gyp-build@4.6.1: + resolution: {integrity: sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ==} hasBin: true dev: false @@ -5251,15 +5376,15 @@ packages: engines: {node: '>=0.10.0'} dev: false - /object-inspect@1.13.1: - resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} + /object-inspect@1.12.3: + resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} dev: false - /object-is@1.1.6: - resolution: {integrity: sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==} + /object-is@1.1.5: + resolution: {integrity: sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.7 + call-bind: 1.0.5 define-properties: 1.2.1 dev: false @@ -5268,11 +5393,11 @@ packages: engines: {node: '>= 0.4'} dev: false - /object.assign@4.1.5: - resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} + /object.assign@4.1.4: + resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.7 + call-bind: 1.0.5 define-properties: 1.2.1 has-symbols: 1.0.3 object-keys: 1.1.1 @@ -5318,7 +5443,7 @@ packages: resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==} engines: {node: '>=18'} dependencies: - yocto-queue: 1.0.0 + yocto-queue: 1.1.1 dev: false /p-locate@5.0.0: @@ -5338,6 +5463,10 @@ packages: semver: 6.3.1 dev: false + /packet-reader@1.0.0: + resolution: {integrity: sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==} + dev: false + /pako@2.1.0: resolution: {integrity: sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==} dev: false @@ -5381,12 +5510,12 @@ packages: engines: {node: '>=12'} dev: false - /path-scurry@1.10.2: - resolution: {integrity: sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==} + /path-scurry@1.10.1: + resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} engines: {node: '>=16 || 14 >=14.17'} dependencies: - lru-cache: 10.2.0 - minipass: 7.0.4 + lru-cache: 10.0.1 + minipass: 7.0.3 dev: false /path-to-regexp@0.1.7: @@ -5407,8 +5536,8 @@ packages: dev: false optional: true - /pg-connection-string@2.6.4: - resolution: {integrity: sha512-v+Z7W/0EO707aNMaAEfiGnGL9sxxumwLl2fJvCQtMn9Fxsg+lPpPkdcyBSv/KFgpGdYkMfn+EI1Or2EHjpgLCA==} + /pg-connection-string@2.6.2: + resolution: {integrity: sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==} dev: false /pg-int8@1.0.1: @@ -5421,16 +5550,16 @@ packages: engines: {node: '>=4'} dev: false - /pg-pool@3.6.2(pg@8.11.5): - resolution: {integrity: sha512-Htjbg8BlwXqSBQ9V8Vjtc+vzf/6fVUuak/3/XXKA9oxZprwW3IMDQTGHP+KDmVL7rtd+R1QjbnCFPuTHm3G4hg==} + /pg-pool@3.6.1(pg@8.11.3): + resolution: {integrity: sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og==} peerDependencies: pg: '>=8.0' dependencies: - pg: 8.11.5 + pg: 8.11.3 dev: false - /pg-protocol@1.6.1: - resolution: {integrity: sha512-jPIlvgoD63hrEuihvIg+tJhoGjUsLPn6poJY9N5CnlPd91c2T18T/9zBtLxZSb1EhYxBRoZJtzScCaWlYLtktg==} + /pg-protocol@1.6.0: + resolution: {integrity: sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q==} dev: false /pg-types@2.2.0: @@ -5444,21 +5573,21 @@ packages: postgres-interval: 1.2.0 dev: false - /pg-types@4.0.2: - resolution: {integrity: sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng==} + /pg-types@4.0.1: + resolution: {integrity: sha512-hRCSDuLII9/LE3smys1hRHcu5QGcLs9ggT7I/TCs0IE+2Eesxi9+9RWAAwZ0yaGjxoWICF/YHLOEjydGujoJ+g==} engines: {node: '>=10'} dependencies: pg-int8: 1.0.1 pg-numeric: 1.0.2 postgres-array: 3.0.2 postgres-bytea: 3.0.0 - postgres-date: 2.1.0 + postgres-date: 2.0.1 postgres-interval: 3.0.0 - postgres-range: 1.1.4 + postgres-range: 1.1.3 dev: false - /pg@8.11.5: - resolution: {integrity: sha512-jqgNHSKL5cbDjFlHyYsCXmQDrfIX/3RsNwYqpd4N0Kt8niLuNoRNH+aazv6cOd43gPh9Y4DjQCtb+X0MH0Hvnw==} + /pg@8.11.3: + resolution: {integrity: sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g==} engines: {node: '>= 8.0.0'} peerDependencies: pg-native: '>=3.0.1' @@ -5466,9 +5595,11 @@ packages: pg-native: optional: true dependencies: - pg-connection-string: 2.6.4 - pg-pool: 3.6.2(pg@8.11.5) - pg-protocol: 1.6.1 + buffer-writer: 2.0.0 + packet-reader: 1.0.0 + pg-connection-string: 2.6.2 + pg-pool: 3.6.1(pg@8.11.3) + pg-protocol: 1.6.0 pg-types: 2.2.0 pgpass: 1.0.5 optionalDependencies: @@ -5481,8 +5612,8 @@ packages: split2: 4.2.0 dev: false - /picocolors@1.0.0: - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + /picocolors@1.1.0: + resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} dev: false /picomatch@2.3.1: @@ -5490,31 +5621,21 @@ packages: engines: {node: '>=8.6'} dev: false - /pkg-types@1.0.3: - resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} + /pkg-types@1.2.0: + resolution: {integrity: sha512-+ifYuSSqOQ8CqP4MbZA5hDpb97n3E8SVWdJe+Wms9kj745lmd3b7EZJiqvmLwAlmRfjrI7Hi5z3kdBJ93lFNPA==} dependencies: - jsonc-parser: 3.2.1 - mlly: 1.6.1 + confbox: 0.1.7 + mlly: 1.7.1 pathe: 1.1.2 dev: false - /pluralize@8.0.0: - resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} - engines: {node: '>=4'} - dev: false - - /possible-typed-array-names@1.0.0: - resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} - engines: {node: '>= 0.4'} - dev: false - - /postcss@8.4.38: - resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} + /postcss@8.4.47: + resolution: {integrity: sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==} engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.7 - picocolors: 1.0.0 - source-map-js: 1.2.0 + picocolors: 1.1.0 + source-map-js: 1.2.1 dev: false /postgres-array@2.0.0: @@ -5544,8 +5665,8 @@ packages: engines: {node: '>=0.10.0'} dev: false - /postgres-date@2.1.0: - resolution: {integrity: sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA==} + /postgres-date@2.0.1: + resolution: {integrity: sha512-YtMKdsDt5Ojv1wQRvUhnyDJNSr2dGIC96mQVKz7xufp07nfuFONzdaowrMHjlAzY6GDLd4f+LUHHAAM1h4MdUw==} engines: {node: '>=12'} dev: false @@ -5561,8 +5682,8 @@ packages: engines: {node: '>=12'} dev: false - /postgres-range@1.1.4: - resolution: {integrity: sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w==} + /postgres-range@1.1.3: + resolution: {integrity: sha512-VdlZoocy5lCP0c/t66xAfclglEapXPCIVhqqJRncYpvbCgImF0w67aPKfbqUMr72tO2k5q0TdTZwCLjPTI6C9g==} dev: false /prepend-http@2.0.0: @@ -5605,20 +5726,20 @@ packages: once: 1.4.0 dev: false - /punycode@2.3.1: - resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + /punycode@2.3.0: + resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} engines: {node: '>=6'} dev: false - /pure-rand@6.1.0: - resolution: {integrity: sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==} + /pure-rand@6.0.4: + resolution: {integrity: sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA==} dev: false /qs@6.11.0: resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} engines: {node: '>=0.6'} dependencies: - side-channel: 1.0.6 + side-channel: 1.0.4 dev: false /randombytes@2.1.0: @@ -5632,6 +5753,16 @@ packages: engines: {node: '>= 0.6'} dev: false + /raw-body@2.5.1: + resolution: {integrity: sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==} + engines: {node: '>= 0.8'} + dependencies: + bytes: 3.1.2 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + dev: false + /raw-body@2.5.2: resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} engines: {node: '>= 0.8'} @@ -5684,22 +5815,21 @@ packages: redis-errors: 1.2.0 dev: false - /reflect-metadata@0.2.2: - resolution: {integrity: sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==} + /reflect-metadata@0.1.13: + resolution: {integrity: sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==} dev: false - /regenerator-runtime@0.14.1: - resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + /regenerator-runtime@0.14.0: + resolution: {integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==} dev: false - /regexp.prototype.flags@1.5.2: - resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} + /regexp.prototype.flags@1.5.1: + resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.7 + call-bind: 1.0.5 define-properties: 1.2.1 - es-errors: 1.3.0 - set-function-name: 2.0.2 + set-function-name: 2.0.1 dev: false /registry-auth-token@4.2.2: @@ -5737,40 +5867,44 @@ packages: engines: {node: '>= 4'} dev: false - /rollup@4.14.2: - resolution: {integrity: sha512-WkeoTWvuBoFjFAhsEOHKRoZ3r9GfTyhh7Vff1zwebEFLEFjT1lG3784xEgKiTa7E+e70vsC81roVL2MP4tgEEQ==} + /rollup@4.22.2: + resolution: {integrity: sha512-JWWpTrZmqQGQWt16xvNn6KVIUz16VtZwl984TKw0dfqqRpFwtLJYYk1/4BTgplndMQKWUk/yB4uOShYmMzA2Vg==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true dependencies: '@types/estree': 1.0.5 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.14.2 - '@rollup/rollup-android-arm64': 4.14.2 - '@rollup/rollup-darwin-arm64': 4.14.2 - '@rollup/rollup-darwin-x64': 4.14.2 - '@rollup/rollup-linux-arm-gnueabihf': 4.14.2 - '@rollup/rollup-linux-arm64-gnu': 4.14.2 - '@rollup/rollup-linux-arm64-musl': 4.14.2 - '@rollup/rollup-linux-powerpc64le-gnu': 4.14.2 - '@rollup/rollup-linux-riscv64-gnu': 4.14.2 - '@rollup/rollup-linux-s390x-gnu': 4.14.2 - '@rollup/rollup-linux-x64-gnu': 4.14.2 - '@rollup/rollup-linux-x64-musl': 4.14.2 - '@rollup/rollup-win32-arm64-msvc': 4.14.2 - '@rollup/rollup-win32-ia32-msvc': 4.14.2 - '@rollup/rollup-win32-x64-msvc': 4.14.2 + '@rollup/rollup-android-arm-eabi': 4.22.2 + '@rollup/rollup-android-arm64': 4.22.2 + '@rollup/rollup-darwin-arm64': 4.22.2 + '@rollup/rollup-darwin-x64': 4.22.2 + '@rollup/rollup-linux-arm-gnueabihf': 4.22.2 + '@rollup/rollup-linux-arm-musleabihf': 4.22.2 + '@rollup/rollup-linux-arm64-gnu': 4.22.2 + '@rollup/rollup-linux-arm64-musl': 4.22.2 + '@rollup/rollup-linux-powerpc64le-gnu': 4.22.2 + '@rollup/rollup-linux-riscv64-gnu': 4.22.2 + '@rollup/rollup-linux-s390x-gnu': 4.22.2 + '@rollup/rollup-linux-x64-gnu': 4.22.2 + '@rollup/rollup-linux-x64-musl': 4.22.2 + '@rollup/rollup-win32-arm64-msvc': 4.22.2 + '@rollup/rollup-win32-ia32-msvc': 4.22.2 + '@rollup/rollup-win32-x64-msvc': 4.22.2 fsevents: 2.3.3 dev: false - /rpc-websockets@7.9.0: - resolution: {integrity: sha512-DwKewQz1IUA5wfLvgM8wDpPRcr+nWSxuFxx5CbrI2z/MyyZ4nXLM86TvIA+cI1ZAdqC8JIBR1mZR55dzaLU+Hw==} + /rpc-websockets@9.0.2: + resolution: {integrity: sha512-YzggvfItxMY3Lwuax5rC18inhbjJv9Py7JXRHxTIi94JOLrqBsSsUUc5bbl5W6c11tXhdfpDPK0KzBhoGe8jjw==} dependencies: - '@babel/runtime': 7.24.4 - eventemitter3: 4.0.7 + '@swc/helpers': 0.5.13 + '@types/uuid': 8.3.4 + '@types/ws': 8.5.10 + buffer: 6.0.3 + eventemitter3: 5.0.1 uuid: 8.3.2 - ws: 8.16.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + ws: 8.17.1(bufferutil@4.0.7)(utf-8-validate@5.0.10) optionalDependencies: - bufferutil: 4.0.8 + bufferutil: 4.0.7 utf-8-validate: 5.0.10 dev: false @@ -5787,8 +5921,8 @@ packages: hasBin: true dev: false - /semver@7.6.0: - resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} + /semver@7.5.4: + resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} engines: {node: '>=10'} hasBin: true dependencies: @@ -5836,26 +5970,23 @@ packages: send: 0.18.0 dev: false - /set-function-length@1.2.2: - resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + /set-function-length@1.1.1: + resolution: {integrity: sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==} engines: {node: '>= 0.4'} dependencies: - define-data-property: 1.1.4 - es-errors: 1.3.0 - function-bind: 1.1.2 - get-intrinsic: 1.2.4 + define-data-property: 1.1.1 + get-intrinsic: 1.2.2 gopd: 1.0.1 - has-property-descriptors: 1.0.2 + has-property-descriptors: 1.0.0 dev: false - /set-function-name@2.0.2: - resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} + /set-function-name@2.0.1: + resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==} engines: {node: '>= 0.4'} dependencies: - define-data-property: 1.1.4 - es-errors: 1.3.0 + define-data-property: 1.1.0 functions-have-names: 1.2.3 - has-property-descriptors: 1.0.2 + has-property-descriptors: 1.0.0 dev: false /setprototypeof@1.2.0: @@ -5882,14 +6013,12 @@ packages: engines: {node: '>=8'} dev: false - /side-channel@1.0.6: - resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} - engines: {node: '>= 0.4'} + /side-channel@1.0.4: + resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - get-intrinsic: 1.2.4 - object-inspect: 1.13.1 + call-bind: 1.0.2 + get-intrinsic: 1.2.1 + object-inspect: 1.12.3 dev: false /siginfo@2.0.0: @@ -5913,8 +6042,8 @@ packages: tslib: 2.6.2 dev: false - /source-map-js@1.2.0: - resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} + /source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} dev: false @@ -5951,7 +6080,7 @@ packages: resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==} engines: {node: '>= 0.4'} dependencies: - internal-slot: 1.0.7 + internal-slot: 1.0.5 dev: false /stoppable@1.1.0: @@ -6022,14 +6151,15 @@ packages: resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==} dev: false - /superstruct@0.14.2: - resolution: {integrity: sha512-nPewA6m9mR3d6k7WkZ8N8zpTWfenFH3q9pA2PkuiZxINr9DKB2+40wEQf0ixn8VaGuJ78AB6iWOtStI+/4FKZQ==} - dev: false - /superstruct@0.15.5: resolution: {integrity: sha512-4AOeU+P5UuE/4nOUkmcQdW5y7i9ndt1cQd/3iUe+LTz3RxESf/W/5lg4B74HbDMMv8PHnPnGCQFH45kBcrQYoQ==} dev: false + /superstruct@2.0.2: + resolution: {integrity: sha512-uV+TFRZdXsqXTL2pRvujROjdZQ4RAlBUS5BTh9IGm+jTqQntYThciG/qu57Gs69yjnVUSqdxF9YLmSnpupBW9A==} + engines: {node: '>=14.0.0'} + dev: false + /supports-color@5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} engines: {node: '>=4'} @@ -6078,12 +6208,12 @@ packages: resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} dev: false - /tinybench@2.7.0: - resolution: {integrity: sha512-Qgayeb106x2o4hNzNjsZEfFziw8IbKqtbXBjVh7VIZfBxfD5M4gWtpyx5+YTae2gJ6Y6Dz/KLepiv16RFeQWNA==} + /tinybench@2.9.0: + resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} dev: false - /tinypool@0.8.3: - resolution: {integrity: sha512-Ud7uepAklqRH1bvwy22ynrliC7Dljz7Tm8M/0RBUW+YRa4YHhZ6e4PpgE+fu1zr/WqB1kbeuVrdfeuyIBpy4tw==} + /tinypool@0.8.4: + resolution: {integrity: sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ==} engines: {node: '>=14.0.0'} dev: false @@ -6117,7 +6247,7 @@ packages: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} dev: false - /ts-node@10.9.2(@types/node@18.19.31)(typescript@5.3.3): + /ts-node@10.9.2(@types/node@18.19.0)(typescript@5.3.2): resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} hasBin: true peerDependencies: @@ -6136,14 +6266,14 @@ packages: '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 18.19.31 - acorn: 8.11.3 - acorn-walk: 8.3.2 + '@types/node': 18.19.0 + acorn: 8.12.1 + acorn-walk: 8.3.4 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 5.3.3 + typescript: 5.3.2 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 dev: false @@ -6160,8 +6290,8 @@ packages: resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} dev: false - /type-detect@4.0.8: - resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + /type-detect@4.1.0: + resolution: {integrity: sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==} engines: {node: '>=4'} dev: false @@ -6170,7 +6300,7 @@ packages: engines: {node: '>=12.20'} dev: false - /type-graphql@1.2.0-rc.1(class-validator@0.14.1)(graphql@15.8.0): + /type-graphql@1.2.0-rc.1(class-validator@0.14.0)(graphql@15.8.0): resolution: {integrity: sha512-W1p51DN+n/zX4ilunMC6/FcyGlx/ND3hreQ0ARDhfhyR9oGtfKzQNnkHhk8uXlYm2zzyTEd1LkRHJr8bbnRlIA==} engines: {node: '>= 10.13'} requiresBuild: true @@ -6179,14 +6309,14 @@ packages: graphql: ^15.5.0 dependencies: '@types/glob': 7.2.0 - '@types/node': 18.19.31 - '@types/semver': 7.5.8 - class-validator: 0.14.1 - glob: 7.2.3 + '@types/node': 18.19.0 + '@types/semver': 7.5.6 + class-validator: 0.14.0 + glob: 7.2.0 graphql: 15.8.0 graphql-query-complexity: 0.7.2(graphql@15.8.0) graphql-subscriptions: 1.2.1(graphql@15.8.0) - semver: 7.6.0 + semver: 7.5.4 tslib: 2.6.2 dev: false @@ -6198,6 +6328,10 @@ packages: mime-types: 2.1.35 dev: false + /type@1.2.0: + resolution: {integrity: sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==} + dev: false + /type@2.7.2: resolution: {integrity: sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==} dev: false @@ -6208,20 +6342,20 @@ packages: is-typedarray: 1.0.0 dev: false - /typeorm@0.3.20(pg@8.11.5)(supports-color@8.1.1)(ts-node@10.9.2): - resolution: {integrity: sha512-sJ0T08dV5eoZroaq9uPKBoNcGslHBR4E4y+EBHs//SiGbblGe7IeduP/IH4ddCcj0qp3PHwDwGnuvqEAnKlq/Q==} - engines: {node: '>=16.13.0'} + /typeorm@0.3.17(pg@8.11.3)(supports-color@8.1.1)(ts-node@10.9.2): + resolution: {integrity: sha512-UDjUEwIQalO9tWw9O2A4GU+sT3oyoUXheHJy4ft+RFdnRdQctdQ34L9SqE2p7LdwzafHx1maxT+bqXON+Qnmig==} + engines: {node: '>= 12.9.0'} hasBin: true peerDependencies: '@google-cloud/spanner': ^5.18.0 '@sap/hana-client': ^2.12.25 - better-sqlite3: ^7.1.2 || ^8.0.0 || ^9.0.0 + better-sqlite3: ^7.1.2 || ^8.0.0 hdb-pool: ^0.1.6 ioredis: ^5.0.4 - mongodb: ^5.8.0 - mssql: ^9.1.1 || ^10.0.1 + mongodb: ^5.2.0 + mssql: ^9.1.1 mysql2: ^2.2.5 || ^3.0.1 - oracledb: ^6.3.0 + oracledb: ^5.1.0 pg: ^8.5.1 pg-native: ^3.0.0 pg-query-stream: ^4.0.0 @@ -6271,15 +6405,15 @@ packages: buffer: 6.0.3 chalk: 4.1.2 cli-highlight: 2.1.11 - dayjs: 1.11.10 + date-fns: 2.30.0 debug: 4.3.4(supports-color@8.1.1) - dotenv: 16.4.5 - glob: 10.3.12 + dotenv: 16.3.1 + glob: 8.1.0 mkdirp: 2.1.6 - pg: 8.11.5 - reflect-metadata: 0.2.2 + pg: 8.11.3 + reflect-metadata: 0.1.13 sha.js: 2.4.11 - ts-node: 10.9.2(@types/node@18.19.31)(typescript@5.3.3) + ts-node: 10.9.2(@types/node@18.19.0)(typescript@5.3.2) tslib: 2.6.2 uuid: 9.0.1 yargs: 17.7.2 @@ -6287,14 +6421,20 @@ packages: - supports-color dev: false - /typescript@5.3.3: - resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} + /typescript@5.2.2: + resolution: {integrity: sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==} engines: {node: '>=14.17'} hasBin: true dev: false - /ufo@1.5.3: - resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==} + /typescript@5.3.2: + resolution: {integrity: sha512-6l+RyNy7oAHDfxC4FzSJcz9vnjTKxrLpDG5M2Vu4SHRVNg6xzqZp6LYSR9zjqQTu8DU/f5xwxUdADOkbrIX2gQ==} + engines: {node: '>=14.17'} + hasBin: true + dev: false + + /ufo@1.5.4: + resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==} dev: false /undici-types@5.26.5: @@ -6314,7 +6454,7 @@ packages: /uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: - punycode: 2.3.1 + punycode: 2.3.0 dev: false /url-parse-lax@3.0.0: @@ -6329,7 +6469,7 @@ packages: engines: {node: '>=6.14.2'} requiresBuild: true dependencies: - node-gyp-build: 4.8.0 + node-gyp-build: 4.6.1 dev: false /util-deprecate@1.0.2: @@ -6375,8 +6515,8 @@ packages: engines: {node: '>= 0.8'} dev: false - /viem@2.9.16(typescript@5.3.3): - resolution: {integrity: sha512-FQRfN4G7uKEUs5DYvVrH/kZmTkwcSDpTBxnadpwG1EEP8nHm57WDpSaGN7PwSPVgJ6rMo5MENT5hgnqaNTlb2w==} + /viem@2.21.10(typescript@5.3.2): + resolution: {integrity: sha512-n+BKNabWI0k2i7PB4UEdxgHHpQmMeDk+2X9093l/yU0NLUjIgiazybfD1BksGwbiIRk/WXr+aoRqKOExxRDxWA==} peerDependencies: typescript: '>=5.0.4' peerDependenciesMeta: @@ -6384,43 +6524,45 @@ packages: optional: true dependencies: '@adraffy/ens-normalize': 1.10.0 - '@noble/curves': 1.2.0 - '@noble/hashes': 1.3.2 - '@scure/bip32': 1.3.2 - '@scure/bip39': 1.2.1 - abitype: 1.0.0(typescript@5.3.3) - isows: 1.0.3(ws@8.13.0) - typescript: 5.3.3 - ws: 8.13.0 + '@noble/curves': 1.4.0 + '@noble/hashes': 1.4.0 + '@scure/bip32': 1.4.0 + '@scure/bip39': 1.4.0 + abitype: 1.0.5(typescript@5.3.2) + isows: 1.0.4(ws@8.17.1) + typescript: 5.3.2 + webauthn-p256: 0.0.5 + ws: 8.17.1(bufferutil@4.0.7)(utf-8-validate@5.0.10) transitivePeerDependencies: - bufferutil - utf-8-validate - zod dev: false - /vite-node@1.5.0(@types/node@18.19.31)(supports-color@8.1.1): - resolution: {integrity: sha512-tV8h6gMj6vPzVCa7l+VGq9lwoJjW8Y79vst8QZZGiuRAfijU+EEWuc0kFpmndQrWhMMhet1jdSF+40KSZUqIIw==} + /vite-node@1.6.0(@types/node@18.19.0)(supports-color@8.1.1): + resolution: {integrity: sha512-de6HJgzC+TFzOu0NTC4RAIsyf/DY/ibWDYQUcuEA84EMHhcefTUGkjFHKKEJhQN4A+6I0u++kr3l36ZF2d7XRw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true dependencies: cac: 6.7.14 debug: 4.3.4(supports-color@8.1.1) pathe: 1.1.2 - picocolors: 1.0.0 - vite: 5.2.8(@types/node@18.19.31) + picocolors: 1.1.0 + vite: 5.4.6(@types/node@18.19.0) transitivePeerDependencies: - '@types/node' - less - lightningcss - sass + - sass-embedded - stylus - sugarss - supports-color - terser dev: false - /vite@5.2.8(@types/node@18.19.31): - resolution: {integrity: sha512-OyZR+c1CE8yeHw5V5t59aXsUPPVTHMDjEZz8MgguLL/Q7NblxhZUlTu9xSPqlsUO/y+X7dlU05jdhvyycD55DA==} + /vite@5.4.6(@types/node@18.19.0): + resolution: {integrity: sha512-IeL5f8OO5nylsgzd9tq4qD2QqI0k2CQLGrWD0rCN0EQJZpBK5vJAx0I+GDkMOXxQX/OfFHMuLIx6ddAxGX/k+Q==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -6428,6 +6570,7 @@ packages: less: '*' lightningcss: ^1.21.0 sass: '*' + sass-embedded: '*' stylus: '*' sugarss: '*' terser: ^5.4.0 @@ -6440,6 +6583,8 @@ packages: optional: true sass: optional: true + sass-embedded: + optional: true stylus: optional: true sugarss: @@ -6447,23 +6592,23 @@ packages: terser: optional: true dependencies: - '@types/node': 18.19.31 - esbuild: 0.20.2 - postcss: 8.4.38 - rollup: 4.14.2 + '@types/node': 18.19.0 + esbuild: 0.21.5 + postcss: 8.4.47 + rollup: 4.22.2 optionalDependencies: fsevents: 2.3.3 dev: false - /vitest@1.5.0(@types/node@18.19.31)(supports-color@8.1.1): - resolution: {integrity: sha512-d8UKgR0m2kjdxDWX6911uwxout6GHS0XaGH1cksSIVVG8kRlE7G7aBw7myKQCvDI5dT4j7ZMa+l706BIORMDLw==} + /vitest@1.6.0(@types/node@18.19.0)(supports-color@8.1.1): + resolution: {integrity: sha512-H5r/dN06swuFnzNFhq/dnz37bPXnq8xB2xB5JOVk8K09rUtoeNN+LHWkoQ0A/i3hvbUKKcCei9KpbxqHMLhLLA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@types/node': ^18.0.0 || >=20.0.0 - '@vitest/browser': 1.5.0 - '@vitest/ui': 1.5.0 + '@vitest/browser': 1.6.0 + '@vitest/ui': 1.6.0 happy-dom: '*' jsdom: '*' peerDependenciesMeta: @@ -6480,42 +6625,50 @@ packages: jsdom: optional: true dependencies: - '@types/node': 18.19.31 - '@vitest/expect': 1.5.0 - '@vitest/runner': 1.5.0 - '@vitest/snapshot': 1.5.0 - '@vitest/spy': 1.5.0 - '@vitest/utils': 1.5.0 - acorn-walk: 8.3.2 - chai: 4.4.1 + '@types/node': 18.19.0 + '@vitest/expect': 1.6.0 + '@vitest/runner': 1.6.0 + '@vitest/snapshot': 1.6.0 + '@vitest/spy': 1.6.0 + '@vitest/utils': 1.6.0 + acorn-walk: 8.3.4 + chai: 4.5.0 debug: 4.3.4(supports-color@8.1.1) execa: 8.0.1 local-pkg: 0.5.0 - magic-string: 0.30.9 + magic-string: 0.30.11 pathe: 1.1.2 - picocolors: 1.0.0 + picocolors: 1.1.0 std-env: 3.7.0 strip-literal: 2.1.0 - tinybench: 2.7.0 - tinypool: 0.8.3 - vite: 5.2.8(@types/node@18.19.31) - vite-node: 1.5.0(@types/node@18.19.31)(supports-color@8.1.1) - why-is-node-running: 2.2.2 + tinybench: 2.9.0 + tinypool: 0.8.4 + vite: 5.4.6(@types/node@18.19.0) + vite-node: 1.6.0(@types/node@18.19.0)(supports-color@8.1.1) + why-is-node-running: 2.3.0 transitivePeerDependencies: - less - lightningcss - sass + - sass-embedded - stylus - sugarss - supports-color - terser dev: false - /web-streams-polyfill@3.3.3: - resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} + /web-streams-polyfill@3.2.1: + resolution: {integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==} engines: {node: '>= 8'} dev: false + /webauthn-p256@0.0.5: + resolution: {integrity: sha512-drMGNWKdaixZNobeORVIqq7k5DsRC9FnG201K2QjeOoQLmtSDaSsVZdkg6n5jUALJKcAG++zBPJXmv6hy0nWFg==} + dependencies: + '@noble/curves': 1.6.0 + '@noble/hashes': 1.5.0 + dev: false + /webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} dev: false @@ -6524,9 +6677,9 @@ packages: resolution: {integrity: sha512-PRDso2sGwF6kM75QykIesBijKSVceR6jL2G8NGYyq2XrItNC2P5/qL5XeR056GhA+Ly7JMFvJb9I312mJfmqnQ==} engines: {node: '>=4.0.0'} dependencies: - bufferutil: 4.0.8 + bufferutil: 4.0.7 debug: 2.6.9 - es5-ext: 0.10.64 + es5-ext: 0.10.62 typedarray-to-buffer: 3.1.5 utf-8-validate: 5.0.10 yaeti: 0.0.6 @@ -6554,25 +6707,24 @@ packages: is-symbol: 1.0.4 dev: false - /which-collection@1.0.2: - resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} - engines: {node: '>= 0.4'} + /which-collection@1.0.1: + resolution: {integrity: sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==} dependencies: - is-map: 2.0.3 - is-set: 2.0.3 - is-weakmap: 2.0.2 - is-weakset: 2.0.3 + is-map: 2.0.2 + is-set: 2.0.2 + is-weakmap: 2.0.1 + is-weakset: 2.0.2 dev: false - /which-typed-array@1.1.15: - resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} + /which-typed-array@1.1.13: + resolution: {integrity: sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==} engines: {node: '>= 0.4'} dependencies: - available-typed-arrays: 1.0.7 - call-bind: 1.0.7 + available-typed-arrays: 1.0.5 + call-bind: 1.0.5 for-each: 0.3.3 gopd: 1.0.1 - has-tostringtag: 1.0.2 + has-tostringtag: 1.0.0 dev: false /which@2.0.2: @@ -6583,8 +6735,8 @@ packages: isexe: 2.0.0 dev: false - /why-is-node-running@2.2.2: - resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==} + /why-is-node-running@2.3.0: + resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==} engines: {node: '>=8'} hasBin: true dependencies: @@ -6622,8 +6774,8 @@ packages: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} dev: false - /ws@7.5.9: - resolution: {integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==} + /ws@7.5.10: + resolution: {integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==} engines: {node: '>=8.3.0'} peerDependencies: bufferutil: ^4.0.1 @@ -6635,8 +6787,8 @@ packages: optional: true dev: false - /ws@8.13.0: - resolution: {integrity: sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==} + /ws@8.14.2: + resolution: {integrity: sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 @@ -6648,8 +6800,8 @@ packages: optional: true dev: false - /ws@8.16.0(bufferutil@4.0.8)(utf-8-validate@5.0.10): - resolution: {integrity: sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==} + /ws@8.17.1(bufferutil@4.0.7)(utf-8-validate@5.0.10): + resolution: {integrity: sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 @@ -6660,23 +6812,10 @@ packages: utf-8-validate: optional: true dependencies: - bufferutil: 4.0.8 + bufferutil: 4.0.7 utf-8-validate: 5.0.10 dev: false - /ws@8.17.1: - resolution: {integrity: sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: '>=5.0.2' - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - dev: false - /ws@8.5.0: resolution: {integrity: sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==} engines: {node: '>=10.0.0'} @@ -6690,8 +6829,8 @@ packages: optional: true dev: false - /xss@1.0.15: - resolution: {integrity: sha512-FVdlVVC67WOIPvfOwhoMETV72f6GbW7aOabBC3WxN/oUdoEMDyLz4OgRv5/gck2ZeNqEQu+Tb0kloovXOfpYVg==} + /xss@1.0.14: + resolution: {integrity: sha512-og7TEJhXvn1a7kzZGQ7ETjdQVS2UfZyTlsEdDOqvQF7GoxNfY+0YLCzBy1kPdsDDx4QuNAonQPddpsn6Xl/7sw==} engines: {node: '>= 0.10.0'} hasBin: true dependencies: @@ -6758,7 +6897,7 @@ packages: engines: {node: '>=10'} dependencies: cliui: 7.0.4 - escalade: 3.1.2 + escalade: 3.1.1 get-caller-file: 2.0.5 require-directory: 2.1.1 string-width: 4.2.3 @@ -6771,7 +6910,7 @@ packages: engines: {node: '>=12'} dependencies: cliui: 8.0.1 - escalade: 3.1.2 + escalade: 3.1.1 get-caller-file: 2.0.5 require-directory: 2.1.1 string-width: 4.2.3 @@ -6789,23 +6928,23 @@ packages: engines: {node: '>=10'} dev: false - /yocto-queue@1.0.0: - resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} + /yocto-queue@1.1.1: + resolution: {integrity: sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==} engines: {node: '>=12.20'} dev: false file:projects/astar-erc20.tgz(supports-color@8.1.1)(ts-node@10.9.2): - resolution: {integrity: sha512-qhAMy/DFPrCpinLOT2fnzDVRAMWn67xrcUxG5eWPMnEc2QKfVq9siVxpMiGxR9FTAb4AjT6nBKPassMlemxQzg==, tarball: file:projects/astar-erc20.tgz} + resolution: {integrity: sha512-Q75rSiKVt7+lB1VI9A8yTp/WlfwNQlpuGXC9l3nrBUH2omWuWAywApV8WXcngz8uJFWaipyMag4cCZHOrB3bgA==, tarball: file:projects/astar-erc20.tgz} id: file:projects/astar-erc20.tgz name: '@rush-temp/astar-erc20' version: 0.0.0 dependencies: - '@types/node': 18.19.31 - dotenv: 16.4.5 - ethers: 6.11.1 - pg: 8.11.5 - typeorm: 0.3.20(pg@8.11.5)(supports-color@8.1.1)(ts-node@10.9.2) - typescript: 5.3.3 + '@types/node': 18.19.0 + dotenv: 16.3.1 + ethers: 6.9.0 + pg: 8.11.3 + typeorm: 0.3.17(pg@8.11.3)(supports-color@8.1.1)(ts-node@10.9.2) + typescript: 5.3.2 transitivePeerDependencies: - '@google-cloud/spanner' - '@sap/hana-client' @@ -6829,17 +6968,17 @@ packages: dev: false file:projects/balances.tgz(supports-color@8.1.1): - resolution: {integrity: sha512-CvS81OcWOKDXxNSUAbxV2wcLA3MXH3VtFh91V7/AQP+xd05K0ZwKt3/H1gaC0k6L/gGBStFs4YVeakB+F9/BlA==, tarball: file:projects/balances.tgz} + resolution: {integrity: sha512-oNrNDSdTh02TrJwlhnlonVqbLPYi0Js7OXm4U/f0qoJL6Ok9254rZkPiuYtt6LLs0ihYS36S0Q1tucd9AVQi4A==, tarball: file:projects/balances.tgz} id: file:projects/balances.tgz name: '@rush-temp/balances' version: 0.0.0 dependencies: - '@types/node': 18.19.31 - dotenv: 16.4.5 - pg: 8.11.5 - ts-node: 10.9.2(@types/node@18.19.31)(typescript@5.3.3) - typeorm: 0.3.20(pg@8.11.5)(supports-color@8.1.1)(ts-node@10.9.2) - typescript: 5.3.3 + '@types/node': 18.19.0 + dotenv: 16.3.1 + pg: 8.11.3 + ts-node: 10.9.2(@types/node@18.19.0)(typescript@5.3.2) + typeorm: 0.3.17(pg@8.11.3)(supports-color@8.1.1)(ts-node@10.9.2) + typescript: 5.3.2 transitivePeerDependencies: - '@google-cloud/spanner' - '@sap/hana-client' @@ -6866,9 +7005,9 @@ packages: name: '@rush-temp/batch-processor' version: 0.0.0 dependencies: - '@types/node': 18.19.31 + '@types/node': 18.19.0 prom-client: 14.2.0 - typescript: 5.3.3 + typescript: 5.3.2 dev: false file:projects/big-decimal.tgz: @@ -6885,9 +7024,9 @@ packages: version: 0.0.0 dependencies: '@coral-xyz/anchor': 0.29.0 - '@coral-xyz/borsh': 0.29.0(@solana/web3.js@1.91.4) + '@coral-xyz/borsh': 0.29.0(@solana/web3.js@1.95.3) bs58: 5.0.0 - typescript: 5.3.3 + typescript: 5.3.2 transitivePeerDependencies: - '@solana/web3.js' - bufferutil @@ -6900,9 +7039,9 @@ packages: name: '@rush-temp/borsh' version: 0.0.0 dependencies: - '@types/node': 18.19.31 + '@types/node': 18.19.0 bs58: 5.0.0 - typescript: 5.3.3 + typescript: 5.3.2 dev: false file:projects/commands.tgz: @@ -6910,39 +7049,40 @@ packages: name: '@rush-temp/commands' version: 0.0.0 dependencies: - '@types/node': 18.19.31 + '@types/glob': 8.1.0 + '@types/node': 18.19.0 '@types/supports-color': 8.1.3 - glob: 10.3.12 + glob: 10.3.10 supports-color: 8.1.1 - typescript: 5.3.3 + typescript: 5.3.2 dev: false file:projects/data-test.tgz: - resolution: {integrity: sha512-xoCokPcTQYTZ/qHk8/UubXFCEuO29JjHQeZPslOEoBUwOKSOJ+GrMYlxFy9qHfZ/9XKkECMiFG/0d/XfkhE46Q==, tarball: file:projects/data-test.tgz} + resolution: {integrity: sha512-GML4fT32wi8EUKBS/zKLAdOfxSZuoeBtNcPKreOHIECdO239B18bfitnHLnQ+DC55e7IdJVkYVnlPFQM4UNJFA==, tarball: file:projects/data-test.tgz} name: '@rush-temp/data-test' version: 0.0.0 dependencies: - '@types/node': 18.19.31 - '@types/pg': 8.11.5 + '@types/node': 18.19.0 + '@types/pg': 8.10.9 expect: 29.7.0 - pg: 8.11.5 - typescript: 5.3.3 + pg: 8.11.3 + typescript: 5.3.2 transitivePeerDependencies: - pg-native dev: false file:projects/erc20-transfers.tgz(supports-color@8.1.1)(ts-node@10.9.2): - resolution: {integrity: sha512-62EnfPOM9cYlFN4BbmQ+26gUhGCX4o5LcMSavw1z1j8480ivglqGgYETQAEvgCiWrjhQjglio/zBU4ozTQDt6g==, tarball: file:projects/erc20-transfers.tgz} + resolution: {integrity: sha512-c4UEe5BPf277mZ3uKmegHW0f5fhUWtrlMSkA726p3iZZ81Tw3l10IM3C3QvdRNIXHK4Mfq/SY7nuZETTZ6XI5g==, tarball: file:projects/erc20-transfers.tgz} id: file:projects/erc20-transfers.tgz name: '@rush-temp/erc20-transfers' version: 0.0.0 dependencies: - '@types/node': 18.19.31 - dotenv: 16.4.5 - ethers: 6.11.1 - pg: 8.11.5 - typeorm: 0.3.20(pg@8.11.5)(supports-color@8.1.1)(ts-node@10.9.2) - typescript: 5.3.3 + '@types/node': 18.19.0 + dotenv: 16.3.1 + ethers: 6.9.0 + pg: 8.11.3 + typeorm: 0.3.17(pg@8.11.3)(supports-color@8.1.1)(ts-node@10.9.2) + typescript: 5.3.2 transitivePeerDependencies: - '@google-cloud/spanner' - '@sap/hana-client' @@ -6971,12 +7111,12 @@ packages: name: '@rush-temp/evm-abi' version: 0.0.0 dependencies: - '@types/node': 18.19.31 - ethers: 6.11.1 + '@types/node': 18.19.0 + ethers: 6.9.0 keccak256: 1.0.6 - typescript: 5.3.3 - viem: 2.9.16(typescript@5.3.3) - vitest: 1.5.0(@types/node@18.19.31)(supports-color@8.1.1) + typescript: 5.3.2 + viem: 2.21.10(typescript@5.3.2) + vitest: 1.6.0(@types/node@18.19.0)(supports-color@8.1.1) transitivePeerDependencies: - '@edge-runtime/vm' - '@vitest/browser' @@ -6987,6 +7127,7 @@ packages: - less - lightningcss - sass + - sass-embedded - stylus - sugarss - supports-color @@ -7001,11 +7142,11 @@ packages: name: '@rush-temp/evm-codec' version: 0.0.0 dependencies: - '@types/node': 18.19.31 - ethers: 6.11.1 - typescript: 5.3.3 - viem: 2.9.16(typescript@5.3.3) - vitest: 1.5.0(@types/node@18.19.31)(supports-color@8.1.1) + '@types/node': 18.19.0 + ethers: 6.9.0 + typescript: 5.3.2 + viem: 2.21.10(typescript@5.3.2) + vitest: 1.6.0(@types/node@18.19.0)(supports-color@8.1.1) transitivePeerDependencies: - '@edge-runtime/vm' - '@vitest/browser' @@ -7016,6 +7157,7 @@ packages: - less - lightningcss - sass + - sass-embedded - stylus - sugarss - supports-color @@ -7025,24 +7167,24 @@ packages: dev: false file:projects/evm-processor.tgz: - resolution: {integrity: sha512-pObjOrskTjST8EjI4qGNapi6523dAOuSUN/p1o0ZapaZpB1szlgKCEfIR93udvnbXE6sg+3irceAg0Zgxm+wIA==, tarball: file:projects/evm-processor.tgz} + resolution: {integrity: sha512-jylrb9tvCuHQmVDuBLgsBID8BI3EN07kVNyrPT3ec/+mj8qdq7p3TmoM48GcZsxOh/lj3ohQCndZmI96YAwjEA==, tarball: file:projects/evm-processor.tgz} name: '@rush-temp/evm-processor' version: 0.0.0 dependencies: - '@types/node': 18.19.31 - typescript: 5.3.3 + '@types/node': 18.19.0 + typescript: 5.3.2 dev: false file:projects/evm-typegen.tgz: - resolution: {integrity: sha512-jSEff4oIGLLksIta9sjbhjQCRuQ/SyvZDFTANmhjB2HEW12e0i67wSeIEKDVMAMWFpPjFnt4dFmC4kNPby9LNA==, tarball: file:projects/evm-typegen.tgz} + resolution: {integrity: sha512-q67HPWSMd7DZZJ2inxkeD/Uzl36qqSBHCyUGodGxd5nAnc+LTzqGqCwM/8fvgrwT4oFB7t8Ajvo0iRqwtG1eaA==, tarball: file:projects/evm-typegen.tgz} name: '@rush-temp/evm-typegen' version: 0.0.0 dependencies: - '@types/node': 18.19.31 - abitype: 1.0.4(typescript@5.3.3) + '@types/node': 18.19.0 + abitype: 1.0.6(typescript@5.3.2) commander: 11.1.0 - ethers: 6.11.1 - typescript: 5.3.3 + ethers: 6.9.0 + typescript: 5.3.2 transitivePeerDependencies: - zod dev: false @@ -7053,46 +7195,46 @@ packages: version: 0.0.0 dependencies: '@types/expect': 24.3.0 - '@types/mocha': 10.0.7 - '@types/node': 18.19.31 - ethers: 6.13.2 + '@types/mocha': 10.0.8 + '@types/node': 18.19.0 + ethers: 6.9.0 expect: 29.7.0 - mocha: 10.7.0 - typescript: 5.3.3 + mocha: 10.7.3 + typescript: 5.3.2 transitivePeerDependencies: - bufferutil - utf-8-validate dev: false file:projects/fuel-data.tgz: - resolution: {integrity: sha512-R6rgcDhYmRY2LVeBzYMG8ZGHYA1eIOYeO2yVsTTzJL9bnhzp1zWxyR5aJz2LvATYpVlS9e6QRo4WXkzxeOdERA==, tarball: file:projects/fuel-data.tgz} + resolution: {integrity: sha512-13q5ePpMIkHITHoFDnywC24oa3tNaz5Hnnd0iEW4ovS5sykX8RsWGqKcklUFbYxJHBOAZwddh+C6SlaFv850WA==, tarball: file:projects/fuel-data.tgz} name: '@rush-temp/fuel-data' version: 0.0.0 dependencies: - '@types/node': 18.19.31 - typescript: 5.3.3 + '@types/node': 18.19.0 + typescript: 5.3.2 dev: false file:projects/fuel-dump.tgz: - resolution: {integrity: sha512-jfbsQQBFI0rAc+02kEguPdLfrJ6FRUcVMGYet00YI6Kg9/YG5sEQ09FYdbHN1GgJbp0tjql7AoaKtcWBPK6rWA==, tarball: file:projects/fuel-dump.tgz} + resolution: {integrity: sha512-5fOR+g7DAcpN55dolVQWo04+jEt2wJH9a1YonPiPykxQU0iNMmBPo0oUfL5ajw1PBLFZi8bURdgQxsq9pddj+g==, tarball: file:projects/fuel-dump.tgz} name: '@rush-temp/fuel-dump' version: 0.0.0 dependencies: - '@types/node': 18.19.31 - typescript: 5.3.3 + '@types/node': 18.19.0 + typescript: 5.3.2 dev: false file:projects/fuel-indexer.tgz(supports-color@8.1.1)(ts-node@10.9.2): - resolution: {integrity: sha512-bib5zXIPFMGE1whL0HjMQeOPgTpnlWFpNAtD+lZrNkxLcdBw9PFmavna8eeHHx2hEPi+vqQRJRs0yEWGOeUiSg==, tarball: file:projects/fuel-indexer.tgz} + resolution: {integrity: sha512-r5iPJgs+VFkdCIEVxbJ5f+tIe1UxlBaGusTjzQqM3kB58eYv36WaD4bYVZ82nhgDZDLwZHGxiGQ87ZfWazOsxA==, tarball: file:projects/fuel-indexer.tgz} id: file:projects/fuel-indexer.tgz name: '@rush-temp/fuel-indexer' version: 0.0.0 dependencies: - '@types/node': 18.19.31 - dotenv: 16.4.5 - pg: 8.11.5 - typeorm: 0.3.20(pg@8.11.5)(supports-color@8.1.1)(ts-node@10.9.2) - typescript: 5.3.3 + '@types/node': 18.19.0 + dotenv: 16.3.1 + pg: 8.11.3 + typeorm: 0.3.17(pg@8.11.3)(supports-color@8.1.1)(ts-node@10.9.2) + typescript: 5.3.2 transitivePeerDependencies: - '@google-cloud/spanner' - '@sap/hana-client' @@ -7114,53 +7256,53 @@ packages: dev: false file:projects/fuel-ingest.tgz: - resolution: {integrity: sha512-zt2d471zI1ovf7cwe1+gnO72kpQBBNTl0DCvlB3NUvXUKCDS7od3W+7NPXN1Dvc+uvUcLUByWbt6S1sZb7LB5w==, tarball: file:projects/fuel-ingest.tgz} + resolution: {integrity: sha512-xtHmZ+TFqJKgmZAl5E3BH5IiUpwgJxp60rPmlG/mWk1n4tc9/rZWffgSl8f8OhrahBVM6FkTGIYa4shf5U/DGA==, tarball: file:projects/fuel-ingest.tgz} name: '@rush-temp/fuel-ingest' version: 0.0.0 dependencies: - '@types/node': 18.19.31 - typescript: 5.3.3 + '@types/node': 18.19.0 + typescript: 5.3.2 dev: false file:projects/fuel-normalization.tgz: - resolution: {integrity: sha512-ChJlsH4aYTKWWyGvLh5B4C99iPY2aC20xAMkTawQAAMvrre01Qrr0Y+psQAHpV5qvDmVduR6FId4ZaDDt7yU0Q==, tarball: file:projects/fuel-normalization.tgz} + resolution: {integrity: sha512-+LKN4KTqtJ6snwth2eMXqUake7lFN+wDq2HmUt34wi89tT0SwpzEz2VUAscvPwB70oi48/9awQHeTj3+UBXzzA==, tarball: file:projects/fuel-normalization.tgz} name: '@rush-temp/fuel-normalization' version: 0.0.0 dependencies: - '@types/node': 18.19.31 - typescript: 5.3.3 + '@types/node': 18.19.0 + typescript: 5.3.2 dev: false file:projects/fuel-objects.tgz: - resolution: {integrity: sha512-EXFNr/MrI2hswUOF6kcaLc8dagLs+epNIcs/s3F6f9IS2aV0+VtiYKTi6ZI2m3eguRVr3lTmjUA2mfotG38zGA==, tarball: file:projects/fuel-objects.tgz} + resolution: {integrity: sha512-qs6z3oz4OMNJRT/x/GLyM9MmZsE558LhXLEyQ2OyZTgQgaCx0c/2dtu0gLLgsvzc4WRRXWF8EupXFjrVVAy4kw==, tarball: file:projects/fuel-objects.tgz} name: '@rush-temp/fuel-objects' version: 0.0.0 dependencies: - '@types/node': 18.19.31 - typescript: 5.3.3 + '@types/node': 18.19.0 + typescript: 5.3.2 dev: false file:projects/fuel-stream.tgz: - resolution: {integrity: sha512-zBkxNOnUJGxIsCtWIMRoElTYi2rG5E3nDVYo8WfoZ6FIFF9BxhWEIgQkbMhmv+Gw/qAqAUY5COTbikIIdVFqaw==, tarball: file:projects/fuel-stream.tgz} + resolution: {integrity: sha512-6tdOdTsPoMcS1wER2WE/TL/UZbyiOGEisjnX7VWSX+gyk+bWQnj4WVYbg3ERgwxUiudSUzFpPrMaqyiXRydz/Q==, tarball: file:projects/fuel-stream.tgz} name: '@rush-temp/fuel-stream' version: 0.0.0 dependencies: - '@types/node': 18.19.31 - typescript: 5.3.3 + '@types/node': 18.19.0 + typescript: 5.3.2 dev: false file:projects/gql-test-client.tgz(graphql@15.8.0): - resolution: {integrity: sha512-B7Jy2uV20XDpA41iqkpdr1WgCQXQFrubPvCMWIs/KU9M/k9tZKT/EMJo/o4B/sDAn0jDN0A6igyXjInSDd8d+g==, tarball: file:projects/gql-test-client.tgz} + resolution: {integrity: sha512-kBeUZRq792YwZh0yplUaAp6dOP+GyPg3RwiPXrAUjA4RW6o6/FE4AIU0YQjxIozZC2l/OuvYt5zOunrvrlwo4A==, tarball: file:projects/gql-test-client.tgz} id: file:projects/gql-test-client.tgz name: '@rush-temp/gql-test-client' version: 0.0.0 dependencies: - '@types/node': 18.19.31 + '@types/node': 18.19.0 '@types/ws': 8.5.10 expect: 29.7.0 - graphql-ws: 5.16.0(graphql@15.8.0) - typescript: 5.3.3 - ws: 8.16.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + graphql-ws: 5.14.2(graphql@15.8.0) + typescript: 5.3.2 + ws: 8.14.2 transitivePeerDependencies: - bufferutil - graphql @@ -7168,39 +7310,39 @@ packages: dev: false file:projects/graphql-server.tgz(supports-color@8.1.1)(ts-node@10.9.2): - resolution: {integrity: sha512-fHUdtFViYI7neueNdzFFcNmmii4P5Ke6eXMyGQ3dZMOlSDuu3AAtBhuXk48VcwefamKe5HBEDoZvWJqJDFosVQ==, tarball: file:projects/graphql-server.tgz} + resolution: {integrity: sha512-Nhnng9ml4JvDoN2mpGlj7lyg9jZsJ1W/1GpApBfwdj23yDt+5e+fYeiOxZ7EAueiMAnb8Qek0amYJEhRNdIWfA==, tarball: file:projects/graphql-server.tgz} id: file:projects/graphql-server.tgz name: '@rush-temp/graphql-server' version: 0.0.0 dependencies: '@apollo/utils.keyvadapter': 1.1.2 '@apollo/utils.keyvaluecache': 1.0.2 - '@graphql-tools/merge': 9.0.3(graphql@15.8.0) - '@graphql-tools/schema': 10.0.3(graphql@15.8.0) - '@graphql-tools/utils': 10.1.2(graphql@15.8.0) + '@graphql-tools/merge': 9.0.1(graphql@15.8.0) + '@graphql-tools/schema': 10.0.2(graphql@15.8.0) + '@graphql-tools/utils': 10.0.11(graphql@15.8.0) '@keyv/redis': 2.5.8(supports-color@8.1.1) '@types/express': 4.17.21 '@types/mocha': 10.0.6 - '@types/node': 18.19.31 - '@types/pg': 8.11.5 + '@types/node': 18.19.0 + '@types/pg': 8.10.9 '@types/ws': 8.5.10 apollo-server-core: 3.13.0(graphql@15.8.0) - apollo-server-express: 3.13.0(express@4.19.2)(graphql@15.8.0) + apollo-server-express: 3.13.0(express@4.18.2)(graphql@15.8.0) apollo-server-plugin-response-cache: 3.7.1(graphql@15.8.0) - class-validator: 0.14.1 + class-validator: 0.14.0 commander: 11.1.0 - dotenv: 16.4.5 + dotenv: 16.3.1 expect: 29.7.0 - express: 4.19.2 + express: 4.18.2 graphql: 15.8.0 - graphql-ws: 5.16.0(graphql@15.8.0) + graphql-ws: 5.14.2(graphql@15.8.0) keyv: 4.5.4 - mocha: 10.4.0 - pg: 8.11.5 - type-graphql: 1.2.0-rc.1(class-validator@0.14.1)(graphql@15.8.0) - typeorm: 0.3.20(pg@8.11.5)(supports-color@8.1.1)(ts-node@10.9.2) - typescript: 5.3.3 - ws: 8.16.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + mocha: 10.2.0 + pg: 8.11.3 + type-graphql: 1.2.0-rc.1(class-validator@0.14.0)(graphql@15.8.0) + typeorm: 0.3.17(pg@8.11.3)(supports-color@8.1.1)(ts-node@10.9.2) + typescript: 5.3.2 + ws: 8.14.2 transitivePeerDependencies: - '@google-cloud/spanner' - '@sap/hana-client' @@ -7229,9 +7371,9 @@ packages: name: '@rush-temp/http-client' version: 0.0.0 dependencies: - '@types/node': 18.19.31 + '@types/node': 18.19.0 node-fetch: 3.3.2 - typescript: 5.3.3 + typescript: 5.3.2 dev: false file:projects/ink-abi.tgz: @@ -7240,11 +7382,11 @@ packages: version: 0.0.0 dependencies: '@types/mocha': 10.0.6 - '@types/node': 18.19.31 + '@types/node': 18.19.0 ajv: 8.12.0 expect: 29.7.0 - mocha: 10.4.0 - typescript: 5.3.3 + mocha: 10.2.0 + typescript: 5.3.2 dev: false file:projects/ink-typegen.tgz: @@ -7252,9 +7394,9 @@ packages: name: '@rush-temp/ink-typegen' version: 0.0.0 dependencies: - '@types/node': 18.19.31 + '@types/node': 18.19.0 commander: 11.1.0 - typescript: 5.3.3 + typescript: 5.3.2 dev: false file:projects/logger.tgz: @@ -7263,12 +7405,12 @@ packages: version: 0.0.0 dependencies: '@types/mocha': 10.0.6 - '@types/node': 18.19.31 + '@types/node': 18.19.0 '@types/supports-color': 8.1.3 expect: 29.7.0 - mocha: 10.4.0 + mocha: 10.2.0 supports-color: 8.1.1 - typescript: 5.3.3 + typescript: 5.3.2 dev: false file:projects/openreader.tgz(supports-color@8.1.1): @@ -7277,32 +7419,30 @@ packages: name: '@rush-temp/openreader' version: 0.0.0 dependencies: - '@graphql-tools/merge': 9.0.3(graphql@15.8.0) + '@graphql-tools/merge': 9.0.1(graphql@15.8.0) '@subsquid/graphiql-console': 0.3.0 '@types/deep-equal': 1.0.4 '@types/express': 4.17.21 '@types/inflected': 2.1.3 '@types/mocha': 10.0.6 - '@types/node': 18.19.31 - '@types/pg': 8.11.5 - '@types/pluralize': 0.0.33 + '@types/node': 18.19.0 + '@types/pg': 8.10.9 '@types/ws': 8.5.10 apollo-server-core: 3.13.0(graphql@15.8.0) - apollo-server-express: 3.13.0(express@4.19.2)(graphql@15.8.0) + apollo-server-express: 3.13.0(express@4.18.2)(graphql@15.8.0) commander: 11.1.0 deep-equal: 2.2.3 - dotenv: 16.4.5 + dotenv: 16.3.1 expect: 29.7.0 - express: 4.19.2 + express: 4.18.2 graphql: 15.8.0 graphql-parse-resolve-info: 4.14.0(graphql@15.8.0)(supports-color@8.1.1) - graphql-ws: 5.16.0(graphql@15.8.0) + graphql-ws: 5.14.2(graphql@15.8.0) inflected: 2.1.0 - mocha: 10.4.0 - pg: 8.11.5 - pluralize: 8.0.0 - typescript: 5.3.3 - ws: 8.16.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + mocha: 10.2.0 + pg: 8.11.3 + typescript: 5.3.2 + ws: 8.14.2 transitivePeerDependencies: - bufferutil - encoding @@ -7316,8 +7456,8 @@ packages: name: '@rush-temp/ops-xcm-typegen' version: 0.0.0 dependencies: - '@types/node': 18.19.31 - typescript: 5.3.3 + '@types/node': 18.19.0 + typescript: 5.3.2 dev: false file:projects/raw-archive-validator.tgz: @@ -7325,19 +7465,19 @@ packages: name: '@rush-temp/raw-archive-validator' version: 0.0.0 dependencies: - '@types/node': 18.19.31 + '@types/node': 18.19.0 commander: 11.1.0 - typescript: 5.3.3 + typescript: 5.3.2 dev: false file:projects/rpc-client.tgz: - resolution: {integrity: sha512-GEWqVRas3lM/oh9aZDA8TzmOf/GFXkWzbFP1V5VJjJAcWAM2JhYpnyJA1Cz0pyeC/mYm3B+kmVCMtqfrMiMrmA==, tarball: file:projects/rpc-client.tgz} + resolution: {integrity: sha512-WygOkwBS3dwxo9LZbje6wvJB0ij34Z4j6oMO88haaR5P3fiUIk4oa3mnY4NXPjeigUuTtBylJDFfEqqchvnNcg==, tarball: file:projects/rpc-client.tgz} name: '@rush-temp/rpc-client' version: 0.0.0 dependencies: - '@types/node': 18.19.31 + '@types/node': 18.19.0 '@types/websocket': 1.0.10 - typescript: 5.3.3 + typescript: 5.3.2 websocket: 1.0.34 dev: false @@ -7346,8 +7486,8 @@ packages: name: '@rush-temp/scale-codec' version: 0.0.0 dependencies: - '@types/node': 18.19.31 - typescript: 5.3.3 + '@types/node': 18.19.0 + typescript: 5.3.2 dev: false file:projects/scale-type-system.tgz: @@ -7355,21 +7495,21 @@ packages: name: '@rush-temp/scale-type-system' version: 0.0.0 dependencies: - '@types/node': 18.19.31 - typescript: 5.3.3 + '@types/node': 18.19.0 + typescript: 5.3.2 dev: false file:projects/shibuya-erc20.tgz(supports-color@8.1.1)(ts-node@10.9.2): - resolution: {integrity: sha512-0FH43B3YccihEze0/HLKO8ouullLX9xXyGP7nd7MpYvMP2urlASC0eIybFGJ36T5aN1d1KAQsi0yhSxu+ozqfA==, tarball: file:projects/shibuya-erc20.tgz} + resolution: {integrity: sha512-Oow1Jpfp4BPl7DVGf8e+6GEWXXyHuVADS1DcozmjfiUPyIzXSBjBE6Jrq2+2ZYQ5iMKsO4vwxmA0gpXNNufGQg==, tarball: file:projects/shibuya-erc20.tgz} id: file:projects/shibuya-erc20.tgz name: '@rush-temp/shibuya-erc20' version: 0.0.0 dependencies: - '@types/node': 18.19.31 - dotenv: 16.4.5 - pg: 8.11.5 - typeorm: 0.3.20(pg@8.11.5)(supports-color@8.1.1)(ts-node@10.9.2) - typescript: 5.3.3 + '@types/node': 18.19.0 + dotenv: 16.3.1 + pg: 8.11.3 + typeorm: 0.3.17(pg@8.11.3)(supports-color@8.1.1)(ts-node@10.9.2) + typescript: 5.3.2 transitivePeerDependencies: - '@google-cloud/spanner' - '@sap/hana-client' @@ -7391,16 +7531,16 @@ packages: dev: false file:projects/shibuya-psp22.tgz(supports-color@8.1.1)(ts-node@10.9.2): - resolution: {integrity: sha512-H44OZ7vDYQCko011K5G4HkdiqgB1caNebXkbrAMvOPd0SB9JQheqcdfOWNkKSpyuzQH1AMtsVn4Y3/uE+uV6tQ==, tarball: file:projects/shibuya-psp22.tgz} + resolution: {integrity: sha512-O3HBBx34t3V0fdGLE8nYUPtEBuuLWiW7FsVyD0Nk+Po5C8O6uAcHtVUECBx6BUpiH3/UelRYQPccGpJkuSXJ/A==, tarball: file:projects/shibuya-psp22.tgz} id: file:projects/shibuya-psp22.tgz name: '@rush-temp/shibuya-psp22' version: 0.0.0 dependencies: - '@types/node': 18.19.31 - dotenv: 16.4.5 - pg: 8.11.5 - typeorm: 0.3.20(pg@8.11.5)(supports-color@8.1.1)(ts-node@10.9.2) - typescript: 5.3.3 + '@types/node': 18.19.0 + dotenv: 16.3.1 + pg: 8.11.3 + typeorm: 0.3.17(pg@8.11.3)(supports-color@8.1.1)(ts-node@10.9.2) + typescript: 5.3.2 transitivePeerDependencies: - '@google-cloud/spanner' - '@sap/hana-client' @@ -7422,25 +7562,25 @@ packages: dev: false file:projects/solana-dump.tgz: - resolution: {integrity: sha512-krF6YgAypgJAFO5curbFEQ+sEJR4+/AaEP8LsX4vCZTgmPU0ox/h46d85v2eDEg6YKLEKu241rpg5noL93N4NQ==, tarball: file:projects/solana-dump.tgz} + resolution: {integrity: sha512-fRPHdT5/yjs+HqmslEshxjbb7KaZOWCCiLVNp2cEc1Wk0jAe00Q6oDONuyEyEdBx3mz7CikUaADQOGKaEhGnfQ==, tarball: file:projects/solana-dump.tgz} name: '@rush-temp/solana-dump' version: 0.0.0 dependencies: - '@types/node': 18.19.31 - typescript: 5.3.3 + '@types/node': 18.19.0 + typescript: 5.3.2 dev: false file:projects/solana-example.tgz(supports-color@8.1.1)(ts-node@10.9.2): - resolution: {integrity: sha512-15OiGKFVC5QnNqzbvmYx99M2tK411x2WGeiingcT3dBMKU0Bb7RIfreipUJVp6B5QmZuFR7gdzuiG5Xq9rvfBQ==, tarball: file:projects/solana-example.tgz} + resolution: {integrity: sha512-5e3bzLFu0mGF9zRw94zbfDcx8RMmkykHXJHxGUsdHD5+Bxyh6P5G1Ngw7s+MkE493okuEtQUe7XR+plQzrlkwQ==, tarball: file:projects/solana-example.tgz} id: file:projects/solana-example.tgz name: '@rush-temp/solana-example' version: 0.0.0 dependencies: - '@types/node': 18.19.31 - dotenv: 16.4.5 - pg: 8.11.5 - typeorm: 0.3.20(pg@8.11.5)(supports-color@8.1.1)(ts-node@10.9.2) - typescript: 5.3.3 + '@types/node': 18.19.0 + dotenv: 16.3.1 + pg: 8.11.3 + typeorm: 0.3.17(pg@8.11.3)(supports-color@8.1.1)(ts-node@10.9.2) + typescript: 5.3.2 transitivePeerDependencies: - '@google-cloud/spanner' - '@sap/hana-client' @@ -7462,70 +7602,70 @@ packages: dev: false file:projects/solana-ingest.tgz: - resolution: {integrity: sha512-22AknFQNEKKdNPGX2nyOT4QMlsDZZY0l35hv2zcZcJJGdesIpXIhP8jPnWP8WlT1VfOa2lbPdJhyGJc0iivIPQ==, tarball: file:projects/solana-ingest.tgz} + resolution: {integrity: sha512-e34HMmFQddG321srOClsZlYf3+IZd+R0wryaE9R13qj4ZI7AqDdtVJGOi/yI3Dwt9uM2PXZHhhyGiFhcVk5QRw==, tarball: file:projects/solana-ingest.tgz} name: '@rush-temp/solana-ingest' version: 0.0.0 dependencies: - '@types/node': 18.19.31 - typescript: 5.3.3 + '@types/node': 18.19.0 + typescript: 5.3.2 dev: false file:projects/solana-normalization.tgz: - resolution: {integrity: sha512-ObVBm0VBh00kfxfADJIxuoThMETB5IH5TX0C8jRCXVzzlaBDKRdaYoDJFsG/e2wpJU7kLA+K0XBc/YWmgR7upQ==, tarball: file:projects/solana-normalization.tgz} + resolution: {integrity: sha512-B/RXmfNAfDD+1dV6cajSjhIMZTltg3j0MYMDYl07CemEgguSrtAY7KGZv4SJnJRsT3KiVfDv6fcZe4LQyE4OHQ==, tarball: file:projects/solana-normalization.tgz} name: '@rush-temp/solana-normalization' version: 0.0.0 dependencies: - '@types/node': 18.19.31 - typescript: 5.3.3 + '@types/node': 18.19.0 + typescript: 5.3.2 dev: false file:projects/solana-objects.tgz: - resolution: {integrity: sha512-AqYvHHmiQzUbWvEDHjDqOLc61mHe/P360uLPB47ZGwz5iChxLoTxuSQG/vsjdBZH0YR95rPD0SFd5S32m+CYng==, tarball: file:projects/solana-objects.tgz} + resolution: {integrity: sha512-EbBumHIIoo1LlcrDCsM0bsRkSxVYdC1DCRWZJPZAZXVZV8KEATGHPN4QXFEW8B7n6RfG+XISvz9NBJ4Aht57sQ==, tarball: file:projects/solana-objects.tgz} name: '@rush-temp/solana-objects' version: 0.0.0 dependencies: - '@types/node': 18.19.31 - typescript: 5.3.3 + '@types/node': 18.19.0 + typescript: 5.3.2 dev: false file:projects/solana-rpc-data.tgz: - resolution: {integrity: sha512-IetjLETh+K8JNEyv/yxDUvcfh5t0tEs1RfoLd/2ZvRiOg0Ill/znIPZA7cpesuGgq+pJJ04y8EXtw9jvZaIDfg==, tarball: file:projects/solana-rpc-data.tgz} + resolution: {integrity: sha512-JmUm+AE9d7v2bEmrnv5UiaygYFERFI9DoDYTBj4SBqVOMTmYU693tGH+7Q2YCVBzoTxCQqs37+N3ow4zl3t92Q==, tarball: file:projects/solana-rpc-data.tgz} name: '@rush-temp/solana-rpc-data' version: 0.0.0 dependencies: - '@types/node': 18.19.31 - typescript: 5.3.3 + '@types/node': 18.19.0 + typescript: 5.3.2 dev: false file:projects/solana-rpc.tgz: - resolution: {integrity: sha512-CN9vdm93+KvUHHWcE6z7vncNiNEFuStIHtNP2QaYHZFMxdwrfAijpYL0IfiDhPXnq9IkmErWGjp3R6HSPmjsDA==, tarball: file:projects/solana-rpc.tgz} + resolution: {integrity: sha512-PsE6Ep3v++Gu/5J7HQqvS4b5eMcRDS8FbqNx9rNx2/jNp7zdcoFhMQznzJkhS3pQyduzDRZSCQPfRqwH9QbVrg==, tarball: file:projects/solana-rpc.tgz} name: '@rush-temp/solana-rpc' version: 0.0.0 dependencies: - '@types/node': 18.19.31 - typescript: 5.3.3 + '@types/node': 18.19.0 + typescript: 5.3.2 dev: false file:projects/solana-stream.tgz: - resolution: {integrity: sha512-SzNCRS13EYu9+oiR/D0Jwbh/deVsVMtJ5h2AzefPkCf8Acw4JuEfcJy20usgXpBpg6gxQWBOHgCuZkTDw6fPeg==, tarball: file:projects/solana-stream.tgz} + resolution: {integrity: sha512-i2nugdfdDnjm2SMvKpdkZrJv3+qE4gZ2VXN6v9gR5uAGQvWpILAIFab3TZMBPPHJ9eslAUlQSH73iRa4cUGp7g==, tarball: file:projects/solana-stream.tgz} name: '@rush-temp/solana-stream' version: 0.0.0 dependencies: - '@types/node': 18.19.31 + '@types/node': 18.19.0 bs58: 5.0.0 - typescript: 5.3.3 + typescript: 5.3.2 dev: false file:projects/solana-typegen.tgz: - resolution: {integrity: sha512-LHOMHxXA2loQoYngY2qsgXLmPiSl8flkFgI5wU0kvhfTADmQzaBgSYF+GFevuxc2jBB1zCD5nY1qmOvKuBPa5A==, tarball: file:projects/solana-typegen.tgz} + resolution: {integrity: sha512-rn4j3oQ5q3siFEBoj5TlZfv9cMgi+RezKe4Vhg4qqzYzApk1Dh3tkGZHSFB6fwmKavRvrbIXiEThw8fYRyvxBw==, tarball: file:projects/solana-typegen.tgz} name: '@rush-temp/solana-typegen' version: 0.0.0 dependencies: - '@solana/addresses': 2.0.0-preview.3.20240427064403.7151be60df62854dad6f0c4b543163a426146a22(typescript@5.3.3) + '@solana/addresses': 2.0.0-rc.1(typescript@5.3.2) '@solanafm/explorer-kit-idls': 1.1.3 - '@types/node': 18.19.31 + '@types/node': 18.19.0 commander: 11.1.0 - typescript: 5.3.3 + typescript: 5.3.2 transitivePeerDependencies: - bufferutil - debug @@ -7539,10 +7679,11 @@ packages: name: '@rush-temp/ss58-codec' version: 0.0.0 dependencies: - '@types/node': 18.19.31 + '@types/node': 18.19.0 + base-x: 4.0.0 blake2b: 2.1.4 bs58: 5.0.0 - typescript: 5.3.3 + typescript: 5.3.2 dev: false file:projects/ss58.tgz: @@ -7550,30 +7691,30 @@ packages: name: '@rush-temp/ss58' version: 0.0.0 dependencies: - '@types/node': 18.19.31 - typescript: 5.3.3 + '@types/node': 18.19.0 + typescript: 5.3.2 dev: false file:projects/starknet-data.tgz: - resolution: {integrity: sha512-l+dO3+WdOflGCcGrkxqGEk2eXLHcO9s58EfbKJ4Z7gZPoktcaManNRlmr8SQrtWJhJDiWprt7KGrlyjTUrfIyg==, tarball: file:projects/starknet-data.tgz} + resolution: {integrity: sha512-GtbwabaG0f3Beox3vLjuB3dU8pMdL4JQde49wQkVPh3W8WEKyqaEaVtiuQllWkcr+rIzKxQm8JKv/xznco45Ew==, tarball: file:projects/starknet-data.tgz} name: '@rush-temp/starknet-data' version: 0.0.0 dependencies: - '@types/node': 18.19.31 - typescript: 5.3.3 + '@types/node': 18.19.0 + typescript: 5.3.2 dev: false file:projects/starknet-indexer.tgz(supports-color@8.1.1)(ts-node@10.9.2): - resolution: {integrity: sha512-HwbQ3VrsYWaYtRY4oPQSiBX97Ax8Iv+bRLHDFuh2Ih1tLJ7teZSYMiAN4gbG2kKCaS/hE9JRJkCc4fm/zVf1Vg==, tarball: file:projects/starknet-indexer.tgz} + resolution: {integrity: sha512-eQIvcEp+/m9Ay0TGwJwxD4RXla5XrErbUi9WNFWO8QfaJbDlum3Mu43eewKKK60AyRT0GNe9H+QokIscJnw2IQ==, tarball: file:projects/starknet-indexer.tgz} id: file:projects/starknet-indexer.tgz name: '@rush-temp/starknet-indexer' version: 0.0.0 dependencies: - '@types/node': 18.19.31 - dotenv: 16.4.5 - pg: 8.11.5 - typeorm: 0.3.20(pg@8.11.5)(supports-color@8.1.1)(ts-node@10.9.2) - typescript: 5.3.3 + '@types/node': 18.19.0 + dotenv: 16.3.1 + pg: 8.11.3 + typeorm: 0.3.17(pg@8.11.3)(supports-color@8.1.1)(ts-node@10.9.2) + typescript: 5.3.2 transitivePeerDependencies: - '@google-cloud/spanner' - '@sap/hana-client' @@ -7595,30 +7736,30 @@ packages: dev: false file:projects/starknet-normalization.tgz: - resolution: {integrity: sha512-LUriHdbQWItCwdC2GqHYItErIVkoS/BOrUMZ6RE46YAMDmzZrhdhjQOjJajBFRn5pG1oJKOroXhDxyAgKdEI/g==, tarball: file:projects/starknet-normalization.tgz} + resolution: {integrity: sha512-wm6O6l/hFQfuhDelzrKjzqiQ9+BSGUnvmpWB4Yz/GpPp/9ZN61+qfQNBkO4LBNUfVcV1rkenOM6JyDdgeRjmtw==, tarball: file:projects/starknet-normalization.tgz} name: '@rush-temp/starknet-normalization' version: 0.0.0 dependencies: - '@types/node': 18.19.31 - typescript: 5.3.3 + '@types/node': 18.19.0 + typescript: 5.3.2 dev: false file:projects/starknet-objects.tgz: - resolution: {integrity: sha512-kFxJTgIYsWp8KusNQ+lzV/byGMP2ubvOT1TX2iccxffhJ/JS9cPi+QkknLMgjlPIWjpDBJn1eJHOenDTPl0uOA==, tarball: file:projects/starknet-objects.tgz} + resolution: {integrity: sha512-ZCZXypn796m9wbFWpPMTKUBMJ6CV6n3yjFPaoQwF5JtzHfh4uox8uo5ZaImxWHur56d0/AQzg3bcJOj/eWbNKQ==, tarball: file:projects/starknet-objects.tgz} name: '@rush-temp/starknet-objects' version: 0.0.0 dependencies: - '@types/node': 18.19.31 - typescript: 5.3.3 + '@types/node': 18.19.0 + typescript: 5.3.2 dev: false file:projects/starknet-stream.tgz: - resolution: {integrity: sha512-S7LeUS7gAracqrFSw5h6YFtAuldh+ZTfQY9IWoYOcKgg0q0tBX5lXQhUcYqwkmYsDoWS+zJHq19souTpORhDUQ==, tarball: file:projects/starknet-stream.tgz} + resolution: {integrity: sha512-DLAF/bmfWnkpnAkn4OwaWBpSJmuVBs24d2+FN2jIg1uJGSDTjPtLSDsDUjA5Wmd4WXicpuiTMEsYhC7YQ+pjNQ==, tarball: file:projects/starknet-stream.tgz} name: '@rush-temp/starknet-stream' version: 0.0.0 dependencies: - '@types/node': 18.19.31 - typescript: 5.3.3 + '@types/node': 18.19.0 + typescript: 5.3.2 dev: false file:projects/substrate-data-raw.tgz: @@ -7626,8 +7767,8 @@ packages: name: '@rush-temp/substrate-data-raw' version: 0.0.0 dependencies: - '@types/node': 18.19.31 - typescript: 5.3.3 + '@types/node': 18.19.0 + typescript: 5.3.2 dev: false file:projects/substrate-data.tgz: @@ -7636,9 +7777,9 @@ packages: version: 0.0.0 dependencies: '@substrate/calc': 0.2.8 - '@types/node': 18.19.31 + '@types/node': 18.19.0 blake2b: 2.1.4 - typescript: 5.3.3 + typescript: 5.3.2 dev: false file:projects/substrate-dump.tgz: @@ -7646,26 +7787,30 @@ packages: name: '@rush-temp/substrate-dump' version: 0.0.0 dependencies: - '@types/node': 18.19.31 - typescript: 5.3.3 + '@types/node': 18.19.0 + commander: 11.1.0 + prom-client: 14.2.0 + typescript: 5.3.2 dev: false file:projects/substrate-ingest.tgz: - resolution: {integrity: sha512-P/LIVx/tQFLV6inpsRWuGnoRu3cYo9pNhRinxiHvEFAzChlUfYSmQ/kJs2mk5CFbm8Fl7Qiu3CvQM98qtVy+9Q==, tarball: file:projects/substrate-ingest.tgz} + resolution: {integrity: sha512-IW4wI8vBRdS/PP5b7CuA3qwNa5FnG5GwxrHSHlWCxgrZitgGinjqOazsXHtzLhJ0e1mH83uXHH3tZWsdxT3Cyg==, tarball: file:projects/substrate-ingest.tgz} name: '@rush-temp/substrate-ingest' version: 0.0.0 dependencies: - '@types/node': 18.19.31 + '@types/node': 18.19.0 + commander: 11.1.0 + typescript: 5.3.2 dev: false file:projects/substrate-metadata-explorer.tgz: - resolution: {integrity: sha512-6Qn7o/sNxyVxutsXg2Ox37YbQXYUnIeTjC+D8OCvwk1ezIasScMt41G0xjDXc3Ny1ja53nWmNkwmqFNfPUY7rw==, tarball: file:projects/substrate-metadata-explorer.tgz} + resolution: {integrity: sha512-9UWJPjZP2acT1PxMR2KiOWqqg0nezaljeU79wKZENrOtDJng05J7EmikO3xktPQsAKn8SPCRbcPVFNgEa9/DbA==, tarball: file:projects/substrate-metadata-explorer.tgz} name: '@rush-temp/substrate-metadata-explorer' version: 0.0.0 dependencies: - '@types/node': 18.19.31 + '@types/node': 18.19.0 commander: 11.1.0 - typescript: 5.3.3 + typescript: 5.3.2 dev: false file:projects/substrate-metadata-service.tgz: @@ -7673,19 +7818,21 @@ packages: name: '@rush-temp/substrate-metadata-service' version: 0.0.0 dependencies: - '@types/node': 18.19.31 + '@types/express': 4.17.21 + '@types/node': 18.19.0 commander: 11.1.0 + express: 4.18.2 prom-client: 14.2.0 - typescript: 5.3.3 + typescript: 5.3.2 dev: false file:projects/substrate-processor.tgz: - resolution: {integrity: sha512-gCf4Xh+UUQkBXH4y/zIUQzFraxfksZfaEX8wCBbCcVeLhOlcXo6jN7jyMcDtIM5sZT5NL1SXZJ7DpBfehY60UQ==, tarball: file:projects/substrate-processor.tgz} + resolution: {integrity: sha512-Rl8JODfGW8U/XQRnQzcAat/8099qJ05wcs3r2Fw0BkBOFlhcFxSLbrONB0NdGKqV8LN354jZf8pBmghBAdiRkA==, tarball: file:projects/substrate-processor.tgz} name: '@rush-temp/substrate-processor' version: 0.0.0 dependencies: - '@types/node': 18.19.31 - typescript: 5.3.3 + '@types/node': 18.19.0 + typescript: 5.3.2 dev: false file:projects/substrate-runtime.tgz: @@ -7694,42 +7841,130 @@ packages: version: 0.0.0 dependencies: '@types/mocha': 10.0.6 - '@types/node': 18.19.31 + '@types/node': 18.19.0 blake2b: 2.1.4 expect: 29.7.0 - mocha: 10.4.0 - typescript: 5.3.3 + mocha: 10.2.0 + typescript: 5.3.2 dev: false file:projects/substrate-typegen.tgz: - resolution: {integrity: sha512-l7rKLczeqnDnbP69psTyzN9TMBZWBvAT9Ug2N1cPT3ZwoUeTzV67EbvYfghmUnYnSbGqO6t5OhsM8zZq7wD11Q==, tarball: file:projects/substrate-typegen.tgz} + resolution: {integrity: sha512-aKsgOjE06duzkSRSu48yYDiYtEy5osu42m2G59aBMqSU4izfs+Tzf4aGWC6ERiKiLsE+6+mUHmgcWSk6MVSXWg==, tarball: file:projects/substrate-typegen.tgz} name: '@rush-temp/substrate-typegen' version: 0.0.0 dependencies: - '@types/node': 18.19.31 + '@types/node': 18.19.0 + commander: 11.1.0 + typescript: 5.3.2 + dev: false + + file:projects/tron-data.tgz: + resolution: {integrity: sha512-HMx3SddWKdElANUnnEgcrfRHaoeS1u7X7ekzG6b6VX03N28oRU6KQTFnXj4n+PzE0hYj/dG6n5VebZRCRkp7eQ==, tarball: file:projects/tron-data.tgz} + name: '@rush-temp/tron-data' + version: 0.0.0 + dependencies: + '@types/node': 18.19.0 + typescript: 5.3.2 + dev: false + + file:projects/tron-dump.tgz: + resolution: {integrity: sha512-MqD4hakno9RqWLXX5cmIy4T/d6jnTFIXmMIwc50fv92sLexFTrnNhQ52JTtXOEld6vKfQ+/BBOXaNUKJHpa7zA==, tarball: file:projects/tron-dump.tgz} + name: '@rush-temp/tron-dump' + version: 0.0.0 + dependencies: + '@subsquid/util-internal': 2.5.2 + '@subsquid/util-internal-archive-layout': 0.1.2(@subsquid/util-internal-fs@0.1.2) + '@subsquid/util-internal-fs': 0.1.2 + '@subsquid/util-internal-range': 0.0.1 + '@types/node': 18.19.0 + commander: 11.1.0 + prom-client: 14.2.0 + typescript: 5.3.2 + dev: false + + file:projects/tron-ingest.tgz: + resolution: {integrity: sha512-/kjecM9pNf3ZbQGGbT/AsK6iYTRBjjW4uZQLv6mSXK0h7WOsodG81bk4+7Srj5UUbfQsQFFezfHTkyVXugzMjg==, tarball: file:projects/tron-ingest.tgz} + name: '@rush-temp/tron-ingest' + version: 0.0.0 + dependencies: + '@subsquid/util-internal': 2.5.2 + '@subsquid/util-internal-archive-layout': 0.1.2(@subsquid/util-internal-fs@0.1.2) + '@subsquid/util-internal-fs': 0.1.2 + '@subsquid/util-internal-http-server': 1.2.2 + '@subsquid/util-internal-range': 0.0.1 + '@types/node': 18.19.0 commander: 11.1.0 - typescript: 5.3.3 + typescript: 5.3.2 + dev: false + + file:projects/tron-normalization.tgz: + resolution: {integrity: sha512-dRiolKFox+o+o5dPAt6fgxDR5Y6GeHqg72yArGuWE8FK9d9Lm76LO9Av2WrfiWDQTg6Y3T3tSFcZx2Nk42BBgw==, tarball: file:projects/tron-normalization.tgz} + name: '@rush-temp/tron-normalization' + version: 0.0.0 + dependencies: + '@types/node': 18.19.0 + typescript: 5.3.2 + dev: false + + file:projects/tron-processor.tgz: + resolution: {integrity: sha512-PyIzWAl7HpAt0x+fj23ayqbL60xpt0KMp1BDlN0mkTS9ztv25nh2Xc+8cC9RRhJP9zNg7BKz93WnVa8kLoMTog==, tarball: file:projects/tron-processor.tgz} + name: '@rush-temp/tron-processor' + version: 0.0.0 + dependencies: + '@types/node': 18.19.0 + typescript: 5.2.2 + dev: false + + file:projects/tron-usdt.tgz(supports-color@8.1.1)(ts-node@10.9.2): + resolution: {integrity: sha512-vuc59ozGphyR40iT8nJJaoW1drbdrxBn4ELlbGsPSz96CNBMAvb6tmltkPWT0oyV2jj7ytKMr3KfHre+ZSr25w==, tarball: file:projects/tron-usdt.tgz} + id: file:projects/tron-usdt.tgz + name: '@rush-temp/tron-usdt' + version: 0.0.0 + dependencies: + '@types/node': 18.19.0 + dotenv: 16.3.1 + pg: 8.11.3 + typeorm: 0.3.17(pg@8.11.3)(supports-color@8.1.1)(ts-node@10.9.2) + typescript: 5.3.2 + transitivePeerDependencies: + - '@google-cloud/spanner' + - '@sap/hana-client' + - better-sqlite3 + - hdb-pool + - ioredis + - mongodb + - mssql + - mysql2 + - oracledb + - pg-native + - pg-query-stream + - redis + - sql.js + - sqlite3 + - supports-color + - ts-node + - typeorm-aurora-data-api-driver dev: false file:projects/typeorm-codegen.tgz: - resolution: {integrity: sha512-E1FrRt4x5x6eXMVAJlCagmPMMEFpVnD3fOCEV2aDDnwu3BnrE3b8oTDJQ34PYApTICbW21Qb3RJmpj1qhMk2zQ==, tarball: file:projects/typeorm-codegen.tgz} + resolution: {integrity: sha512-JlSRhz9UZUq5J3HqOe2O7R98/cr13fnPny+YEwUDNxZcTKzB1JDN7FSz6PGZR6PrbNvS7RtgmBUefJKtPlELqA==, tarball: file:projects/typeorm-codegen.tgz} name: '@rush-temp/typeorm-codegen' version: 0.0.0 dependencies: - '@types/node': 18.19.31 + '@types/node': 18.19.0 commander: 11.1.0 - typescript: 5.3.3 + typescript: 5.3.2 dev: false - file:projects/typeorm-config.tgz(pg@8.11.5)(supports-color@8.1.1)(ts-node@10.9.2): + file:projects/typeorm-config.tgz(pg@8.11.3)(supports-color@8.1.1)(ts-node@10.9.2): resolution: {integrity: sha512-xqG1xDOqPjhwAIWiTxiQ3r3HUJo98PG30Briu1IFYpv16zQ0Zh9pGkx0KSicku0J5nexs7/QIIkaYn8AOsyvdQ==, tarball: file:projects/typeorm-config.tgz} id: file:projects/typeorm-config.tgz name: '@rush-temp/typeorm-config' version: 0.0.0 dependencies: - '@types/node': 18.19.31 - typeorm: 0.3.20(pg@8.11.5)(supports-color@8.1.1)(ts-node@10.9.2) - typescript: 5.3.3 + '@types/node': 18.19.0 + typeorm: 0.3.17(pg@8.11.3)(supports-color@8.1.1)(ts-node@10.9.2) + typescript: 5.3.2 transitivePeerDependencies: - '@google-cloud/spanner' - '@sap/hana-client' @@ -7751,17 +7986,17 @@ packages: - typeorm-aurora-data-api-driver dev: false - file:projects/typeorm-migration.tgz(pg@8.11.5)(supports-color@8.1.1)(ts-node@10.9.2): + file:projects/typeorm-migration.tgz(pg@8.11.3)(supports-color@8.1.1)(ts-node@10.9.2): resolution: {integrity: sha512-lZ5mAjyzNnaeH8/vKtUA6A3K+o2RMQoxcxaeEC7XS6v6gJnN9ShZKu6llLXE5V3Ri1rSDL5xdmmvmIAtTEXSfA==, tarball: file:projects/typeorm-migration.tgz} id: file:projects/typeorm-migration.tgz name: '@rush-temp/typeorm-migration' version: 0.0.0 dependencies: - '@types/node': 18.19.31 + '@types/node': 18.19.0 commander: 11.1.0 - dotenv: 16.4.5 - typeorm: 0.3.20(pg@8.11.5)(supports-color@8.1.1)(ts-node@10.9.2) - typescript: 5.3.3 + dotenv: 16.3.1 + typeorm: 0.3.17(pg@8.11.3)(supports-color@8.1.1)(ts-node@10.9.2) + typescript: 5.3.2 transitivePeerDependencies: - '@google-cloud/spanner' - '@sap/hana-client' @@ -7790,13 +8025,13 @@ packages: version: 0.0.0 dependencies: '@types/mocha': 10.0.6 - '@types/node': 18.19.31 - '@types/pg': 8.11.5 + '@types/node': 18.19.0 + '@types/pg': 8.10.9 expect: 29.7.0 - mocha: 10.4.0 - pg: 8.11.5 - typeorm: 0.3.20(pg@8.11.5)(supports-color@8.1.1)(ts-node@10.9.2) - typescript: 5.3.3 + mocha: 10.2.0 + pg: 8.11.3 + typeorm: 0.3.17(pg@8.11.3)(supports-color@8.1.1)(ts-node@10.9.2) + typescript: 5.3.2 transitivePeerDependencies: - '@google-cloud/spanner' - '@sap/hana-client' @@ -7822,17 +8057,17 @@ packages: name: '@rush-temp/types-test' version: 0.0.0 dependencies: - '@types/node': 18.19.31 - typescript: 5.3.3 + '@types/node': 18.19.0 + typescript: 5.3.2 dev: false file:projects/util-internal-archive-client.tgz: - resolution: {integrity: sha512-kMWWCiAZvetlvlVlRIuZIMQfwkdMbm1/B0Mn7rswBsvviNZdens+q8qborhvNBez02e1cQ4L94ct1NWyyaheNQ==, tarball: file:projects/util-internal-archive-client.tgz} + resolution: {integrity: sha512-IhDK1HqZ+5XTXiK4/PG3KyU/BuSLdabwQJ+X+aI5Kv3OWVaveSJJyq9cqapZ5ivQR79GqwmoueNOHJdj03q3Ew==, tarball: file:projects/util-internal-archive-client.tgz} name: '@rush-temp/util-internal-archive-client' version: 0.0.0 dependencies: - '@types/node': 18.19.31 - typescript: 5.3.3 + '@types/node': 18.19.0 + typescript: 5.3.2 dev: false file:projects/util-internal-archive-layout.tgz: @@ -7840,8 +8075,8 @@ packages: name: '@rush-temp/util-internal-archive-layout' version: 0.0.0 dependencies: - '@types/node': 18.19.31 - typescript: 5.3.3 + '@types/node': 18.19.0 + typescript: 5.3.2 dev: false file:projects/util-internal-binary-heap.tgz: @@ -7855,8 +8090,8 @@ packages: name: '@rush-temp/util-internal-code-printer' version: 0.0.0 dependencies: - '@types/node': 18.19.31 - typescript: 5.3.3 + '@types/node': 18.19.0 + typescript: 5.3.2 dev: false file:projects/util-internal-commander.tgz: @@ -7864,9 +8099,9 @@ packages: name: '@rush-temp/util-internal-commander' version: 0.0.0 dependencies: - '@types/node': 18.19.31 + '@types/node': 18.19.0 commander: 11.1.0 - typescript: 5.3.3 + typescript: 5.3.2 dev: false file:projects/util-internal-config.tgz: @@ -7875,9 +8110,9 @@ packages: version: 0.0.0 dependencies: '@exodus/schemasafe': 1.3.0 - '@types/node': 18.19.31 - jsonc-parser: 3.2.1 - typescript: 5.3.3 + '@types/node': 18.19.0 + jsonc-parser: 3.2.0 + typescript: 5.3.2 dev: false file:projects/util-internal-counters.tgz: @@ -7885,8 +8120,8 @@ packages: name: '@rush-temp/util-internal-counters' version: 0.0.0 dependencies: - '@types/node': 18.19.31 - typescript: 5.3.3 + '@types/node': 18.19.0 + typescript: 5.3.2 dev: false file:projects/util-internal-dump-cli.tgz: @@ -7894,10 +8129,10 @@ packages: name: '@rush-temp/util-internal-dump-cli' version: 0.0.0 dependencies: - '@types/node': 18.19.31 + '@types/node': 18.19.0 commander: 11.1.0 prom-client: 14.2.0 - typescript: 5.3.3 + typescript: 5.3.2 dev: false file:projects/util-internal-fs.tgz: @@ -7905,9 +8140,9 @@ packages: name: '@rush-temp/util-internal-fs' version: 0.0.0 dependencies: - '@aws-sdk/client-s3': 3.554.0 - '@types/node': 18.19.31 - typescript: 5.3.3 + '@aws-sdk/client-s3': 3.462.0 + '@types/node': 18.19.0 + typescript: 5.3.2 upath: 2.0.1 transitivePeerDependencies: - aws-crt @@ -7918,8 +8153,8 @@ packages: name: '@rush-temp/util-internal-hex' version: 0.0.0 dependencies: - '@types/node': 18.19.31 - typescript: 5.3.3 + '@types/node': 18.19.0 + typescript: 5.3.2 dev: false file:projects/util-internal-http-server.tgz: @@ -7927,10 +8162,10 @@ packages: name: '@rush-temp/util-internal-http-server' version: 0.0.0 dependencies: - '@types/node': 18.19.31 + '@types/node': 18.19.0 '@types/stoppable': 1.1.3 stoppable: 1.1.0 - typescript: 5.3.3 + typescript: 5.3.2 dev: false file:projects/util-internal-ingest-cli.tgz: @@ -7938,10 +8173,10 @@ packages: name: '@rush-temp/util-internal-ingest-cli' version: 0.0.0 dependencies: - '@types/node': 18.19.31 + '@types/node': 18.19.0 commander: 11.1.0 prom-client: 14.2.0 - typescript: 5.3.3 + typescript: 5.3.2 dev: false file:projects/util-internal-ingest-tools.tgz: @@ -7949,8 +8184,8 @@ packages: name: '@rush-temp/util-internal-ingest-tools' version: 0.0.0 dependencies: - '@types/node': 18.19.31 - typescript: 5.3.3 + '@types/node': 18.19.0 + typescript: 5.3.2 dev: false file:projects/util-internal-json-fix-unsafe-integers.tgz: @@ -7958,8 +8193,8 @@ packages: name: '@rush-temp/util-internal-json-fix-unsafe-integers' version: 0.0.0 dependencies: - '@types/node': 18.19.31 - typescript: 5.3.3 + '@types/node': 18.19.0 + typescript: 5.3.2 dev: false file:projects/util-internal-json.tgz: @@ -7967,8 +8202,8 @@ packages: name: '@rush-temp/util-internal-json' version: 0.0.0 dependencies: - '@types/node': 18.19.31 - typescript: 5.3.3 + '@types/node': 18.19.0 + typescript: 5.3.2 dev: false file:projects/util-internal-processor-tools.tgz: @@ -7976,9 +8211,9 @@ packages: name: '@rush-temp/util-internal-processor-tools' version: 0.0.0 dependencies: - '@types/node': 18.19.31 + '@types/node': 18.19.0 prom-client: 14.2.0 - typescript: 5.3.3 + typescript: 5.3.2 dev: false file:projects/util-internal-prometheus-server.tgz: @@ -7986,9 +8221,9 @@ packages: name: '@rush-temp/util-internal-prometheus-server' version: 0.0.0 dependencies: - '@types/node': 18.19.31 + '@types/node': 18.19.0 prom-client: 14.2.0 - typescript: 5.3.3 + typescript: 5.3.2 dev: false file:projects/util-internal-range.tgz: @@ -7996,9 +8231,9 @@ packages: name: '@rush-temp/util-internal-range' version: 0.0.0 dependencies: - '@types/node': 18.19.31 - fast-check: 3.17.1 - typescript: 5.3.3 + '@types/node': 18.19.0 + fast-check: 3.14.0 + typescript: 5.3.2 dev: false file:projects/util-internal-read-lines.tgz: @@ -8006,8 +8241,8 @@ packages: name: '@rush-temp/util-internal-read-lines' version: 0.0.0 dependencies: - '@types/node': 18.19.31 - typescript: 5.3.3 + '@types/node': 18.19.0 + typescript: 5.3.2 dev: false file:projects/util-internal-squid-id.tgz: @@ -8015,8 +8250,8 @@ packages: name: '@rush-temp/util-internal-squid-id' version: 0.0.0 dependencies: - '@types/node': 18.19.31 - typescript: 5.3.3 + '@types/node': 18.19.0 + typescript: 5.3.2 dev: false file:projects/util-internal-ts-node.tgz: @@ -8024,8 +8259,8 @@ packages: name: '@rush-temp/util-internal-ts-node' version: 0.0.0 dependencies: - '@types/node': 18.19.31 - typescript: 5.3.3 + '@types/node': 18.19.0 + typescript: 5.3.2 dev: false file:projects/util-internal-validation.tgz: @@ -8033,8 +8268,8 @@ packages: name: '@rush-temp/util-internal-validation' version: 0.0.0 dependencies: - '@types/node': 18.19.31 - typescript: 5.3.3 + '@types/node': 18.19.0 + typescript: 5.3.2 dev: false file:projects/util-internal.tgz: @@ -8042,8 +8277,8 @@ packages: name: '@rush-temp/util-internal' version: 0.0.0 dependencies: - '@types/node': 18.19.31 - typescript: 5.3.3 + '@types/node': 18.19.0 + typescript: 5.3.2 dev: false file:projects/util-naming.tgz: @@ -8052,10 +8287,10 @@ packages: version: 0.0.0 dependencies: '@types/inflected': 2.1.3 - '@types/node': 18.19.31 + '@types/node': 18.19.0 camelcase: 6.3.0 inflected: 2.1.0 - typescript: 5.3.3 + typescript: 5.3.2 dev: false file:projects/util-timeout.tgz: @@ -8063,8 +8298,8 @@ packages: name: '@rush-temp/util-timeout' version: 0.0.0 dependencies: - '@types/node': 18.19.31 - typescript: 5.3.3 + '@types/node': 18.19.0 + typescript: 5.3.2 dev: false file:projects/util-xxhash.tgz: @@ -8072,9 +8307,9 @@ packages: name: '@rush-temp/util-xxhash' version: 0.0.0 dependencies: - '@types/node': 18.19.31 + '@types/node': 18.19.0 '@types/xxhashjs': 0.2.4 - typescript: 5.3.3 + typescript: 5.3.2 xxhash-wasm: 1.0.2 xxhashjs: 0.2.2 dev: false @@ -8084,12 +8319,12 @@ packages: name: '@rush-temp/workspace' version: 0.0.0 dependencies: - '@types/node': 18.19.31 - '@types/semver': 7.5.8 + '@types/node': 18.19.0 + '@types/semver': 7.5.6 commander: 11.1.0 - jsonc-parser: 3.2.1 + jsonc-parser: 3.2.0 latest-version: 5.1.0 - semver: 7.6.0 + semver: 7.5.4 type-fest: 2.19.0 - typescript: 5.3.3 + typescript: 5.3.2 dev: false diff --git a/rush.json b/rush.json index 12a507b3f..d68c165df 100644 --- a/rush.json +++ b/rush.json @@ -621,6 +621,36 @@ "shouldPublish": true, "versionPolicyName": "npm" }, + { + "packageName": "@subsquid/tron-data", + "projectFolder": "tron/tron-data", + "shouldPublish": true, + "versionPolicyName": "npm" + }, + { + "packageName": "@subsquid/tron-dump", + "projectFolder": "tron/tron-dump", + "shouldPublish": true, + "versionPolicyName": "npm" + }, + { + "packageName": "@subsquid/tron-ingest", + "projectFolder": "tron/tron-ingest", + "shouldPublish": true, + "versionPolicyName": "npm" + }, + { + "packageName": "@subsquid/tron-normalization", + "projectFolder": "tron/tron-normalization", + "shouldPublish": true, + "versionPolicyName": "npm" + }, + { + "packageName": "@subsquid/tron-processor", + "projectFolder": "tron/tron-processor", + "shouldPublish": true, + "versionPolicyName": "npm" + }, { "packageName": "@subsquid/fuel-data", "projectFolder": "fuel/fuel-data", @@ -937,6 +967,11 @@ "projectFolder": "test/astar-erc20", "shouldPublish": false }, + { + "packageName": "tron-usdt", + "projectFolder": "test/tron-usdt", + "shouldPublish": false + }, { "packageName": "@subsquid/starknet-data", "projectFolder": "starknet/starknet-data", diff --git a/substrate/substrate-ingest/package.json b/substrate/substrate-ingest/package.json index 7835a9cbb..d47196446 100644 --- a/substrate/substrate-ingest/package.json +++ b/substrate/substrate-ingest/package.json @@ -28,6 +28,7 @@ "@subsquid/util-internal-json": "^1.2.3" }, "devDependencies": { - "@types/node": "^18.18.14" + "@types/node": "^18.18.14", + "typescript": "~5.3.2" } } diff --git a/test/tron-usdt/.env b/test/tron-usdt/.env new file mode 100644 index 000000000..8399b628f --- /dev/null +++ b/test/tron-usdt/.env @@ -0,0 +1,2 @@ +DB_PORT=22135 +GQL_PORT=4855 diff --git a/test/tron-usdt/Makefile b/test/tron-usdt/Makefile new file mode 100644 index 000000000..08b8ea7c0 --- /dev/null +++ b/test/tron-usdt/Makefile @@ -0,0 +1,33 @@ +process: migrate + @npx node -r dotenv/config lib/main.js + + +migrate: + @npx squid-typeorm-migration apply + + +migration: + @npx squid-typeorm-migration generate + + +codegen: + @npx squid-typeorm-codegen + + +typegen: + @npx squid-evm-typegen src/abi erc20.json + + +serve: + @npx squid-graphql-server + + +up: + @docker compose up -d + + +down: + @docker compose down -v + + +.PHONY: process migrate migration codegen typegen serve up down diff --git a/test/tron-usdt/db/migrations/1700141427199-Data.js b/test/tron-usdt/db/migrations/1700141427199-Data.js new file mode 100644 index 000000000..23c1919e8 --- /dev/null +++ b/test/tron-usdt/db/migrations/1700141427199-Data.js @@ -0,0 +1,11 @@ +module.exports = class Data1700141427199 { + name = 'Data1700141427199' + + async up(db) { + await db.query(`CREATE TABLE "transfer" ("id" character varying NOT NULL, "block_number" integer NOT NULL, "timestamp" TIMESTAMP WITH TIME ZONE NOT NULL, "tx" text NOT NULL, "from" text NOT NULL, "to" text NOT NULL, "amount" numeric NOT NULL, CONSTRAINT "PK_fd9ddbdd49a17afcbe014401295" PRIMARY KEY ("id"))`) + } + + async down(db) { + await db.query(`DROP TABLE "transfer"`) + } +} diff --git a/test/tron-usdt/docker-compose.yml b/test/tron-usdt/docker-compose.yml new file mode 100644 index 000000000..4769ef11c --- /dev/null +++ b/test/tron-usdt/docker-compose.yml @@ -0,0 +1,11 @@ +version: "3" + +services: + db: + image: postgres:12 + environment: + POSTGRES_DB: postgres + POSTGRES_PASSWORD: postgres + ports: + - "${DB_PORT}:5432" + # command: ["postgres", "-c", "log_statement=all"] diff --git a/test/tron-usdt/erc20.json b/test/tron-usdt/erc20.json new file mode 100644 index 000000000..5ca42f008 --- /dev/null +++ b/test/tron-usdt/erc20.json @@ -0,0 +1,731 @@ +[ + { + "constant": true, + "inputs": [], + "name": "name", + "outputs": [ + { + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_upgradedAddress", + "type": "address" + } + ], + "name": "deprecate", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_spender", + "type": "address" + }, + { + "name": "_value", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "deprecated", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_evilUser", + "type": "address" + } + ], + "name": "addBlackList", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_from", + "type": "address" + }, + { + "name": "_to", + "type": "address" + }, + { + "name": "_value", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "upgradedAddress", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "decimals", + "outputs": [ + { + "name": "", + "type": "uint8" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "maximumFee", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "_totalSupply", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "unpause", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_maker", + "type": "address" + } + ], + "name": "getBlackListStatus", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "paused", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_spender", + "type": "address" + }, + { + "name": "_subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseApproval", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "who", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_value", + "type": "uint256" + } + ], + "name": "calcFee", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "pause", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "symbol", + "outputs": [ + { + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_to", + "type": "address" + }, + { + "name": "_value", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "who", + "type": "address" + } + ], + "name": "oldBalanceOf", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "newBasisPoints", + "type": "uint256" + }, + { + "name": "newMaxFee", + "type": "uint256" + } + ], + "name": "setParams", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "amount", + "type": "uint256" + } + ], + "name": "issue", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_spender", + "type": "address" + }, + { + "name": "_addedValue", + "type": "uint256" + } + ], + "name": "increaseApproval", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "amount", + "type": "uint256" + } + ], + "name": "redeem", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_owner", + "type": "address" + }, + { + "name": "_spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "name": "remaining", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "basisPointsRate", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "address" + } + ], + "name": "isBlackListed", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_clearedUser", + "type": "address" + } + ], + "name": "removeBlackList", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "MAX_UINT", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_blackListedUser", + "type": "address" + } + ], + "name": "destroyBlackFunds", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "name": "_initialSupply", + "type": "uint256" + }, + { + "name": "_name", + "type": "string" + }, + { + "name": "_symbol", + "type": "string" + }, + { + "name": "_decimals", + "type": "uint8" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_blackListedUser", + "type": "address" + }, + { + "indexed": false, + "name": "_balance", + "type": "uint256" + } + ], + "name": "DestroyedBlackFunds", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "amount", + "type": "uint256" + } + ], + "name": "Issue", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "amount", + "type": "uint256" + } + ], + "name": "Redeem", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "newAddress", + "type": "address" + } + ], + "name": "Deprecate", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_user", + "type": "address" + } + ], + "name": "AddedBlackList", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_user", + "type": "address" + } + ], + "name": "RemovedBlackList", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "feeBasisPoints", + "type": "uint256" + }, + { + "indexed": false, + "name": "maxFee", + "type": "uint256" + } + ], + "name": "Params", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "Pause", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "Unpause", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "from", + "type": "address" + }, + { + "indexed": true, + "name": "to", + "type": "address" + }, + { + "indexed": false, + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + } +] \ No newline at end of file diff --git a/test/tron-usdt/package.json b/test/tron-usdt/package.json new file mode 100644 index 000000000..c6d22551b --- /dev/null +++ b/test/tron-usdt/package.json @@ -0,0 +1,25 @@ +{ + "name": "tron-usdt", + "version": "0.0.0", + "private": true, + "scripts": { + "build": "rm -rf lib && tsc" + }, + "dependencies": { + "@subsquid/graphql-server": "^4.7.0", + "@subsquid/tron-processor": "^0.0.0", + "@subsquid/typeorm-migration": "^1.3.0", + "@subsquid/typeorm-store": "^1.5.1", + "dotenv": "^16.3.1", + "pg": "^8.11.3", + "typeorm": "^0.3.17" + }, + "devDependencies": { + "@subsquid/evm-typegen": "^4.3.0", + "@subsquid/evm-codec": "^0.3.0", + "@subsquid/evm-abi": "^0.3.1", + "@subsquid/typeorm-codegen": "^2.0.2", + "@types/node": "^18.18.14", + "typescript": "~5.3.2" + } +} diff --git a/test/tron-usdt/schema.graphql b/test/tron-usdt/schema.graphql new file mode 100644 index 000000000..c54309965 --- /dev/null +++ b/test/tron-usdt/schema.graphql @@ -0,0 +1,9 @@ +type Transfer @entity { + id: ID! + blockNumber: Int! + timestamp: DateTime! + tx: String! + from: String! + to: String! + amount: BigInt! +} diff --git a/test/tron-usdt/src/abi/erc20.ts b/test/tron-usdt/src/abi/erc20.ts new file mode 100644 index 000000000..1998bad0a --- /dev/null +++ b/test/tron-usdt/src/abi/erc20.ts @@ -0,0 +1,244 @@ +import * as p from '@subsquid/evm-codec' +import { event, fun, viewFun, indexed, ContractBase } from '@subsquid/evm-abi' +import type { EventParams as EParams, FunctionArguments, FunctionReturn } from '@subsquid/evm-abi' + +export const events = { + DestroyedBlackFunds: event("0x61e6e66b0d6339b2980aecc6ccc0039736791f0ccde9ed512e789a7fbdd698c6", "DestroyedBlackFunds(address,uint256)", {"_blackListedUser": indexed(p.address), "_balance": p.uint256}), + Issue: event("0xcb8241adb0c3fdb35b70c24ce35c5eb0c17af7431c99f827d44a445ca624176a", "Issue(uint256)", {"amount": p.uint256}), + Redeem: event("0x702d5967f45f6513a38ffc42d6ba9bf230bd40e8f53b16363c7eb4fd2deb9a44", "Redeem(uint256)", {"amount": p.uint256}), + Deprecate: event("0xcc358699805e9a8b7f77b522628c7cb9abd07d9efb86b6fb616af1609036a99e", "Deprecate(address)", {"newAddress": p.address}), + AddedBlackList: event("0x42e160154868087d6bfdc0ca23d96a1c1cfa32f1b72ba9ba27b69b98a0d819dc", "AddedBlackList(address)", {"_user": indexed(p.address)}), + RemovedBlackList: event("0xd7e9ec6e6ecd65492dce6bf513cd6867560d49544421d0783ddf06e76c24470c", "RemovedBlackList(address)", {"_user": indexed(p.address)}), + Params: event("0xb044a1e409eac5c48e5af22d4af52670dd1a99059537a78b31b48c6500a6354e", "Params(uint256,uint256)", {"feeBasisPoints": p.uint256, "maxFee": p.uint256}), + Pause: event("0x6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff625", "Pause()", {}), + Unpause: event("0x7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b33", "Unpause()", {}), + OwnershipTransferred: event("0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "OwnershipTransferred(address,address)", {"previousOwner": indexed(p.address), "newOwner": indexed(p.address)}), + Approval: event("0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", "Approval(address,address,uint256)", {"owner": indexed(p.address), "spender": indexed(p.address), "value": p.uint256}), + Transfer: event("0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "Transfer(address,address,uint256)", {"from": indexed(p.address), "to": indexed(p.address), "value": p.uint256}), +} + +export const functions = { + name: viewFun("0x06fdde03", "name()", {}, p.string), + deprecate: fun("0x0753c30c", "deprecate(address)", {"_upgradedAddress": p.address}, ), + approve: fun("0x095ea7b3", "approve(address,uint256)", {"_spender": p.address, "_value": p.uint256}, p.bool), + deprecated: viewFun("0x0e136b19", "deprecated()", {}, p.bool), + addBlackList: fun("0x0ecb93c0", "addBlackList(address)", {"_evilUser": p.address}, ), + totalSupply: viewFun("0x18160ddd", "totalSupply()", {}, p.uint256), + transferFrom: fun("0x23b872dd", "transferFrom(address,address,uint256)", {"_from": p.address, "_to": p.address, "_value": p.uint256}, p.bool), + upgradedAddress: viewFun("0x26976e3f", "upgradedAddress()", {}, p.address), + decimals: viewFun("0x313ce567", "decimals()", {}, p.uint8), + maximumFee: viewFun("0x35390714", "maximumFee()", {}, p.uint256), + _totalSupply: viewFun("0x3eaaf86b", "_totalSupply()", {}, p.uint256), + unpause: fun("0x3f4ba83a", "unpause()", {}, ), + getBlackListStatus: viewFun("0x59bf1abe", "getBlackListStatus(address)", {"_maker": p.address}, p.bool), + paused: viewFun("0x5c975abb", "paused()", {}, p.bool), + decreaseApproval: fun("0x66188463", "decreaseApproval(address,uint256)", {"_spender": p.address, "_subtractedValue": p.uint256}, p.bool), + balanceOf: viewFun("0x70a08231", "balanceOf(address)", {"who": p.address}, p.uint256), + calcFee: viewFun("0x75dc7d8c", "calcFee(uint256)", {"_value": p.uint256}, p.uint256), + pause: fun("0x8456cb59", "pause()", {}, ), + owner: viewFun("0x8da5cb5b", "owner()", {}, p.address), + symbol: viewFun("0x95d89b41", "symbol()", {}, p.string), + transfer: fun("0xa9059cbb", "transfer(address,uint256)", {"_to": p.address, "_value": p.uint256}, p.bool), + oldBalanceOf: viewFun("0xb7a3446c", "oldBalanceOf(address)", {"who": p.address}, p.uint256), + setParams: fun("0xc0324c77", "setParams(uint256,uint256)", {"newBasisPoints": p.uint256, "newMaxFee": p.uint256}, ), + issue: fun("0xcc872b66", "issue(uint256)", {"amount": p.uint256}, ), + increaseApproval: fun("0xd73dd623", "increaseApproval(address,uint256)", {"_spender": p.address, "_addedValue": p.uint256}, p.bool), + redeem: fun("0xdb006a75", "redeem(uint256)", {"amount": p.uint256}, ), + allowance: viewFun("0xdd62ed3e", "allowance(address,address)", {"_owner": p.address, "_spender": p.address}, p.uint256), + basisPointsRate: viewFun("0xdd644f72", "basisPointsRate()", {}, p.uint256), + isBlackListed: viewFun("0xe47d6060", "isBlackListed(address)", {"_0": p.address}, p.bool), + removeBlackList: fun("0xe4997dc5", "removeBlackList(address)", {"_clearedUser": p.address}, ), + MAX_UINT: viewFun("0xe5b5019a", "MAX_UINT()", {}, p.uint256), + transferOwnership: fun("0xf2fde38b", "transferOwnership(address)", {"newOwner": p.address}, ), + destroyBlackFunds: fun("0xf3bdc228", "destroyBlackFunds(address)", {"_blackListedUser": p.address}, ), +} + +export class Contract extends ContractBase { + + name() { + return this.eth_call(functions.name, {}) + } + + deprecated() { + return this.eth_call(functions.deprecated, {}) + } + + totalSupply() { + return this.eth_call(functions.totalSupply, {}) + } + + upgradedAddress() { + return this.eth_call(functions.upgradedAddress, {}) + } + + decimals() { + return this.eth_call(functions.decimals, {}) + } + + maximumFee() { + return this.eth_call(functions.maximumFee, {}) + } + + _totalSupply() { + return this.eth_call(functions._totalSupply, {}) + } + + getBlackListStatus(_maker: GetBlackListStatusParams["_maker"]) { + return this.eth_call(functions.getBlackListStatus, {_maker}) + } + + paused() { + return this.eth_call(functions.paused, {}) + } + + balanceOf(who: BalanceOfParams["who"]) { + return this.eth_call(functions.balanceOf, {who}) + } + + calcFee(_value: CalcFeeParams["_value"]) { + return this.eth_call(functions.calcFee, {_value}) + } + + owner() { + return this.eth_call(functions.owner, {}) + } + + symbol() { + return this.eth_call(functions.symbol, {}) + } + + oldBalanceOf(who: OldBalanceOfParams["who"]) { + return this.eth_call(functions.oldBalanceOf, {who}) + } + + allowance(_owner: AllowanceParams["_owner"], _spender: AllowanceParams["_spender"]) { + return this.eth_call(functions.allowance, {_owner, _spender}) + } + + basisPointsRate() { + return this.eth_call(functions.basisPointsRate, {}) + } + + isBlackListed(_0: IsBlackListedParams["_0"]) { + return this.eth_call(functions.isBlackListed, {_0}) + } + + MAX_UINT() { + return this.eth_call(functions.MAX_UINT, {}) + } +} + +/// Event types +export type DestroyedBlackFundsEventArgs = EParams +export type IssueEventArgs = EParams +export type RedeemEventArgs = EParams +export type DeprecateEventArgs = EParams +export type AddedBlackListEventArgs = EParams +export type RemovedBlackListEventArgs = EParams +export type ParamsEventArgs = EParams +export type PauseEventArgs = EParams +export type UnpauseEventArgs = EParams +export type OwnershipTransferredEventArgs = EParams +export type ApprovalEventArgs = EParams +export type TransferEventArgs = EParams + +/// Function types +export type NameParams = FunctionArguments +export type NameReturn = FunctionReturn + +export type DeprecateParams = FunctionArguments +export type DeprecateReturn = FunctionReturn + +export type ApproveParams = FunctionArguments +export type ApproveReturn = FunctionReturn + +export type DeprecatedParams = FunctionArguments +export type DeprecatedReturn = FunctionReturn + +export type AddBlackListParams = FunctionArguments +export type AddBlackListReturn = FunctionReturn + +export type TotalSupplyParams = FunctionArguments +export type TotalSupplyReturn = FunctionReturn + +export type TransferFromParams = FunctionArguments +export type TransferFromReturn = FunctionReturn + +export type UpgradedAddressParams = FunctionArguments +export type UpgradedAddressReturn = FunctionReturn + +export type DecimalsParams = FunctionArguments +export type DecimalsReturn = FunctionReturn + +export type MaximumFeeParams = FunctionArguments +export type MaximumFeeReturn = FunctionReturn + +export type _totalSupplyParams = FunctionArguments +export type _totalSupplyReturn = FunctionReturn + +export type UnpauseParams = FunctionArguments +export type UnpauseReturn = FunctionReturn + +export type GetBlackListStatusParams = FunctionArguments +export type GetBlackListStatusReturn = FunctionReturn + +export type PausedParams = FunctionArguments +export type PausedReturn = FunctionReturn + +export type DecreaseApprovalParams = FunctionArguments +export type DecreaseApprovalReturn = FunctionReturn + +export type BalanceOfParams = FunctionArguments +export type BalanceOfReturn = FunctionReturn + +export type CalcFeeParams = FunctionArguments +export type CalcFeeReturn = FunctionReturn + +export type PauseParams = FunctionArguments +export type PauseReturn = FunctionReturn + +export type OwnerParams = FunctionArguments +export type OwnerReturn = FunctionReturn + +export type SymbolParams = FunctionArguments +export type SymbolReturn = FunctionReturn + +export type TransferParams = FunctionArguments +export type TransferReturn = FunctionReturn + +export type OldBalanceOfParams = FunctionArguments +export type OldBalanceOfReturn = FunctionReturn + +export type SetParamsParams = FunctionArguments +export type SetParamsReturn = FunctionReturn + +export type IssueParams = FunctionArguments +export type IssueReturn = FunctionReturn + +export type IncreaseApprovalParams = FunctionArguments +export type IncreaseApprovalReturn = FunctionReturn + +export type RedeemParams = FunctionArguments +export type RedeemReturn = FunctionReturn + +export type AllowanceParams = FunctionArguments +export type AllowanceReturn = FunctionReturn + +export type BasisPointsRateParams = FunctionArguments +export type BasisPointsRateReturn = FunctionReturn + +export type IsBlackListedParams = FunctionArguments +export type IsBlackListedReturn = FunctionReturn + +export type RemoveBlackListParams = FunctionArguments +export type RemoveBlackListReturn = FunctionReturn + +export type MAX_UINTParams = FunctionArguments +export type MAX_UINTReturn = FunctionReturn + +export type TransferOwnershipParams = FunctionArguments +export type TransferOwnershipReturn = FunctionReturn + +export type DestroyBlackFundsParams = FunctionArguments +export type DestroyBlackFundsReturn = FunctionReturn + diff --git a/test/tron-usdt/src/main.ts b/test/tron-usdt/src/main.ts new file mode 100644 index 000000000..57d4a01b1 --- /dev/null +++ b/test/tron-usdt/src/main.ts @@ -0,0 +1,59 @@ +import {TronBatchProcessor} from '@subsquid/tron-processor' +import {TypeormDatabase} from '@subsquid/typeorm-store' +import assert from 'assert' +import * as erc20 from './abi/erc20' +import {Transfer} from './model' + + +const CONTRACT = 'a614f803b6fd780986a42c78ec9c7f77e6ded13c' +const TOPIC0 = 'ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef' + + +const processor = new TronBatchProcessor() + .setGateway('https://v2.archive.subsquid.io/network/tron-mainnet') + .setHttpApi({ + url: 'https://rpc.ankr.com/http/tron', + strideConcurrency: 1, + strideSize: 1, + }) + .setBlockRange({from: 65797512}) + .addLog({ + where: { + address: [CONTRACT], + topic0: [TOPIC0] + }, + include: { + transaction: true + } + }) + + +processor.run(new TypeormDatabase(), async ctx => { + let transfers: Transfer[] = [] + + for (let block of ctx.blocks) { + for (let log of block.logs) { + if (log.address == CONTRACT && log.topics?.[0] === TOPIC0) { + assert(log.data) + let event = { + topics: log.topics.map(t => '0x' + t), + data: '0x' + log.data + } + let {from, to, value} = erc20.events.Transfer.decode(event) + let tx = log.getTransaction() + + transfers.push(new Transfer({ + id: log.id, + blockNumber: block.header.height, + timestamp: new Date(block.header.timestamp), + tx: tx.hash, + from, + to, + amount: value + })) + } + } + } + + await ctx.store.insert(transfers) +}) diff --git a/test/tron-usdt/src/model/generated/index.ts b/test/tron-usdt/src/model/generated/index.ts new file mode 100644 index 000000000..1403303c1 --- /dev/null +++ b/test/tron-usdt/src/model/generated/index.ts @@ -0,0 +1 @@ +export * from "./transfer.model" diff --git a/test/tron-usdt/src/model/generated/marshal.ts b/test/tron-usdt/src/model/generated/marshal.ts new file mode 100644 index 000000000..eaf8d36a8 --- /dev/null +++ b/test/tron-usdt/src/model/generated/marshal.ts @@ -0,0 +1,179 @@ +import assert from 'assert' + + +export interface Marshal { + fromJSON(value: unknown): T + toJSON(value: T): S +} + + +export const string: Marshal = { + fromJSON(value: unknown): string { + assert(typeof value === 'string', 'invalid String') + return value + }, + toJSON(value) { + return value + } +} + + +export const id = string + + +export const int: Marshal = { + fromJSON(value: unknown): number { + assert(Number.isInteger(value), 'invalid Int') + return value as number + }, + toJSON(value) { + return value + } +} + + +export const float: Marshal = { + fromJSON(value: unknown): number { + assert(typeof value === 'number', 'invalid Float') + return value as number + }, + toJSON(value) { + return value + } +} + + +export const boolean: Marshal = { + fromJSON(value: unknown): boolean { + assert(typeof value === 'boolean', 'invalid Boolean') + return value + }, + toJSON(value: boolean): boolean { + return value + } +} + + +export const bigint: Marshal = { + fromJSON(value: unknown): bigint { + assert(typeof value === 'string', 'invalid BigInt') + return BigInt(value) + }, + toJSON(value: bigint): string { + return value.toString() + } +} + + +export const bigdecimal: Marshal = { + fromJSON(value: unknown): bigint { + assert(typeof value === 'string', 'invalid BigDecimal') + return decimal.BigDecimal(value) + }, + toJSON(value: any): string { + return value.toString() + } +} + + +// credit - https://github.com/Urigo/graphql-scalars/blob/91b4ea8df891be8af7904cf84751930cc0c6613d/src/scalars/iso-date/validator.ts#L122 +const RFC_3339_REGEX = + /^(\d{4}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9]|60))(\.\d{1,})?([Z])$/ + + +function isIsoDateTimeString(s: string): boolean { + return RFC_3339_REGEX.test(s) +} + + +export const datetime: Marshal = { + fromJSON(value: unknown): Date { + assert(typeof value === 'string', 'invalid DateTime') + assert(isIsoDateTimeString(value), 'invalid DateTime') + return new Date(value) + }, + toJSON(value: Date): string { + return value.toISOString() + } +} + + +export const bytes: Marshal = { + fromJSON(value: unknown): Buffer { + assert(typeof value === 'string', 'invalid Bytes') + assert(value.length % 2 === 0, 'invalid Bytes') + assert(/^0x[0-9a-f]+$/i.test(value), 'invalid Bytes') + return Buffer.from(value.slice(2), 'hex') + }, + toJSON(value: Uint8Array): string { + if (Buffer.isBuffer(value)) { + return '0x' + value.toString('hex') + } else { + return '0x' + Buffer.from(value.buffer, value.byteOffset, value.byteLength).toString('hex') + } + } +} + + +export function fromList(list: unknown, f: (val: unknown) => T): T[] { + assert(Array.isArray(list)) + return list.map((val) => f(val)) +} + + +export function nonNull(val: T | undefined | null): T { + assert(val != null, 'non-nullable value is null') + return val +} + + +export const bigintTransformer = { + to(x?: bigint) { + return x?.toString() + }, + from(s?: string): bigint | undefined { + return s == null ? undefined : BigInt(s) + } +} + + +export const floatTransformer = { + to(x?: number) { + return x?.toString() + }, + from(s?: string): number | undefined { + return s == null ? undefined : Number(s) + } +} + + +export const bigdecimalTransformer = { + to(x?: any) { + return x?.toString() + }, + from(s?: any): any | undefined { + return s == null ? undefined : decimal.BigDecimal(s) + } +} + + +export function enumFromJson(json: unknown, enumObject: E): E[keyof E] { + assert(typeof json == 'string', 'invalid enum value') + let val = (enumObject as any)[json] + assert(typeof val == 'string', `invalid enum value`) + return val as any +} + + +const decimal = { + get BigDecimal(): any { + throw new Error('Package `@subsquid/big-decimal` is not installed') + } +} + + +try { + Object.defineProperty(decimal, "BigDecimal", { + value: require('@subsquid/big-decimal').BigDecimal + }) +} catch (e) {} diff --git a/test/tron-usdt/src/model/generated/transfer.model.ts b/test/tron-usdt/src/model/generated/transfer.model.ts new file mode 100644 index 000000000..9e12708b3 --- /dev/null +++ b/test/tron-usdt/src/model/generated/transfer.model.ts @@ -0,0 +1,30 @@ +import {Entity as Entity_, Column as Column_, PrimaryColumn as PrimaryColumn_} from "typeorm" +import * as marshal from "./marshal" + +@Entity_() +export class Transfer { + constructor(props?: Partial) { + Object.assign(this, props) + } + + @PrimaryColumn_() + id!: string + + @Column_("int4", {nullable: false}) + blockNumber!: number + + @Column_("timestamp with time zone", {nullable: false}) + timestamp!: Date + + @Column_("text", {nullable: false}) + tx!: string + + @Column_("text", {nullable: false}) + from!: string + + @Column_("text", {nullable: false}) + to!: string + + @Column_("numeric", {transformer: marshal.bigintTransformer, nullable: false}) + amount!: bigint +} diff --git a/test/tron-usdt/src/model/index.ts b/test/tron-usdt/src/model/index.ts new file mode 100644 index 000000000..73bfb2881 --- /dev/null +++ b/test/tron-usdt/src/model/index.ts @@ -0,0 +1 @@ +export * from "./generated" diff --git a/test/tron-usdt/tsconfig.json b/test/tron-usdt/tsconfig.json new file mode 100644 index 000000000..b62d5bcfa --- /dev/null +++ b/test/tron-usdt/tsconfig.json @@ -0,0 +1,20 @@ +{ + "compilerOptions": { + "module": "commonjs", + "target": "es2020", + "outDir": "lib", + "rootDir": "src", + "strict": true, + "resolveJsonModule": true, + "declaration": true, + "sourceMap": true, + "esModuleInterop": true, + "experimentalDecorators": true, + "emitDecoratorMetadata": true, + "skipLibCheck": true + }, + "include": ["src"], + "exclude": [ + "node_modules" + ] +} diff --git a/tron/tron-data/README.md b/tron/tron-data/README.md new file mode 100644 index 000000000..5663dd18b --- /dev/null +++ b/tron/tron-data/README.md @@ -0,0 +1,3 @@ +# @subsquid/tron-data + +Data fetcher for tron based chains. diff --git a/tron/tron-data/package.json b/tron/tron-data/package.json new file mode 100644 index 000000000..7aa1cd56c --- /dev/null +++ b/tron/tron-data/package.json @@ -0,0 +1,30 @@ +{ + "name": "@subsquid/tron-data", + "version": "0.0.0", + "description": "Data fetcher for tron based chains", + "license": "GPL-3.0-or-later", + "repository": "git@github.com:subsquid/squid.git", + "publishConfig": { + "access": "public" + }, + "files": [ + "lib", + "src" + ], + "main": "lib/index.js", + "scripts": { + "build": "rm -rf lib && tsc" + }, + "dependencies": { + "@subsquid/http-client": "^1.5.0", + "@subsquid/util-internal": "^3.2.0", + "@subsquid/util-internal-ingest-tools": "^1.1.4", + "@subsquid/util-internal-validation": "^0.6.0", + "@subsquid/util-internal-json-fix-unsafe-integers": "^0.0.0", + "@subsquid/util-internal-range": "^0.3.0" + }, + "devDependencies": { + "@types/node": "^18.18.14", + "typescript": "~5.3.2" + } +} diff --git a/tron/tron-data/src/client.ts b/tron/tron-data/src/client.ts new file mode 100644 index 000000000..63a770027 --- /dev/null +++ b/tron/tron-data/src/client.ts @@ -0,0 +1,12 @@ +import {HttpClient, FetchRequest, FetchResponse} from '@subsquid/http-client' +import {fixUnsafeIntegers} from '@subsquid/util-internal-json-fix-unsafe-integers' + + +export class TronHttpClient extends HttpClient { + protected async handleResponseBody(req: FetchRequest, res: FetchResponse): Promise { + if (!res.ok) return super.handleResponseBody(req, res) + let json = await res.text() + json = fixUnsafeIntegers(json) + return JSON.parse(json) + } +} diff --git a/tron/tron-data/src/data-source.ts b/tron/tron-data/src/data-source.ts new file mode 100644 index 000000000..4aa43fc57 --- /dev/null +++ b/tron/tron-data/src/data-source.ts @@ -0,0 +1,219 @@ +import { + Batch, + coldIngest, + BlockConsistencyError, + HotState, + HotUpdate, + HotProcessor, + BlockRef, + isDataConsistencyError +} from '@subsquid/util-internal-ingest-tools' +import { + RangeRequest, + SplitRequest, + RangeRequestList, + getRequestAt, + splitRangeByRequest, + splitRange, + rangeToArray, + rangeEnd +} from '@subsquid/util-internal-range' +import {assertNotNull, last, Throttler, wait} from '@subsquid/util-internal' +import assert from 'assert' +import {BlockData, TransactionInfo} from './data' +import {HttpApi} from './http' + + +export interface DataRequest { + transactions?: boolean + transactionsInfo?: boolean +} + + +export interface HttpDataSourceOptions { + httpApi: HttpApi + headPollInterval?: number + strideSize?: number + strideConcurrency?: number +} + + +export class HttpDataSource { + private httpApi: HttpApi + private headPollInterval: number + private strideSize: number + private strideConcurrency: number + private finalityConfirmation: number + + constructor(options: HttpDataSourceOptions) { + this.httpApi = options.httpApi + this.headPollInterval = options.headPollInterval ?? 1000 + this.strideSize = options.strideSize || 10 + this.strideConcurrency = options.strideConcurrency || 2 + this.finalityConfirmation = 20 + } + + getBlockHeader(height: number) { + return this.httpApi.getBlock(height, false) + } + + async getHeight(): Promise { + let block = await this.httpApi.getNowBlock() + let number = assertNotNull(block.block_header.raw_data.number) + return number + } + + async getFinalizedHeight(): Promise { + let block = await this.httpApi.getNowBlock() + let number = assertNotNull(block.block_header.raw_data.number) + return Math.max(0, number - this.finalityConfirmation) + } + + getFinalizedBlocks( + requests: RangeRequest[], + stopOnHead?: boolean + ): AsyncIterable> { + return coldIngest({ + getFinalizedHeight: () => this.getFinalizedHeight(), + getSplit: (req) => this.getSplit(req), + requests, + concurrency: this.strideConcurrency, + splitSize: this.strideSize, + stopOnHead, + headPollInterval: this.headPollInterval + }) + } + + async processHotBlocks( + requests: RangeRequestList, + state: HotState, + cb: (upd: HotUpdate) => Promise + ): Promise { + let self = this + + let proc = new HotProcessor(state, { + process: cb, + getBlock: async ref => { + let req = getRequestAt(requests, ref.height) || {} + let block = await self.getBlock(ref.height, !!req.transactions) + if (block.hash != ref.hash) throw new BlockConsistencyError(ref) + if (req.transactionsInfo) { + await self.addTransactionsInfo([block]) + } + return block + }, + async *getBlockRange(from: number, to: BlockRef): AsyncIterable { + assert(to.height != null) + if (from > to.height) { + from = to.height + } + for (let split of splitRangeByRequest(requests, {from, to: to.height})) { + let req = split.request || {} + for (let range of splitRange(5, split.range)) { + let blocks = await self.getSplit({range, request: req}) + yield blocks + } + } + }, + getHeader(block) { + return { + hash: block.block.blockID, + parentHash: block.block.block_header.raw_data.parentHash, + height: block.height, + } + } + }) + + let isEnd = () => proc.getFinalizedHeight() >= rangeEnd(last(requests).range) + + let navigate = (head: {height: number, hash?: string}): Promise => { + return proc.goto({ + best: head, + finalized: { + height: Math.max(head.height - this.finalityConfirmation, 0) + } + }) + } + + return this.polling(navigate, isEnd) + } + + private async getBlock(num: number, detail: boolean): Promise { + let block = await this.httpApi.getBlock(num, detail) + if (block == null) throw new BlockConsistencyError({height: num}) + return { + block, + height: block.block_header.raw_data.number || 0, + hash: block.blockID + } + } + + private async getBlocks(numbers: number[], detail: boolean): Promise { + let promises = numbers.map(n => this.getBlock(n, detail)) + return Promise.all(promises) + } + + private async addTransactionsInfo(blocks: BlockData[]) { + let promises = [] + for (let block of blocks) { + // info isn't presented for genesis block + if (block.height == 0) continue + + let promise = this.httpApi.getTransactionInfo(block.height) + .then(transactionsInfo => { + let infoById: Record = {} + for (let info of transactionsInfo) { + infoById[info.id] = info + } + for (let tx of block.block.transactions || []) { + if (infoById[tx.txID] == null) { + throw new BlockConsistencyError(block) + } + } + block.transactionsInfo = transactionsInfo + }) + promises.push(promise) + } + await Promise.all(promises) + } + + private async getSplit(req: SplitRequest): Promise { + let blocks = await this.getBlocks(rangeToArray(req.range), !!req.request.transactions) + + for (let i = 0; i < blocks.length; i++) { + let block = blocks[i]; + let prevBlock = blocks[i - 1] + if (i > 0 && prevBlock.block.blockID !== block.block.block_header.raw_data.parentHash) { + throw new BlockConsistencyError(block) + } + } + + if (req.request.transactionsInfo) { + this.addTransactionsInfo(blocks) + } + + return blocks + } + + private async polling(cb: (head: {height: number}) => Promise, isEnd: () => boolean): Promise { + let prev = -1 + let height = new Throttler(() => this.getHeight(), this.headPollInterval) + while (!isEnd()) { + let next = await height.call() + if (next <= prev) continue + prev = next + for (let i = 0; i < 100; i++) { + try { + await cb({height: next}) + break + } catch(err: any) { + if (isDataConsistencyError(err)) { + await wait(100) + } else { + throw err + } + } + } + } + } +} diff --git a/tron/tron-data/src/data.ts b/tron/tron-data/src/data.ts new file mode 100644 index 000000000..f509272d4 --- /dev/null +++ b/tron/tron-data/src/data.ts @@ -0,0 +1,171 @@ +import { + array, + GetSrcType, + INT, + object, + STRING, + BOOLEAN, + option, + record, + ANY, + ANY_NAT +} from '@subsquid/util-internal-validation' + + +export const Log = object({ + address: STRING, + data: option(STRING), + topics: option(array(STRING)) +}) + + +export type Log = GetSrcType + + +export const Contract = object({ + parameter: object({ + value: ANY, + type_url: STRING + }), + type: STRING, + Permission_id: option(INT) +}) + + +export type Contract = GetSrcType + + +export const TransactionRawData = object({ + contract: array(Contract), + ref_block_bytes: option(STRING), + ref_block_hash: option(STRING), + expiration: option(INT), + fee_limit: option(ANY_NAT), + timestamp: option(ANY_NAT) +}) + + +export type TransactionRawData = GetSrcType + + +export const TransactionReceipt = object({ + result: option(STRING), + energy_fee: option(ANY_NAT), + energy_usage: option(ANY_NAT), + energy_usage_total: option(ANY_NAT), + net_usage: option(ANY_NAT), + net_fee: option(ANY_NAT), + origin_energy_usage: option(ANY_NAT), + energy_penalty_total: option(ANY_NAT) +}) + + +export type TransactionReceipt = GetSrcType + + +export const CallValueInfo = object({ + callValue: option(ANY_NAT), + tokenId: option(STRING), +}) + + +export type CallValueInfo = GetSrcType + + +export const InternalTransaction = object({ + hash: STRING, + caller_address: STRING, + transferTo_address: option(STRING), + callValueInfo: array(CallValueInfo), + note: STRING, + rejected: option(BOOLEAN), + extra: option(STRING) +}) + + +export type InternalTransaction = GetSrcType + + +export const TransactionInfo = object({ + id: STRING, + fee: option(ANY_NAT), + blockNumber: INT, + blockTimeStamp: INT, + contractResult: array(STRING), + contract_address: option(STRING), + receipt: TransactionReceipt, + log: option(array(Log)), + result: option(STRING), + resMessage: option(STRING), + withdraw_amount: option(ANY_NAT), + unfreeze_amount: option(ANY_NAT), + internal_transactions: option(array(InternalTransaction)), + withdraw_expire_amount: option(ANY_NAT), + cancel_unfreezeV2_amount: option(array(object({ + key: STRING, + value: ANY_NAT + }))), +}) + + +export type TransactionInfo = GetSrcType + + +export const TransactionResult = object({ + contractRet: option(STRING) +}) + + +export type TransactionResult = GetSrcType + + +export const Transaction = object({ + ret: option(array(TransactionResult)), + signature: option(array(STRING)), + txID: STRING, + raw_data: TransactionRawData, + raw_data_hex: STRING +}) + + +export type Transaction = GetSrcType + + +export const BlockRawData = object({ + number: option(INT), + txTrieRoot: STRING, + witness_address: STRING, + parentHash: STRING, + version: option(INT), + timestamp: option(INT) +}) + + +export type BlockRawData = GetSrcType + + +export const BlockHeader = object({ + raw_data: BlockRawData, + witness_signature: option(STRING) +}) + + +export type BlockHeader = GetSrcType + + +export const Block = object({ + blockID: STRING, + block_header: BlockHeader, + transactions: option(array(Transaction)) +}) + + +export type Block = GetSrcType + + +export interface BlockData { + height: number + hash: string + block: Block + transactionsInfo?: TransactionInfo[] +} diff --git a/tron/tron-data/src/http.ts b/tron/tron-data/src/http.ts new file mode 100644 index 000000000..4ea7edeca --- /dev/null +++ b/tron/tron-data/src/http.ts @@ -0,0 +1,61 @@ +import {HttpClient, RequestOptions, HttpBody} from '@subsquid/http-client' +import {DataValidationError, GetSrcType, Validator, array} from '@subsquid/util-internal-validation' +import {Block, TransactionInfo} from './data' + + +function getResultValidator(validator: V): (result: unknown) => GetSrcType { + return function(result: unknown) { + let err = validator.validate(result) + if (err) { + throw new DataValidationError(`server returned unexpected result: ${err.toString()}`) + } else { + return result as any + } + } +} + + +function isEmpty(value: unknown): boolean { + return value != null && typeof value == 'object' && Object.keys(value).length == 0 +} + + +export class HttpApi { + constructor( + private readonly http: HttpClient, + private readonly options: RequestOptions = {} + ) {} + + async getBlock(hashOrHeight: number | string, detail: boolean): Promise { + let block = await this.post('wallet/getblock', { + json: { + id_or_num: String(hashOrHeight), + detail + } + }) + + if (isEmpty(block)) { + return undefined + } + + let validateResult = getResultValidator(Block) + return validateResult(block) + } + + async getTransactionInfo(num: number): Promise { + return this.post('wallet/gettransactioninfobyblocknum', { + json: { num } + }, getResultValidator(array(TransactionInfo))) + } + + async getNowBlock(): Promise { + return this.post('wallet/getnowblock', undefined, getResultValidator(Block)) + } + + async post(url: string, body?: HttpBody, validateResult?: (result: unknown) => T): Promise { + return this.http.post(url, { + ...this.options, + ...body, + }).then(res => validateResult ? validateResult(res) : res) + } +} diff --git a/tron/tron-data/src/index.ts b/tron/tron-data/src/index.ts new file mode 100644 index 000000000..84ed61bbb --- /dev/null +++ b/tron/tron-data/src/index.ts @@ -0,0 +1,4 @@ +export * from './data' +export * from './client' +export * from './http' +export * from './data-source' diff --git a/tron/tron-data/tsconfig.json b/tron/tron-data/tsconfig.json new file mode 100644 index 000000000..deee9f66b --- /dev/null +++ b/tron/tron-data/tsconfig.json @@ -0,0 +1,21 @@ +{ + "compilerOptions": { + "module": "commonjs", + "target": "es2020", + "outDir": "lib", + "rootDir": "src", + "allowJs": true, + "strict": true, + "declaration": true, + "declarationMap": true, + "sourceMap": true, + "esModuleInterop": true, + "experimentalDecorators": true, + "emitDecoratorMetadata": true, + "skipLibCheck": true + }, + "include": ["src"], + "exclude": [ + "node_modules" + ] +} diff --git a/tron/tron-dump/README.md b/tron/tron-dump/README.md new file mode 100644 index 000000000..cd5dfb5b7 --- /dev/null +++ b/tron/tron-dump/README.md @@ -0,0 +1,3 @@ +# @subsquid/tron-dump + +Raw data archiving tool for tron based chains. diff --git a/tron/tron-dump/bin/run.js b/tron/tron-dump/bin/run.js new file mode 100755 index 000000000..345e3cf6f --- /dev/null +++ b/tron/tron-dump/bin/run.js @@ -0,0 +1,3 @@ +#!/usr/bin/env node + +require('../lib/main') diff --git a/tron/tron-dump/package.json b/tron/tron-dump/package.json new file mode 100644 index 000000000..1b4f92dd0 --- /dev/null +++ b/tron/tron-dump/package.json @@ -0,0 +1,29 @@ +{ + "name": "@subsquid/tron-dump", + "version": "0.0.0", + "description": "Raw data archiving tool for tron based chains", + "license": "GPL-3.0-or-later", + "repository": "git@github.com:subsquid/squid.git", + "publishConfig": { + "access": "public" + }, + "bin": { + "tron-dump": "bin/run.js" + }, + "files": [ + "lib", + "src" + ], + "scripts": { + "build": "rm -rf lib && tsc" + }, + "dependencies": { + "@subsquid/tron-data": "^0.0.0", + "@subsquid/util-internal": "^3.2.0", + "@subsquid/util-internal-dump-cli": "^0.4.0" + }, + "devDependencies": { + "@types/node": "^18.18.14", + "typescript": "~5.3.2" + } +} diff --git a/tron/tron-dump/src/dumper.ts b/tron/tron-dump/src/dumper.ts new file mode 100644 index 000000000..4493ee504 --- /dev/null +++ b/tron/tron-dump/src/dumper.ts @@ -0,0 +1,64 @@ +import {BlockData, HttpApi, HttpDataSource, TronHttpClient} from '@subsquid/tron-data' +import {def} from '@subsquid/util-internal' +import {Command, Dumper, DumperOptions, positiveInt, Range, removeOption} from '@subsquid/util-internal-dump-cli' + + +interface Options extends DumperOptions { + strideConcurrency: number + strideSize: number +} + + +export class TronDumper extends Dumper { + protected setUpProgram(program: Command): void { + program.description('Data archiving tool for Tron') + removeOption(program, 'endpointMaxBatchCallSize') + removeOption(program, 'endpointCapacity') + program.option('--stride-size ', 'Maximum size of concurrent block requests in a stride', positiveInt, 10) + program.option('--stride-concurrency ', 'Maximum number of pending strides', positiveInt, 2) + } + + protected getLoggingNamespace(): string { + return 'sqd:tron-dump' + } + + protected getPrevBlockHash(block: BlockData): string { + return block.block.block_header.raw_data.parentHash + } + + @def + httpApi(): HttpApi { + let client = new TronHttpClient({ + baseUrl: this.options().endpoint, + retryAttempts: Number.MAX_SAFE_INTEGER + }) + return new HttpApi(client) + } + + @def + private getDataSource(): HttpDataSource { + return new HttpDataSource({ + httpApi: this.httpApi(), + headPollInterval: 10_000, + strideSize: this.options().strideSize, + strideConcurrency: this.options().strideConcurrency, + }) + } + + protected async* getBlocks(range: Range): AsyncIterable { + let blockStream = this.getDataSource().getFinalizedBlocks([{ + range, + request: { + transactions: true, + transactionsInfo: true + } + }]) + for await (let batch of blockStream) { + yield batch.blocks + } + } + + protected getFinalizedHeight(): Promise { + return this.getDataSource().getFinalizedHeight() + } +} diff --git a/tron/tron-dump/src/main.ts b/tron/tron-dump/src/main.ts new file mode 100644 index 000000000..84f0caa2e --- /dev/null +++ b/tron/tron-dump/src/main.ts @@ -0,0 +1,3 @@ +import {TronDumper} from './dumper' + +new TronDumper().run() diff --git a/tron/tron-dump/tsconfig.json b/tron/tron-dump/tsconfig.json new file mode 100644 index 000000000..deee9f66b --- /dev/null +++ b/tron/tron-dump/tsconfig.json @@ -0,0 +1,21 @@ +{ + "compilerOptions": { + "module": "commonjs", + "target": "es2020", + "outDir": "lib", + "rootDir": "src", + "allowJs": true, + "strict": true, + "declaration": true, + "declarationMap": true, + "sourceMap": true, + "esModuleInterop": true, + "experimentalDecorators": true, + "emitDecoratorMetadata": true, + "skipLibCheck": true + }, + "include": ["src"], + "exclude": [ + "node_modules" + ] +} diff --git a/tron/tron-ingest/README.md b/tron/tron-ingest/README.md new file mode 100644 index 000000000..f8cd23116 --- /dev/null +++ b/tron/tron-ingest/README.md @@ -0,0 +1,3 @@ +# @subsquid/tron-ingest + +Data ingestion tool for tron based chains. diff --git a/tron/tron-ingest/bin/run.js b/tron/tron-ingest/bin/run.js new file mode 100755 index 000000000..345e3cf6f --- /dev/null +++ b/tron/tron-ingest/bin/run.js @@ -0,0 +1,3 @@ +#!/usr/bin/env node + +require('../lib/main') diff --git a/tron/tron-ingest/package.json b/tron/tron-ingest/package.json new file mode 100644 index 000000000..110a74ccc --- /dev/null +++ b/tron/tron-ingest/package.json @@ -0,0 +1,32 @@ +{ + "name": "@subsquid/tron-ingest", + "description": "Data fetcher for tron based chains", + "version": "0.0.0", + "license": "GPL-3.0-or-later", + "repository": "git@github.com:subsquid/squid.git", + "publishConfig": { + "access": "public" + }, + "bin": { + "tron-ingest": "./bin/run.js" + }, + "files": [ + "bin", + "lib", + "src" + ], + "scripts": { + "build": "rm -rf lib && tsc" + }, + "dependencies": { + "@subsquid/tron-data": "^0.0.0", + "@subsquid/tron-normalization": "^0.0.0", + "@subsquid/util-internal": "^3.2.0", + "@subsquid/util-internal-json": "^1.2.3", + "@subsquid/util-internal-ingest-cli": "^0.1.0" + }, + "devDependencies": { + "@types/node": "^18.18.14", + "typescript": "~5.3.2" + } +} diff --git a/tron/tron-ingest/src/ingest.ts b/tron/tron-ingest/src/ingest.ts new file mode 100644 index 000000000..442511540 --- /dev/null +++ b/tron/tron-ingest/src/ingest.ts @@ -0,0 +1,32 @@ +import {addErrorContext} from '@subsquid/util-internal' +import {Command, Ingest, IngestOptions, Range} from '@subsquid/util-internal-ingest-cli' +import {toJSON} from '@subsquid/util-internal-json' +import {BlockData} from '@subsquid/tron-data' +import {mapBlock} from '@subsquid/tron-normalization' + + +export class TronIngest extends Ingest { + protected getLoggingNamespace(): string { + return 'sqd:tron-ingest' + } + + protected setUpProgram(program: Command) { + program.description('Data ingestion tool for Tron') + } + + protected async *getBlocks(range: Range): AsyncIterable { + for await (let blocks of this.archive().getRawBlocks(range)) { + yield blocks.map(raw => { + try { + let block = mapBlock(raw) + return toJSON(block) + } catch(err: any) { + throw addErrorContext(err, { + blockHeight: raw.height, + blockHash: raw.hash, + }) + } + }) + } + } +} diff --git a/tron/tron-ingest/src/main.ts b/tron/tron-ingest/src/main.ts new file mode 100644 index 000000000..58804b873 --- /dev/null +++ b/tron/tron-ingest/src/main.ts @@ -0,0 +1,3 @@ +import {TronIngest} from './ingest' + +new TronIngest().run() diff --git a/tron/tron-ingest/tsconfig.json b/tron/tron-ingest/tsconfig.json new file mode 100644 index 000000000..a07c98bc2 --- /dev/null +++ b/tron/tron-ingest/tsconfig.json @@ -0,0 +1,20 @@ +{ + "compilerOptions": { + "module": "commonjs", + "target": "es2020", + "outDir": "lib", + "rootDir": "src", + "allowJs": true, + "strict": true, + "declaration": true, + "sourceMap": true, + "esModuleInterop": true, + "experimentalDecorators": true, + "emitDecoratorMetadata": true, + "skipLibCheck": true + }, + "include": ["src"], + "exclude": [ + "node_modules" + ] +} diff --git a/tron/tron-normalization/package.json b/tron/tron-normalization/package.json new file mode 100644 index 000000000..fbaf98329 --- /dev/null +++ b/tron/tron-normalization/package.json @@ -0,0 +1,25 @@ +{ + "name": "@subsquid/tron-normalization", + "version": "0.0.0", + "description": "Tron data model", + "license": "GPL-3.0-or-later", + "repository": "git@github.com:subsquid/squid.git", + "publishConfig": { + "access": "public" + }, + "files": [ + "lib", + "src" + ], + "main": "lib/index.js", + "scripts": { + "build": "rm -rf lib && tsc" + }, + "dependencies": { + "@subsquid/tron-data": "^0.0.0" + }, + "devDependencies": { + "@types/node": "^18.18.14", + "typescript": "~5.3.2" + } +} diff --git a/tron/tron-normalization/src/data.ts b/tron/tron-normalization/src/data.ts new file mode 100644 index 000000000..31134f148 --- /dev/null +++ b/tron/tron-normalization/src/data.ts @@ -0,0 +1,84 @@ +export interface BlockHeader { + height: number + hash: string + parentHash: string + txTrieRoot: string + version?: number + timestamp: number + witnessAddress: string + witnessSignature?: string +} + + +export interface Log { + transactionIndex: number + logIndex: number + address: string + data?: string + topics?: string[] +} + + +export interface TransactionResult { + contractRet?: string +} + + +export interface Transaction { + transactionIndex: number + hash: string + ret?: TransactionResult[] + signature?: string[] + type: string + parameter: any + permissionId?: number + refBlockBytes?: string + refBlockHash?: string + feeLimit?: bigint + expiration?: number + timestamp?: bigint + rawDataHex: string + fee?: bigint + contractResult?: string + contractAddress?: string + resMessage?: string + withdrawAmount?: bigint + unfreezeAmount?: bigint + withdrawExpireAmount?: bigint + cancelUnfreezeV2Amount?: Record + result?: string + energyFee?: bigint + energyUsage?: bigint + energyUsageTotal?: bigint + netUsage?: bigint + netFee?: bigint + originEnergyUsage?: bigint + energyPenaltyTotal?: bigint +} + + +export interface CallValueInfo { + callValue?: bigint + tokenId?: string +} + + +export interface InternalTransaction { + transactionIndex: number + internalTransactionIndex: number + hash: string + callerAddress: string + transferToAddress?: string + callValueInfo: CallValueInfo[] + note: string + rejected?: boolean + extra?: string +} + + +export interface Block { + header: BlockHeader, + logs: Log[] + transactions: Transaction[] + internalTransactions: InternalTransaction[] +} diff --git a/tron/tron-normalization/src/index.ts b/tron/tron-normalization/src/index.ts new file mode 100644 index 000000000..808f72cb7 --- /dev/null +++ b/tron/tron-normalization/src/index.ts @@ -0,0 +1,2 @@ +export * from './data' +export * from './mapping' diff --git a/tron/tron-normalization/src/mapping.ts b/tron/tron-normalization/src/mapping.ts new file mode 100644 index 000000000..3035394e2 --- /dev/null +++ b/tron/tron-normalization/src/mapping.ts @@ -0,0 +1,166 @@ +import * as raw from '@subsquid/tron-data' +import assert from 'assert' +import {Block, BlockHeader, CallValueInfo, InternalTransaction, Log, Transaction} from './data' + + +function mapBlockHeader(src: raw.Block): BlockHeader { + return { + hash: src.blockID, + height: src.block_header.raw_data.number || 0, + parentHash: src.block_header.raw_data.parentHash, + timestamp: src.block_header.raw_data.timestamp || 0, + txTrieRoot: src.block_header.raw_data.txTrieRoot, + version: src.block_header.raw_data.version ?? undefined, + witnessAddress: src.block_header.raw_data.witness_address, + witnessSignature: src.block_header.witness_signature ?? undefined + } +} + + +function mapTransaction(src: raw.Transaction, transactionIndex: number, info?: raw.TransactionInfo): Transaction { + assert(src.raw_data.contract.length == 1) + if (info) assert(info.contractResult.length == 1) + let contract = src.raw_data.contract[0] + let ret = src.ret?.map(ret => ({contractRet: ret.contractRet ?? undefined})) + let tx: Transaction = { + hash: src.txID, + transactionIndex, + ret, + signature: src.signature ?? undefined, + type: contract.type, + parameter: contract.parameter, + permissionId: contract.Permission_id ?? undefined, + refBlockBytes: src.raw_data.ref_block_bytes ?? undefined, + refBlockHash: src.raw_data.ref_block_hash ?? undefined, + expiration: src.raw_data.expiration ?? undefined, + rawDataHex: src.raw_data_hex, + contractResult: info?.contractResult?.[0], + contractAddress: info?.contract_address ?? undefined, + resMessage: info?.resMessage ?? undefined, + result: info?.receipt.result ?? undefined, + } + + if (src.raw_data.timestamp) { + tx.timestamp = BigInt(src.raw_data.timestamp) + } + if (src.raw_data.fee_limit) { + tx.feeLimit = BigInt(src.raw_data.fee_limit) + } + if (info?.fee) { + tx.fee = BigInt(info.fee) + } + if (info?.withdraw_amount) { + tx.withdrawAmount = BigInt(info.withdraw_amount) + } + if (info?.unfreeze_amount) { + tx.unfreezeAmount = BigInt(info.unfreeze_amount) + } + if (info?.withdraw_expire_amount) { + tx.withdrawExpireAmount = BigInt(info.withdraw_expire_amount) + } + if (info?.receipt.energy_fee) { + tx.energyFee = BigInt(info.receipt.energy_fee) + } + if (info?.receipt.energy_usage) { + tx.energyUsage = BigInt(info.receipt.energy_usage) + } + if (info?.receipt.energy_usage_total) { + tx.energyUsageTotal = BigInt(info.receipt.energy_usage_total) + } + if (info?.receipt.net_usage) { + tx.netUsage = BigInt(info.receipt.net_usage) + } + if (info?.receipt.net_fee) { + tx.netFee = BigInt(info.receipt.net_fee) + } + if (info?.receipt.origin_energy_usage) { + tx.originEnergyUsage = BigInt(info.receipt.origin_energy_usage) + } + if (info?.receipt.energy_penalty_total) { + tx.energyPenaltyTotal = BigInt(info.receipt.energy_penalty_total) + } + if (info?.cancel_unfreezeV2_amount) { + tx.cancelUnfreezeV2Amount = {} + for (let obj of info.cancel_unfreezeV2_amount) { + tx.cancelUnfreezeV2Amount[obj.key] = BigInt(obj.value) + } + } + + return tx +} + + +function mapLog(src: raw.Log, transactionIndex: number, logIndex: number): Log { + return { + transactionIndex, + logIndex, + address: src.address, + data: src.data ?? undefined, + topics: src.topics ?? undefined, + } +} + + +function mapInternalTransaction( + src: raw.InternalTransaction, + transactionIndex: number, + internalTransactionIndex: number +): InternalTransaction { + let callValueInfo = src.callValueInfo.map(info => { + let val: CallValueInfo = {} + if (info.tokenId) { + val.tokenId = info.tokenId + } + if (info.callValue) { + val.callValue = BigInt(info.callValue) + } + return val + }) + + return { + transactionIndex, + internalTransactionIndex, + hash: src.hash, + callerAddress: src.caller_address, + transferToAddress: src.transferTo_address ?? undefined, + callValueInfo, + note: src.note, + extra: src.extra ?? undefined, + rejected: src.rejected ?? undefined, + } +} + + +export function mapBlock(src: raw.BlockData): Block { + let block: Block = { + header: mapBlockHeader(src.block), + logs: [], + transactions: [], + internalTransactions: [], + } + + let infoById: Record = {} + for (let info of src.transactionsInfo || []) { + infoById[info.id] = info + } + + src.block.transactions?.forEach((rawTx, index) => { + let info = infoById[rawTx.txID] + let tx = mapTransaction(rawTx, index, info) + block.transactions?.push(tx) + + if (!info) return + + info.log?.forEach((rawLog, logIndex) => { + let log = mapLog(rawLog, index, logIndex) + block.logs?.push(log) + }) + + info.internal_transactions?.forEach((rawInternalTx, internalTxIndex) => { + let internalTx = mapInternalTransaction(rawInternalTx, index, internalTxIndex) + block.internalTransactions?.push(internalTx) + }) + }) + + return block +} diff --git a/tron/tron-normalization/tsconfig.json b/tron/tron-normalization/tsconfig.json new file mode 100644 index 000000000..deee9f66b --- /dev/null +++ b/tron/tron-normalization/tsconfig.json @@ -0,0 +1,21 @@ +{ + "compilerOptions": { + "module": "commonjs", + "target": "es2020", + "outDir": "lib", + "rootDir": "src", + "allowJs": true, + "strict": true, + "declaration": true, + "declarationMap": true, + "sourceMap": true, + "esModuleInterop": true, + "experimentalDecorators": true, + "emitDecoratorMetadata": true, + "skipLibCheck": true + }, + "include": ["src"], + "exclude": [ + "node_modules" + ] +} diff --git a/tron/tron-processor/README.md b/tron/tron-processor/README.md new file mode 100644 index 000000000..832f2dd33 --- /dev/null +++ b/tron/tron-processor/README.md @@ -0,0 +1,3 @@ +# @subsquid/tron-processor + +Data fetcher and mappings executor for tron chains. diff --git a/tron/tron-processor/package.json b/tron/tron-processor/package.json new file mode 100644 index 000000000..4264f192d --- /dev/null +++ b/tron/tron-processor/package.json @@ -0,0 +1,34 @@ +{ + "name": "@subsquid/tron-processor", + "version": "0.0.0", + "description": "Data fetcher and mappings executor for tron chains", + "license": "GPL-3.0-or-later", + "repository": "git@github.com:subsquid/squid.git", + "publishConfig": { + "access": "public" + }, + "files": [ + "lib", + "src" + ], + "main": "lib/index.js", + "scripts": { + "build": "rm -rf lib && tsc" + }, + "dependencies": { + "@subsquid/http-client": "^1.5.0", + "@subsquid/logger": "^1.3.3", + "@subsquid/tron-data": "^0.0.0", + "@subsquid/tron-normalization": "^0.0.0", + "@subsquid/util-internal": "^3.2.0", + "@subsquid/util-internal-range": "^0.3.0", + "@subsquid/util-internal-validation": "^0.6.0", + "@subsquid/util-internal-archive-client": "^0.1.2", + "@subsquid/util-internal-ingest-tools": "^1.1.4", + "@subsquid/util-internal-processor-tools": "^4.1.1" + }, + "devDependencies": { + "@types/node": "^18.18.14", + "typescript": "~5.2.2" + } +} diff --git a/tron/tron-processor/src/data/data-partial.ts b/tron/tron-processor/src/data/data-partial.ts new file mode 100644 index 000000000..e4ef88db1 --- /dev/null +++ b/tron/tron-processor/src/data/data-partial.ts @@ -0,0 +1,22 @@ +import type * as data from '@subsquid/tron-normalization' +import type {MakePartial} from './util' + + +export type BlockRequiredFields = 'height' | 'hash' | 'parentHash' +export type TransactionRequiredFields = 'transactionIndex' +export type LogRequiredFields = 'transactionIndex' | 'logIndex' +export type InternalTransactionRequiredFields = 'transactionIndex' | 'internalTransactionIndex' + + +export type PartialBlockHeader = MakePartial +export type PartialTransaction = MakePartial +export type PartialLog = MakePartial +export type PartialInternalTransaction = MakePartial + + +export interface PartialBlock { + header: PartialBlockHeader + transactions?: PartialTransaction[] + logs?: PartialLog[] + internalTransactions?: PartialInternalTransaction[] +} diff --git a/tron/tron-processor/src/data/data-request.ts b/tron/tron-processor/src/data/data-request.ts new file mode 100644 index 000000000..27990f60b --- /dev/null +++ b/tron/tron-processor/src/data/data-request.ts @@ -0,0 +1,123 @@ +import {FieldSelection, Bytes} from './model' + + +export interface DataRequest { + fields?: FieldSelection + includeAllBlocks?: boolean + logs?: LogRequest[] + transactions?: TransactionRequest[] + transferTransactions?: TransferTransactionRequest[] + transferAssetTransactions?: TransferAssetTransactionRequest[] + triggerSmartContractTransactions?: TriggerSmartContractTransactionRequest[] + internalTransactions?: InternalTransactionRequest[] +} + + +export interface LogRequestWhere { + address?: Bytes[] + topic0?: Bytes[] + topic1?: Bytes[] + topic2?: Bytes[] + topic3?: Bytes[] +} + + +export interface LogRequestRelations { + transaction?: boolean +} + + +export interface LogRequest { + where?: LogRequestWhere + include?: LogRequestRelations +} + + +export interface TransactionRequestWhere { + type?: string[] +} + + +export interface TransactionRequestRelations { + logs?: boolean + internalTransactions?: boolean +} + + +export interface TransactionRequest { + where?: TransactionRequestWhere + include?: TransactionRequestRelations +} + + +export interface TransferTransactionRequestWhere { + owner?: Bytes[] + to?: Bytes[] +} + + +export interface TransferTransactionRequestRelations { + logs?: boolean + internalTransactions?: boolean +} + + +export interface TransferTransactionRequest { + where?: TransferTransactionRequestWhere + include?: TransferTransactionRequestRelations +} + + +export interface TransferAssetTransactionRequestWhere { + owner?: Bytes[] + to?: Bytes[] + asset?: string[] +} + + +export interface TransferAssetTransactionRequestRelations { + logs?: boolean + internalTransactions?: boolean +} + + +export interface TransferAssetTransactionRequest { + where?: TransferAssetTransactionRequestWhere + include?: TransferAssetTransactionRequestRelations +} + + +export interface TriggerSmartContractTransactionRequestWhere { + owner?: Bytes[] + contract?: Bytes[] + sighash?: Bytes[] +} + + +export interface TriggerSmartContractTransactionRequestRelations { + logs?: boolean + internalTransactions?: boolean +} + + +export interface TriggerSmartContractTransactionRequest { + where?: TriggerSmartContractTransactionRequestWhere + include?: TriggerSmartContractTransactionRequestRelations +} + + +export interface InternalTransactionRequestWhere { + caller?: Bytes[] + transferTo?: Bytes[] +} + + +export interface InternalTransactionRequestRelations { + transaction?: boolean +} + + +export interface InternalTransactionRequest { + where?: InternalTransactionRequestWhere + include?: InternalTransactionRequestRelations +} diff --git a/tron/tron-processor/src/data/fields.ts b/tron/tron-processor/src/data/fields.ts new file mode 100644 index 000000000..4619f5428 --- /dev/null +++ b/tron/tron-processor/src/data/fields.ts @@ -0,0 +1,34 @@ +import {DEFAULT_FIELDS, FieldSelection} from './model' +import {Selector} from './util' + + +/** + * Get effective set of selected fields. + */ +export function getFields(fields: FieldSelection | undefined): FieldSelection { + return { + block: merge(DEFAULT_FIELDS.block, fields?.block), + transaction: merge(DEFAULT_FIELDS.transaction, fields?.transaction), + log: merge(DEFAULT_FIELDS.log, fields?.log), + internalTransaction: merge(DEFAULT_FIELDS.internalTransaction, fields?.internalTransaction), + } +} + + +function merge(def: Selector, requested: Selector = {}): Selector { + let fields: Selector = {} + + for (let key in def) { + if (requested[key] !== false) { + fields[key] = def[key] + } + } + + for (let key in requested) { + if (requested[key]) { + fields[key] = true + } + } + + return fields +} diff --git a/tron/tron-processor/src/data/model.ts b/tron/tron-processor/src/data/model.ts new file mode 100644 index 000000000..224e9c5cd --- /dev/null +++ b/tron/tron-processor/src/data/model.ts @@ -0,0 +1,109 @@ +import type * as data from '@subsquid/tron-normalization' +import type { + BlockRequiredFields, + LogRequiredFields, + InternalTransactionRequiredFields, + TransactionRequiredFields +} from './data-partial' +import type {GetFields, Select, Selector, Simplify} from './util' + + +/** + * Hex encoded binary string + */ +export type Bytes = string + + +export interface FieldSelection { + block?: Selector> + transaction?: Selector> + log?: Selector> + internalTransaction?: Selector> +} + + +export const DEFAULT_FIELDS = { + block: { + parentHash: true, + timestamp: true + }, + transaction: { + hash: true, + type: true + }, + log: { + address: true, + data: true, + topics: true + }, + internalTransaction: { + callerAddress: true, + transferToAddress: true + } +} as const + + +type Item< + Data, + RequiredFields extends keyof Data, + F extends FieldSelection, + K extends keyof FieldSelection +> = Simplify< + Pick & + Select> +> + + +export type BlockHeader = Item< + data.BlockHeader, + BlockRequiredFields, + F, + 'block' +> + + +export type Transaction = Item< + data.Transaction, + TransactionRequiredFields, + F, + 'transaction' +> & { + id: string + block: BlockHeader, + logs?: Log[] + internalTransactions: InternalTransaction[] +} + + +export type Log = Item< + data.Log, + LogRequiredFields, + F, + 'log' +> & { + id: string + block: BlockHeader, + transaction?: Transaction + getTransaction(): Transaction +} + + +export type InternalTransaction = Item< + data.InternalTransaction, + InternalTransactionRequiredFields, + F, + 'internalTransaction' +> & { + id: string + block: BlockHeader, + transaction?: Transaction + getTransaction(): Transaction +} + + +export interface Block { + header: BlockHeader + transactions: Transaction[] + logs: Log[] + internalTransactions: InternalTransaction[] +} diff --git a/tron/tron-processor/src/data/util.ts b/tron/tron-processor/src/data/util.ts new file mode 100644 index 000000000..84708bc6a --- /dev/null +++ b/tron/tron-processor/src/data/util.ts @@ -0,0 +1,42 @@ +export type Simplify = { + [K in keyof T]: T[K] +} & {} + + +export type ExcludeUndefined = { + [K in keyof T as undefined extends T[K] ? never : K]: T[K] +} & {} + + +export type GetFields< + FieldSelectionType, + Defaults extends FieldSelectionType, + Selection extends FieldSelectionType, + K extends keyof FieldSelectionType +> = TrueFields> + + +type MergeDefault = Simplify< + undefined extends T ? D : Omit> & ExcludeUndefined +> + + +export type TrueFields = keyof { + [K in keyof F as true extends F[K] ? K : never]: true +} + + +export type Select = T extends any ? Simplify>> : never + + +export type Selector = { + [P in Fields]?: boolean +} + + +export type MakePartial = Simplify< + Pick & + { + [K in keyof T as K extends Required ? never : K]+?: T[K] + } +> diff --git a/tron/tron-processor/src/gateway/data-schema.ts b/tron/tron-processor/src/gateway/data-schema.ts new file mode 100644 index 000000000..9e8394be8 --- /dev/null +++ b/tron/tron-processor/src/gateway/data-schema.ts @@ -0,0 +1,118 @@ +import {weakMemo} from '@subsquid/util-internal' +import { + array, + BIG_NAT, + BOOLEAN, + NAT, + INT, + object, + option, + STRING, + ANY, + record +} from '@subsquid/util-internal-validation' +import {FieldSelection} from '../data/model' +import {Selector} from '../data/util' + + +export const getDataSchema = weakMemo((fields: FieldSelection) => { + let BlockHeader = object({ + number: NAT, + hash: STRING, + parentHash: STRING, + ...project(fields.block, { + txTrieRoot: STRING, + version: option(INT), + timestamp: NAT, + witnessAddress: STRING, + witnessSignature: STRING, + }) + }) + + let TransactionResult = array(object({ + contractRet: option(STRING) + })) + + let Transaction = object({ + transactionIndex: NAT, + ...project(fields.transaction, { + hash: STRING, + ret: option(TransactionResult), + signature: option(array(STRING)), + type: STRING, + parameter: ANY, + permissionId: option(NAT), + refBlockBytes: option(STRING), + refBlockHash: option(STRING), + feeLimit: option(BIG_NAT), + expiration: option(NAT), + timestamp: option(BIG_NAT), + rawDataHex: STRING, + fee: option(BIG_NAT), + contractResult: option(STRING), + contractAddress: option(STRING), + resMessage: option(STRING), + withdrawAmount: option(BIG_NAT), + unfreezeAmount: option(BIG_NAT), + withdrawExpireAmount: option(BIG_NAT), + cancelUnfreezeV2Amount: option(record(STRING, BIG_NAT)), + result: option(STRING), + energyFee: option(BIG_NAT), + energyUsage: option(BIG_NAT), + energyUsageTotal: option(BIG_NAT), + netUsage: option(BIG_NAT), + netFee: option(BIG_NAT), + originEnergyUsage: option(BIG_NAT), + energyPenaltyTotal: option(BIG_NAT), + }) + }) + + let Log = object({ + transactionIndex: NAT, + logIndex: NAT, + ...project(fields.log, { + address: STRING, + data: option(STRING), + topics: array(STRING), + }) + }) + + let CallValueInfo = object({ + callValue: option(BIG_NAT), + tokenId: option(STRING) + }) + + let InternalTransaction = object({ + transactionIndex: NAT, + internalTransactionIndex: NAT, + ...project(fields.internalTransaction, { + hash: STRING, + callerAddress: STRING, + transferToAddress: option(STRING), + callValueInfo: array(CallValueInfo), + note: STRING, + rejected: option(BOOLEAN), + extra: option(STRING), + }) + }) + + return object({ + header: BlockHeader, + transactions: option(array(Transaction)), + logs: option(array(Log)), + internalTransactions: option(array(InternalTransaction)), + }) +}) + + +function project(fields: Selector | undefined, obj: T): Partial { + if (fields == null) return {} + let result: Partial = {} + let key: keyof T + for (key in obj) { + if (fields[key]) { + result[key] = obj[key] + } + } + return result +} diff --git a/tron/tron-processor/src/gateway/source.ts b/tron/tron-processor/src/gateway/source.ts new file mode 100644 index 000000000..7dd90f0bc --- /dev/null +++ b/tron/tron-processor/src/gateway/source.ts @@ -0,0 +1,76 @@ +import {assertNotNull} from '@subsquid/util-internal' +import {ArchiveClient} from '@subsquid/util-internal-archive-client' +import {archiveIngest} from '@subsquid/util-internal-ingest-tools' +import {DataSource, Batch} from '@subsquid/util-internal-processor-tools' +import {getRequestAt, mapRangeRequestList, RangeRequestList} from '@subsquid/util-internal-range' +import {array, cast} from '@subsquid/util-internal-validation' +import assert from 'assert' +import {DataRequest} from '../data/data-request' +import {getDataSchema} from './data-schema' +import {Block} from '../mapping/entities' +import {setUpRelations} from '../mapping/relations' + + +export class TronGateway implements DataSource { + constructor(private client: ArchiveClient) {} + + getFinalizedHeight(): Promise { + return this.client.getHeight() + } + + async getBlockHash(height: number): Promise { + let blocks = await this.client.query({ + type: 'tron', + fromBlock: height, + toBlock: height, + includeAllBlocks: true + }) + assert(blocks.length == 1) + return blocks[0].header.hash + } + + async *getFinalizedBlocks( + requests: RangeRequestList, + stopOnHead?: boolean + ): AsyncIterable> { + let archiveRequests = mapRangeRequestList(requests, req => { + let {fields, includeAllBlocks, ...items} = req + let archiveItems: any = {} + let key: keyof typeof items + for (key in items) { + archiveItems[key] = items[key]?.map(it => ({...it.where, ...it.include})) + } + return { + type: 'tron', + fields, + includeAllBlocks, + ...archiveItems + } + }) + + for await (let batch of archiveIngest({ + client: this.client, + requests: archiveRequests, + stopOnHead + })) { + let req = getRequestAt(requests, batch.blocks[0].header.number) + + let blocks = cast( + array(getDataSchema(assertNotNull(req?.fields))), + batch.blocks + ).map(b => { + let {header: {number, ...hdr}, ...items} = b + let block = Block.fromPartial({ + header: {height: number, ...hdr}, + ...items + }) + + setUpRelations(block) + + return block + }) + + yield {blocks, isHead: batch.isHead} + } + } +} diff --git a/tron/tron-processor/src/http/filter.ts b/tron/tron-processor/src/http/filter.ts new file mode 100644 index 000000000..9de594f73 --- /dev/null +++ b/tron/tron-processor/src/http/filter.ts @@ -0,0 +1,194 @@ +import {EntityFilter, FilterBuilder} from '@subsquid/util-internal-processor-tools' +import {assertNotNull, groupBy, weakMemo} from '@subsquid/util-internal' +import {getRequestAt, RangeRequest} from '@subsquid/util-internal-range' +import {Block, InternalTransaction, Log, Transaction} from '@subsquid/tron-normalization' +import {DataRequest, LogRequestRelations, TransactionRequestRelations, InternalTransactionRequestRelations} from '../data/data-request' + + +class IncludeSet { + public readonly logs = new Set() + public readonly transactions = new Set() + public readonly internalTransactions = new Set() + + addLog(log?: Log): void { + if (log) { + this.logs.add(log) + } + } + + addTransaction(tx?: Transaction): void { + if (tx) { + this.transactions.add(tx) + } + } + + addInternalTransaction(internalTx?: InternalTransaction): void { + if (internalTx) { + this.internalTransactions.add(internalTx) + } + } +} + + +function buildLogFilter(dataRequest: DataRequest): EntityFilter { + let logs = new EntityFilter() + + dataRequest.logs?.forEach(req => { + let where = req.where || {} + let filter = new FilterBuilder() + filter.propIn('address', where.address) + filter.getIn(log => assertNotNull(log.topics)[0], where.topic0) + filter.getIn(log => assertNotNull(log.topics)[1], where.topic1) + filter.getIn(log => assertNotNull(log.topics)[2], where.topic2) + filter.getIn(log => assertNotNull(log.topics)[3], where.topic3) + logs.add(filter, req.include ?? {}) + }) + + return logs +} + + +function buildTransactionFilter(dataRequest: DataRequest): EntityFilter { + let transactions = new EntityFilter() + + dataRequest.transactions?.forEach(req => { + let where = req.where || {} + let filter = new FilterBuilder() + filter.propIn('type', where.type) + transactions.add(filter, req.include ?? {}) + }) + + dataRequest.transferTransactions?.forEach(req => { + let where = req.where || {} + let filter = new FilterBuilder() + filter.propIn('type', ['TransferContract']) + filter.getIn(tx => assertNotNull(tx.parameter.value.to_address), where.to) + filter.getIn(tx => assertNotNull(tx.parameter.value.owner_address), where.owner) + transactions.add(filter, req.include ?? {}) + }) + + dataRequest.transferAssetTransactions?.forEach(req => { + let where = req.where || {} + let filter = new FilterBuilder() + filter.propIn('type', ['TransferAssetContract']) + filter.getIn(tx => assertNotNull(tx.parameter.value.asset_name), where.asset) + filter.getIn(tx => assertNotNull(tx.parameter.value.owner_address), where.owner) + filter.getIn(tx => assertNotNull(tx.parameter.value.to_address), where.to) + transactions.add(filter, req.include ?? {}) + }) + + dataRequest.triggerSmartContractTransactions?.forEach(req => { + let where = req.where || {} + let filter = new FilterBuilder() + filter.propIn('type', ['TriggerSmartContract']) + filter.getIn(tx => assertNotNull(tx.parameter.value.contract_address), where.contract) + filter.getIn(tx => assertNotNull(tx.parameter.value.owner_address), where.owner) + filter.getIn(tx => toSighash(tx.parameter.value.data), where.sighash) + transactions.add(filter, req.include ?? {}) + }) + + return transactions +} + + +function buildInternalTransactionFilter(dataRequest: DataRequest): EntityFilter { + let inputs = new EntityFilter() + + dataRequest.internalTransactions?.forEach(req => { + let where = req.where || {} + let filter = new FilterBuilder() + filter.propIn('callerAddress', where.caller) + filter.propIn('transferToAddress', where.transferTo) + inputs.add(filter, req.include ?? {}) + }) + + return inputs +} + + +const getItemFilter = weakMemo((dataRequest: DataRequest) => { + return { + logs: buildLogFilter(dataRequest), + transactions: buildTransactionFilter(dataRequest), + internalTransaction: buildInternalTransactionFilter(dataRequest), + } +}) + + +export function filterBlock(block: Block, dataRequest: DataRequest): void { + let items = getItemFilter(dataRequest) + + let include = new IncludeSet() + + let transactions = new Map(block.transactions.map(tx => [tx.transactionIndex, tx])) + let internalTxByTx = groupBy(block.internalTransactions, input => input.transactionIndex) + let logsByTx = groupBy(block.logs, log => log.transactionIndex) + + if (items.logs.present()) { + for (let log of block.logs) { + let rel = items.logs.match(log) + if (rel == null) continue + include.addLog(log) + if (rel.transaction) { + let tx = assertNotNull(transactions.get(log.transactionIndex)) + include.addTransaction(tx) + } + } + } + + if (items.transactions.present()) { + for (let tx of block.transactions) { + let rel = items.transactions.match(tx) + if (rel == null) continue + include.addTransaction(tx) + if (rel.logs) { + let logs = assertNotNull(logsByTx.get(tx.transactionIndex)) + for (let log of logs) { + include.addLog(log) + } + } + if (rel.internalTransactions) { + let internalTxs = assertNotNull(internalTxByTx.get(tx.transactionIndex)) + for (let internalTx of internalTxs) { + include.addInternalTransaction(internalTx) + } + } + } + } + + if (items.internalTransaction.present()) { + for (let internalTx of block.internalTransactions) { + let rel = items.internalTransaction.match(internalTx) + if (rel == null) continue + include.addInternalTransaction(internalTx) + if (rel.transaction) { + let tx = assertNotNull(transactions.get(internalTx.transactionIndex)) + include.addTransaction(tx) + } + } + } + + block.logs = block.logs.filter(log => include.logs.has(log)) + block.transactions = block.transactions.filter(tx => include.transactions.has(tx)) + block.internalTransactions = block.internalTransactions.filter(internalTx => { + return include.internalTransactions.has(internalTx) + }) +} + + +export function filterBlockBatch(requests: RangeRequest[], blocks: Block[]): void { + for (let block of blocks) { + let dataRequest = getRequestAt(requests, block.header.height) || NO_DATA_REQUEST + filterBlock(block, dataRequest) + } +} + + +const NO_DATA_REQUEST: DataRequest = {} + + +function toSighash(val?: string) { + if (val && val.length >= 8) { + return val.slice(0, 8) + } +} diff --git a/tron/tron-processor/src/http/source.ts b/tron/tron-processor/src/http/source.ts new file mode 100644 index 000000000..cd54c22d9 --- /dev/null +++ b/tron/tron-processor/src/http/source.ts @@ -0,0 +1,81 @@ +import {mapRangeRequestList, RangeRequestList} from '@subsquid/util-internal-range' +import * as base from '@subsquid/tron-data' +import {mapBlock} from '@subsquid/tron-normalization' +import {Batch, HotDatabaseState, HotDataSource, HotUpdate} from '@subsquid/util-internal-processor-tools' +import {DataRequest} from '../data/data-request' +import {filterBlockBatch} from './filter' +import {Block} from '../mapping/entities' +import {setUpRelations} from '../mapping/relations' + + +export class HttpDataSource implements HotDataSource { + constructor(private baseDataSource: base.HttpDataSource) {} + + async getFinalizedHeight(): Promise { + return this.baseDataSource.getFinalizedHeight() + } + + async getBlockHash(height: number): Promise { + let header = await this.baseDataSource.getBlockHeader(height) + return header?.blockID + } + + async *getFinalizedBlocks( + requests: RangeRequestList, + stopOnHead?: boolean + ): AsyncIterable> { + for await (let batch of this.baseDataSource.getFinalizedBlocks( + mapRangeRequestList(requests, toRawDataRequest), + stopOnHead + )) { + let blocks = batch.blocks.map(b => mapBlock(b)) + filterBlockBatch(requests, blocks) + yield { + ...batch, + blocks: blocks.map(b => { + let block = Block.fromPartial(b) + setUpRelations(block) + return block + }) + } + } + } + + async processHotBlocks( + requests: RangeRequestList, + state: HotDatabaseState, + cb: (upd: HotUpdate) => Promise + ): Promise { + return this.baseDataSource.processHotBlocks( + mapRangeRequestList(requests, toRawDataRequest), + state, + upd => { + let blocks = upd.blocks.map(b => mapBlock(b)) + filterBlockBatch(requests, blocks) + return cb({...upd, blocks: blocks.map(b => { + let block = Block.fromPartial(b) + setUpRelations(block) + return block + })}) + } + ) + } +} + + +function toRawDataRequest(req: DataRequest): base.DataRequest { + return { + transactions: !!req.transactions?.length || + !!req.logs?.length || + !!req.internalTransactions?.length || + !!req.transferTransactions?.length || + !!req.transferAssetTransactions?.length || + !!req.triggerSmartContractTransactions?.length, + transactionsInfo: !!req.logs?.length || + !!req.internalTransactions?.length || + !!req.transactions?.some(req => req.include?.internalTransactions || req.include?.logs) || + !!req.transferTransactions?.some(req => req.include?.internalTransactions || req.include?.logs) || + !!req.transferAssetTransactions?.some(req => req.include?.internalTransactions || req.include?.logs) || + !!req.triggerSmartContractTransactions?.some(req => req.include?.internalTransactions || req.include?.logs) + } +} diff --git a/tron/tron-processor/src/index.ts b/tron/tron-processor/src/index.ts new file mode 100644 index 000000000..59741d6f9 --- /dev/null +++ b/tron/tron-processor/src/index.ts @@ -0,0 +1,2 @@ +export * from './processor' +export * from './data/model' diff --git a/tron/tron-processor/src/mapping/entities.ts b/tron/tron-processor/src/mapping/entities.ts new file mode 100644 index 000000000..222ae1dbb --- /dev/null +++ b/tron/tron-processor/src/mapping/entities.ts @@ -0,0 +1,189 @@ +import * as tools from '@subsquid/util-internal-processor-tools' +import { + PartialBlock, + PartialBlockHeader, + PartialLog, + PartialTransaction, + PartialInternalTransaction +} from '../data/data-partial' + + +export class Block { + constructor(public header: BlockHeader) {} + + transactions: Transaction[] = [] + logs: Log[] = [] + internalTransactions: InternalTransaction[] = [] + + static fromPartial(src: PartialBlock): Block { + let block = new Block(new BlockHeader(src.header)) + + if (src.transactions) { + block.transactions = src.transactions.map(i => new Transaction(block.header, i)) + } + + if (src.logs) { + block.logs = src.logs.map(i => new Log(block.header, i)) + } + + if (src.internalTransactions) { + block.internalTransactions = src.internalTransactions.map(i => { + return new InternalTransaction(block.header, i) + }) + } + + return block + } +} + + +export class BlockHeader implements PartialBlockHeader { + id: string + height: number + hash: string + parentHash: string + + constructor(header: PartialBlockHeader) { + this.id = formatId(header) + this.height = header.height + this.hash = header.hash + this.parentHash = header.parentHash + Object.assign(this, header) + } +} + + +export class Transaction implements PartialTransaction { + id: string + transactionIndex: number + #block: BlockHeader + #logs?: Log[] + #internalTransactions?: InternalTransaction[] + + constructor(block: BlockHeader, tx: PartialTransaction) { + this.id = formatId(block, tx.transactionIndex) + this.transactionIndex = tx.transactionIndex + this.#block = block + Object.assign(this, tx) + } + + get block(): BlockHeader { + return this.#block + } + + set block(value: BlockHeader) { + this.#block = value + } + + get logs(): Log[] { + if (this.#logs == null) { + this.#logs = [] + } + return this.#logs + } + + set logs(value: Log[]) { + this.#logs = value + } + + get internalTransactions(): InternalTransaction[] { + if (this.#internalTransactions == null) { + this.#internalTransactions = [] + } + return this.#internalTransactions + } + + set internalTransactions(value: InternalTransaction[]) { + this.#internalTransactions = value + } +} + + +export class Log implements PartialLog { + id: string + logIndex: number + transactionIndex: number + #block: BlockHeader + #transaction?: Transaction + + constructor(block: BlockHeader, i: PartialLog) { + this.#block = block + this.id = formatId(block, i.transactionIndex, i.logIndex) + this.logIndex = i.logIndex + this.transactionIndex = i.transactionIndex + Object.assign(this, i) + } + + get block(): BlockHeader { + return this.#block + } + + set block(value: BlockHeader) { + this.#block = value + } + + get transaction(): Transaction | undefined { + return this.#transaction + } + + set transaction(value: Transaction | undefined) { + this.#transaction = value + } + + getTransaction(): Transaction { + if (this.#transaction == null) { + throw new Error(`Transaction is not set on log ${this.id}`) + } else { + return this.#transaction + } + } +} + + +export class InternalTransaction implements PartialInternalTransaction { + id: string + internalTransactionIndex: number + transactionIndex: number + #block: BlockHeader + #transaction?: Transaction + + constructor(block: BlockHeader, src: PartialInternalTransaction) { + this.#block = block + this.id = formatId(block, src.transactionIndex, src.internalTransactionIndex) + this.internalTransactionIndex = src.internalTransactionIndex + this.transactionIndex = src.transactionIndex + Object.assign(this, src) + } + + get block(): BlockHeader { + return this.#block + } + + set block(value: BlockHeader) { + this.#block = value + } + + get transaction(): Transaction | undefined { + return this.#transaction + } + + set transaction(value: Transaction | undefined) { + this.#transaction = value + } + + getTransaction(): Transaction { + if (this.#transaction == null) { + throw new Error(`Transaction is not set on internal transaction ${this.id}`) + } else { + return this.#transaction + } + } +} + + +function formatId(block: tools.HashAndHeight, ...address: number[]): string { + // skip first 8 bytes containing block number + let hash = block.hash.slice(16) + let height = block.height + return tools.formatId({height, hash}, ...address) +} diff --git a/tron/tron-processor/src/mapping/relations.ts b/tron/tron-processor/src/mapping/relations.ts new file mode 100644 index 000000000..f811c8e4a --- /dev/null +++ b/tron/tron-processor/src/mapping/relations.ts @@ -0,0 +1,32 @@ +import {maybeLast} from '@subsquid/util-internal' +import {Block, Transaction} from './entities' + + +export function setUpRelations(block: Block): void { + block.transactions.sort((a, b) => a.transactionIndex - b.transactionIndex) + block.logs.sort((a, b) => a.transactionIndex - b.transactionIndex || a.logIndex - b.logIndex) + block.internalTransactions.sort((a, b) => { + return a.transactionIndex - b.transactionIndex || a.internalTransactionIndex - b.internalTransactionIndex + }) + + let txs: (Transaction | undefined)[] = new Array((maybeLast(block.transactions)?.transactionIndex ?? -1) + 1) + for (let tx of block.transactions) { + txs[tx.transactionIndex] = tx + } + + for (let log of block.logs) { + let tx = txs[log.transactionIndex] + if (tx) { + log.transaction = tx + tx.logs.push(log) + } + } + + for (let internalTx of block.internalTransactions) { + let tx = txs[internalTx.transactionIndex] + if (tx) { + internalTx.transaction = tx + tx.internalTransactions.push(internalTx) + } + } +} diff --git a/tron/tron-processor/src/processor.ts b/tron/tron-processor/src/processor.ts new file mode 100644 index 000000000..5699fbe48 --- /dev/null +++ b/tron/tron-processor/src/processor.ts @@ -0,0 +1,366 @@ +import {HttpAgent, HttpClient} from '@subsquid/http-client' +import {createLogger, Logger} from '@subsquid/logger' +import {assertNotNull, def, runProgram} from '@subsquid/util-internal' +import {applyRangeBound, mergeRangeRequests, Range, RangeRequest} from '@subsquid/util-internal-range' +import {ArchiveClient} from '@subsquid/util-internal-archive-client' +import { + Batch, + Database, + getOrGenerateSquidId, + PrometheusServer, + Runner +} from '@subsquid/util-internal-processor-tools' +import * as base from '@subsquid/tron-data' +import assert from 'assert' +import {HttpDataSource} from './http/source' +import {TronGateway} from './gateway/source' +import {Block, FieldSelection} from './data/model' +import {getFields} from './data/fields' +import { + TransactionRequest, + TriggerSmartContractTransactionRequest, + DataRequest, + TransferAssetTransactionRequest, + LogRequest, + TransferTransactionRequest, + InternalTransactionRequest +} from './data/data-request' + + +export interface HttpApiSettings { + /** + * HTTP API endpoint URL + */ + url: string + /** + * Maximum number of concurrent `blocks` queries. + * + * Default is `2` + */ + strideConcurrency?: number + /** + * `blocks` query size. + * + * Default is `10`. + */ + strideSize?: number + /** + * Poll interval for new blocks in `ms` + * + * Poll mechanism is used to get new blocks via HTTP connection. + */ + headPollInterval?: number +} + + +export interface GatewaySettings { + /** + * Subsquid Network Gateway url + */ + url: string + /** + * Request timeout in ms + */ + requestTimeout?: number +} + + +interface BlockRange { + range?: Range +} + + +export interface DataHandlerContext { + log: Logger + store: Store + blocks: Block[] + /** + * Signals, that the processor reached the head of a chain. + * + * The head block is always included in `.blocks`. + */ + isHead: boolean +} + + +export type TronBatchProcessorFields = T extends TronBatchProcessor ? F : never + + +/** + * Provides methods to configure and launch data processing. + */ +export class TronBatchProcessor { + private requests: RangeRequest[] = [] + private fields?: FieldSelection + private blockRange?: Range + private gateway?: GatewaySettings + private httpApi?: HttpApiSettings + private prometheus = new PrometheusServer() + private running = false + + /** + * Set Subsquid Network Gateway endpoint (ex Archive). + * + * Subsquid Network allows to get data from finalized blocks up to + * infinite times faster and more efficient than via regular HTTP API. + * + * @example + * source.setGateway('https://v2.archive.subsquid.io/network/tron-mainnet') + */ + setGateway(url: string | GatewaySettings): this { + this.assertNotRunning() + if (typeof url == 'string') { + this.gateway = {url} + } else { + this.gateway = url + } + return this + } + + /** + * Set up HTTP API data ingestion + */ + setHttpApi(settings?: HttpApiSettings): this { + this.assertNotRunning() + this.httpApi = settings + return this + } + + private add(request: DataRequest, range?: Range): void { + this.requests.push({ + range: range || {from: 0}, + request + }) + } + + /** + * Configure a set of fetched fields + */ + setFields(fields: T): TronBatchProcessor { + this.assertNotRunning() + this.fields = fields + return this as any + } + + addLog(options: LogRequest & BlockRange): this { + this.assertNotRunning() + this.add({logs: [options]}, options.range) + return this + } + + addTransaction(options: TransactionRequest & BlockRange): this { + this.assertNotRunning() + this.add({transactions: [options]}, options.range) + return this + } + + addTransferTransaction(options: TransferTransactionRequest & BlockRange): this { + this.assertNotRunning() + this.add({transferTransactions: [options]}, options.range) + return this + } + + addTransferAssetTransaction(options: TransferAssetTransactionRequest & BlockRange): this { + this.assertNotRunning() + this.add({transferAssetTransactions: [options]}, options.range) + return this + } + + addTriggerSmartContractTransaction(options: TriggerSmartContractTransactionRequest & BlockRange): this { + this.assertNotRunning() + this.add({triggerSmartContractTransactions: [options]}, options.range) + return this + } + + addInternalTransaction(options: InternalTransactionRequest & BlockRange): this { + this.assertNotRunning() + this.add({internalTransactions: [options]}, options.range) + return this + } + + /** + * By default, the processor will fetch only blocks + * which contain requested items. This method + * modifies such behaviour to fetch all chain blocks. + * + * Optionally a range of blocks can be specified + * for which the setting should be effective. + */ + includeAllBlocks(range?: Range): this { + this.assertNotRunning() + this.add({includeAllBlocks: true}, range) + return this + } + + /** + * Limits the range of blocks to be processed. + * + * When the upper bound is specified, + * the processor will terminate with exit code 0 once it reaches it. + */ + setBlockRange(range?: Range): this { + this.assertNotRunning() + this.blockRange = range + return this + } + + /** + * Sets the port for a built-in prometheus metrics server. + * + * By default, the value of `PROMETHEUS_PORT` environment + * variable is used. When it is not set, + * the processor will pick up an ephemeral port. + */ + setPrometheusPort(port: number | string): this { + this.assertNotRunning() + this.prometheus.setPort(port) + return this + } + + private assertNotRunning(): void { + if (this.running) { + throw new Error('Settings modifications are not allowed after start of processing') + } + } + + @def + private getSquidId(): string { + return getOrGenerateSquidId() + } + + @def + private getHttpDataSource(): HttpDataSource { + assert(this.httpApi) + let client = new base.TronHttpClient({ + baseUrl: this.httpApi.url, + retryAttempts: Number.MAX_SAFE_INTEGER + }) + let dataSource = new base.HttpDataSource({ + httpApi: new base.HttpApi(client), + strideConcurrency: this.httpApi.strideConcurrency, + strideSize: this.httpApi.strideSize, + headPollInterval: this.httpApi.headPollInterval, + }) + return new HttpDataSource(dataSource) + } + + @def + private getGatewayDataSource(): TronGateway { + let gateway = assertNotNull(this.gateway) + + let log = this.getLogger().child('gateway') + + let http = new HttpClient({ + headers: { + 'x-squid-id': this.getSquidId() + }, + agent: new HttpAgent({ + keepAlive: true + }), + log + }) + + return new TronGateway( + new ArchiveClient({ + http, + url: gateway.url, + queryTimeout: gateway.requestTimeout, + log + }), + ) + } + + @def + private getLogger(): Logger { + return createLogger('sqd:processor') + } + + @def + private getBatchRequests(): RangeRequest[] { + function concat(a?: T[], b?: T[]): T[] | undefined { + let result: T[] = [] + if (a) { + result.push(...a) + } + if (b) { + result.push(...b) + } + return result.length == 0 ? undefined : result + } + + let requests = mergeRangeRequests(this.requests, (a, b) => { + return { + includeAllBlocks: a.includeAllBlocks || b.includeAllBlocks, + logs: concat(a.logs, b.logs), + transactions: concat(a.transactions, b.transactions), + transferTransactions: concat(a.transferTransactions, b.transferTransactions), + transferAssetTransactions: concat(a.transferAssetTransactions, b.transferAssetTransactions), + triggerSmartContractTransactions: concat(a.triggerSmartContractTransactions, b.triggerSmartContractTransactions), + internalTransactions: concat(a.internalTransactions, b.internalTransactions) + } + }) + + let fields = getFields(this.fields) + + requests = requests.map(({range, request}) => { + return { + range, + request: { + fields, + ...request + } + } + }) + + return applyRangeBound(requests, this.blockRange) + } + + private processBatch( + store: Store, + batch: Batch>, + handler: (ctx: DataHandlerContext) => Promise + ): Promise { + return handler({ + log: this.getLogger().child('mapping'), + store, + blocks: batch.blocks, + isHead: batch.isHead, + }) + } + + /** + * Run data processing. + * + * This method assumes full control over the current OS process as + * it terminates the entire program in case of error or + * at the end of data processing. + * + * @param database - database is responsible for providing storage to the data handler + * and persisting mapping progress and status. + * + * @param handler - The data handler, see {@link DataHandlerContext} for an API available to the handler. + */ + run(database: Database, handler: (ctx: DataHandlerContext) => Promise): void { + this.assertNotRunning() + this.running = true + let log = this.getLogger() + runProgram(async () => { + if (this.gateway == null && this.httpApi == null) { + throw new Error( + 'No data source where specified. ' + + 'Use .setGateway() to specify Subsquid Network Gateway and/or .setHttpApi() to specify HTTP API endpoint.' + ) + } + + return new Runner({ + database, + requests: this.getBatchRequests(), + archive: this.gateway == null ? undefined : this.getGatewayDataSource(), + hotDataSource: this.httpApi == null ? undefined : this.getHttpDataSource(), + process: (s, b) => this.processBatch(s, b as any, handler), + prometheus: this.prometheus, + log + }).run() + }, err => log.fatal(err)) + } +} diff --git a/tron/tron-processor/tsconfig.json b/tron/tron-processor/tsconfig.json new file mode 100644 index 000000000..deee9f66b --- /dev/null +++ b/tron/tron-processor/tsconfig.json @@ -0,0 +1,21 @@ +{ + "compilerOptions": { + "module": "commonjs", + "target": "es2020", + "outDir": "lib", + "rootDir": "src", + "allowJs": true, + "strict": true, + "declaration": true, + "declarationMap": true, + "sourceMap": true, + "esModuleInterop": true, + "experimentalDecorators": true, + "emitDecoratorMetadata": true, + "skipLibCheck": true + }, + "include": ["src"], + "exclude": [ + "node_modules" + ] +} diff --git a/util/util-internal-archive-layout/src/util.ts b/util/util-internal-archive-layout/src/util.ts index 511603763..fffec378b 100644 --- a/util/util-internal-archive-layout/src/util.ts +++ b/util/util-internal-archive-layout/src/util.ts @@ -1,9 +1,5 @@ export function getShortHash(hash: string): string { - if (hash.startsWith('0x')) { - return hash.slice(2, 8) - } else { - return hash.slice(0, 5) - } + return hash.slice(-5) } diff --git a/util/util-internal-dump-cli/src/dumper.ts b/util/util-internal-dump-cli/src/dumper.ts index fab11b50c..5a9ae3394 100644 --- a/util/util-internal-dump-cli/src/dumper.ts +++ b/util/util-internal-dump-cli/src/dumper.ts @@ -165,10 +165,13 @@ export abstract class Dumper