From d10ccb304851cd078a38e97d89ea0ce960de88be Mon Sep 17 00:00:00 2001 From: cornholio <0@mcornholio.ru> Date: Mon, 11 Mar 2024 11:25:25 +0100 Subject: [PATCH] Using PAPI for e2e tests * At first, e2e types were generated on postinstall and prebuild steps, but that required metadata to be available in Docker image, even though it's not technically used in the application code. Making e2e types generation a manual step together with excluding tests code from Docker image solved it better. * .scale metadata files from Zombienet hosts saved in the codebase, in order to be able to compile the code separately from running Zombienet * Upgraded both Zombienet and Polkadot in the CI, as well as the docs for e2e tests. * Used persistent path for zombienet nodes' logs, and printing them in CI in case of a failure. --- .dockerignore | 3 + .github/workflows/E2E.yml | 25 +- .gitignore | 2 + .gitlab-ci.yml | 1 + e2e/README.md | 13 +- e2e/parachain.scale | Bin 0 -> 107509 bytes e2e/polkadot-api-e2e.json | 12 + e2e/relaychain.scale | Bin 0 -> 307592 bytes package.json | 8 +- src/faucet.e2e.ts | 104 +++---- yarn.lock | 573 +++++++++++++++++++++++++++++++++++++- 11 files changed, 673 insertions(+), 68 deletions(-) create mode 100644 e2e/parachain.scale create mode 100644 e2e/polkadot-api-e2e.json create mode 100644 e2e/relaychain.scale diff --git a/.dockerignore b/.dockerignore index 3c45284a..cd85fc7d 100644 --- a/.dockerignore +++ b/.dockerignore @@ -7,3 +7,6 @@ !tsconfig.json !env.*.config.json !src + +/src/**/*.e2e.ts +/src/**/*.spec.ts diff --git a/.github/workflows/E2E.yml b/.github/workflows/E2E.yml index df2981d9..9de3eed6 100644 --- a/.github/workflows/E2E.yml +++ b/.github/workflows/E2E.yml @@ -19,26 +19,41 @@ jobs: - run: yarn install --frozen-lockfile - name: Download Polkadot and parachain binaries run: | - wget --no-verbose https://github.com/paritytech/cumulus/releases/download/v0.9.420/polkadot-parachain - wget --no-verbose https://github.com/paritytech/polkadot/releases/download/v0.9.42/polkadot + wget --no-verbose https://github.com/paritytech/polkadot-sdk/releases/download/polkadot-v1.8.0/polkadot + wget --no-verbose https://github.com/paritytech/polkadot-sdk/releases/download/polkadot-v1.8.0/polkadot-parachain + wget --no-verbose https://github.com/paritytech/polkadot-sdk/releases/download/polkadot-v1.8.0/polkadot-prepare-worker + wget --no-verbose https://github.com/paritytech/polkadot-sdk/releases/download/polkadot-v1.8.0/polkadot-execute-worker chmod +x ./polkadot* working-directory: e2e - name: Run a local relaychain with a parachain using zombienet run: | export PATH=$(pwd):$PATH - npx --yes @zombienet/cli@1.3.43 \ - --provider native spawn zombienet.native.toml \ + npx --yes @zombienet/cli@1.3.93 \ + --provider native \ + --dir zombienet_logs \ + spawn zombienet.native.toml \ > polkadot.txt 2>&1 & source wait_until.sh 'curl -s "127.0.0.1:9933"' source wait_until.sh 'curl -s "127.0.0.1:9934"' working-directory: e2e + - name: Build e2e types + run: yarn generate:papi:e2e - name: Build faucet run: yarn build:docker - name: Run the E2E tests run: yarn test:e2e - - name: Debug Polkadot logs + - name: Debug Zombienet host logs if: failure() run: cat e2e/polkadot.txt + - name: Debug Zombienet alice node logs + if: failure() + run: cat e2e/zombienet_logs/alice.log + - name: Debug Zombienet bob node logs + if: failure() + run: cat e2e/zombienet_logs/bob.log + - name: Debug Zombienet alice-1 node logs + if: failure() + run: cat e2e/zombienet_logs/alice-1.log - name: Debug Matrix logs if: failure() run: cat e2e/containter_logs/faucet-test-matrix.log diff --git a/.gitignore b/.gitignore index 30d4c2d5..2876bf81 100644 --- a/.gitignore +++ b/.gitignore @@ -5,9 +5,11 @@ storage.db sqlite.db build e2e/containter_logs +e2e/zombienet_logs # Autogenerated env.*.config.json.d.ts !.env.example /data +/src/test/codegen diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 6b9e8dbf..6250a550 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -101,6 +101,7 @@ check-linting: <<: *kubernetes-env script: - yarn --frozen-lockfile + - yarn generate:papi:e2e - cd client && yarn --frozen-lockfile && cd .. - yarn typecheck && yarn format && yarn lint diff --git a/e2e/README.md b/e2e/README.md index b10b9b2f..a7ff3dec 100644 --- a/e2e/README.md +++ b/e2e/README.md @@ -81,7 +81,7 @@ command -v polkadot-parachain || echo "No polkadot-parachain in PATH" Next, in the root of this repository, start the Zombienet: ```bash -npx --yes @zombienet/cli@1.3.93 --provider native spawn e2e/zombienet.native.toml +npx --yes @zombienet/cli@1.3.93 --provider native --dir e2e/zombienet_logs spawn e2e/zombienet.native.toml ``` Verify that it's working correctly by opening the [relaychain](https://polkadot.js.org/apps/?rpc=ws://127.0.0.1:9933#/explorer) and [parachain](https://polkadot.js.org/apps/?rpc=ws://127.0.0.1:9934#/explorer) explorers, @@ -103,7 +103,15 @@ curl localhost:9934 yarn build:docker ``` -4. Run the tests +4. Generate PAPI types for e2e tests + +```bash +yarn generate:papi:e2e +``` + +These types are generated based on `.scale` files in `e2e/` directory. To regenerate these files using live zombienet nodes, use `papi update --config e2e/polkadot-api-e2e.json` command. + +5. Run the tests ```bash yarn test:e2e @@ -111,6 +119,7 @@ yarn test:e2e Logs of the application container will be avaiable at `e2e/containter_logs/faucet-test-app.log` Logs of matrix container will be avaiable at `e2e/containter_logs/faucet-test-matrix.log` +Logs of zombienet nodes will be available at `e2e/zombienet_logs/` The whole suite of tests can take tens of seconds, because it depends on the blockchain to mine blocks and execute the XCM teleportation process. diff --git a/e2e/parachain.scale b/e2e/parachain.scale new file mode 100644 index 0000000000000000000000000000000000000000..fc4dbe5ced00c163e8ebee191dacf3a4322a921d GIT binary patch literal 107509 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�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
    wm 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 X@fV4E4Tb;);Jz1Qr}LSYhO_?*D env.faucet.config.json.d.ts", + "generate:papi:e2e": "papi generate --config e2e/polkadot-api-e2e.json", "lint": "eslint ./src/ ./client/src ./client/tests --ext .js,.ts,.svelte", "lint:fix": "eslint ./src/ ./client/src ./client/tests --ext .js,.ts,.svelte --fix", "migrations:generate": "typeorm-ts-node-commonjs migration:generate -d src/db/dataSource.ts", @@ -21,7 +22,7 @@ "prepare": "ts-patch install -s", "start": "node ./build/src/start.js", "test": "jest", - "test:e2e": "NODE_OPTIONS='--experimental-vm-modules --es-module-specifier-resolution=node' jest -c jest.e2e.config.js --runInBand", + "test:e2e": "NODE_OPTIONS='--experimental-vm-modules --es-module-specifier-resolution=node' jest -c jest.e2e.config.js --runInBand --forceExit", "typecheck": "tsc --noEmit" }, "author": "", @@ -49,6 +50,10 @@ }, "dependencies": { "@eng-automation/js": "^1.0.3", + "@polkadot-api/cli": "^0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0", + "@polkadot-api/client": "^0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0", + "@polkadot-api/node-polkadot-provider": "^0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0", + "@polkadot-api/ws-provider": "^0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0", "@polkadot/api": "^10.10.1", "@polkadot/keyring": "^12.5.1", "@polkadot/util": "^12.5.1", @@ -83,6 +88,7 @@ "joi": "^17.6.4", "lint-staged": "^12.3.8", "nodemon": "^2.0.19", + "rxjs": "^7.8.1", "simple-git-hooks": "^2.7.0", "supertest": "^6.3.3", "testcontainers": "^9.9.1", diff --git a/src/faucet.e2e.ts b/src/faucet.e2e.ts index 47751a09..372ec81d 100644 --- a/src/faucet.e2e.ts +++ b/src/faucet.e2e.ts @@ -1,20 +1,21 @@ import { until, validatedFetch } from "@eng-automation/js"; -import { ApiPromise } from "@polkadot/api"; -import { createTestKeyring } from "@polkadot/keyring"; -import { WsProvider } from "@polkadot/rpc-provider"; -import { BN } from "@polkadot/util"; -import { randomAsU8a } from "@polkadot/util-crypto"; +import { AccountId, createClient } from "@polkadot-api/client"; +import { getChain } from "@polkadot-api/node-polkadot-provider"; +import { WebSocketProvider } from "@polkadot-api/ws-provider/node"; import crypto from "crypto"; import Joi from "joi"; +import { filter, firstValueFrom, mergeMap, pairwise, race, skipWhile, throwError } from "rxjs"; import { Repository } from "typeorm"; import { Drip } from "src/db/entity/Drip"; +import parachainDescriptors from "src/test/codegen/parachain"; +import relaychainDescriptors from "src/test/codegen/relaychain"; import { drip } from "src/test/webhookHelpers"; import { getLatestMessage, postMessage } from "./test/matrixHelpers"; import { destroyDataSource, E2ESetup, getDataSource, setup, teardown } from "./test/setupE2E"; -const randomAddress = () => createTestKeyring().addFromSeed(randomAsU8a(32)).address; +const randomAddress = () => AccountId().dec(crypto.randomBytes(32)); const sha256 = (x: string) => crypto.createHash("sha256").update(x, "utf8").digest("hex"); describe("Faucet E2E", () => { @@ -26,21 +27,37 @@ describe("Faucet E2E", () => { let e2eSetup: E2ESetup; let dripRepository: Repository; - const polkadotApi = new ApiPromise({ - // Zombienet relaychain node. - provider: new WsProvider("ws://127.0.0.1:9933"), - types: { Address: "AccountId", LookupSource: "AccountId" }, - }); - - const parachainApi = new ApiPromise({ - // Zombienet parachain node. - provider: new WsProvider("ws://127.0.0.1:9934"), - types: { Address: "AccountId", LookupSource: "AccountId" }, - }); - - const getUserBalance = async (userAddress: string, api: ApiPromise = polkadotApi) => { - const { data } = await api.query.system.account(userAddress); - return data.free.toBn(); + const relaychainClient = createClient( + getChain({ + provider: WebSocketProvider("ws://127.0.0.1:9933"), + keyring: [], + }), + ); + const relayChainApi = relaychainClient.getTypedApi(relaychainDescriptors); + + const parachainClient = createClient( + getChain({ + provider: WebSocketProvider("ws://127.0.0.1:9934"), + keyring: [], + }), + ); + + const parachainApi = parachainClient.getTypedApi(parachainDescriptors); + + type SomeApi = typeof relayChainApi | typeof parachainApi; + + const expectBalanceIncrease = async (useraddress: string, api: SomeApi, blocksNum: number) => { + const startBlock = await api.query.System.Number.getValue({ at: "best" }); + return await firstValueFrom( + race([ + api.query.System.Account.watchValue(useraddress, "best") + .pipe(pairwise()) + .pipe(filter(([oldValue, newValue]) => newValue.data.free > oldValue.data.free)), + api.query.System.Number.watchValue("best") + .pipe(skipWhile((blockNumber) => blockNumber - startBlock < blocksNum)) + .pipe(mergeMap(() => throwError(() => new Error(`Balance did not increase in ${blocksNum} blocks`)))), + ]), + ); }; beforeAll(async () => { @@ -50,11 +67,6 @@ describe("Faucet E2E", () => { matrixUrl = e2eSetup.matrixSetup.matrixUrl; webEndpoint = e2eSetup.webEndpoint; - await polkadotApi.isReady; - await parachainApi.isReady; - - console.log("Zombienet: done"); - const AppDataSource = await getDataSource(); dripRepository = AppDataSource.getRepository(Drip); @@ -62,8 +74,8 @@ describe("Faucet E2E", () => { }, 100_000); afterAll(async () => { - await polkadotApi.disconnect(); - await parachainApi.disconnect(); + relaychainClient.destroy(); + parachainClient.destroy(); await destroyDataSource(); if (e2eSetup) teardown(e2eSetup); }); @@ -91,7 +103,6 @@ describe("Faucet E2E", () => { test("The bot drips to a given address", async () => { const userAddress = randomAddress(); - const initialBalance = await getUserBalance(userAddress); await postMessage(matrixUrl, { roomId, accessToken: userAccessToken, body: `!drip ${userAddress}` }); @@ -104,17 +115,11 @@ describe("Faucet E2E", () => { ); const botMessage = await getLatestMessage(matrixUrl, { roomId, accessToken: userAccessToken }); expect(botMessage.body).toContain("Sent @user:parity.io 10 UNITs."); - await until( - async () => (await getUserBalance(userAddress)).gt(initialBalance), - 1000, - 15, - "balance did not increase.", - ); + await expectBalanceIncrease(userAddress, relayChainApi, 3); }); test("The bot teleports to a given address", async () => { const userAddress = randomAddress(); - const initialBalance = await getUserBalance(userAddress, parachainApi); await postMessage(matrixUrl, { roomId, @@ -131,13 +136,7 @@ describe("Faucet E2E", () => { ); const botMessage = await getLatestMessage(matrixUrl, { roomId, accessToken: userAccessToken }); expect(botMessage.body).toContain("Sent @user:parity.io 10 UNITs."); - - await until( - async () => (await getUserBalance(userAddress, parachainApi)).gt(initialBalance), - 1000, - 40, - "balance did not increase.", - ); + await expectBalanceIncrease(userAddress, parachainApi, 3); }); test("The bot fails on invalid chain id", async () => { @@ -178,37 +177,26 @@ describe("Faucet E2E", () => { }>(`${webEndpoint}/balance`, Joi.object({ balance: Joi.string() }), {}); expect("balance" in result).toBeTruthy(); - expect(new BN(result.balance).gtn(0)).toBeTruthy(); + expect(BigInt(result.balance) > 0n).toBeTruthy(); }); test("The web endpoint drips to a given address", async () => { const userAddress = randomAddress(); - const initialBalance = await getUserBalance(userAddress); const result = await drip(webEndpoint, userAddress); expect(result.hash).toBeTruthy(); - await until( - async () => (await getUserBalance(userAddress)).gt(initialBalance), - 500, - 15, - "balance did not increase.", - ); + await expectBalanceIncrease(userAddress, relayChainApi, 3); }); test("The web endpoint teleports to a given address", async () => { const userAddress = randomAddress(); - const initialBalance = await getUserBalance(userAddress, parachainApi); const result = await drip(webEndpoint, userAddress, "1000"); expect(result.hash).toBeTruthy(); - await until( - async () => (await getUserBalance(userAddress, parachainApi)).gt(initialBalance), - 1000, - 40, - "balance did not increase.", - ); + + await expectBalanceIncrease(userAddress, parachainApi, 3); }); test("The web endpoint fails on wrong parachain", async () => { diff --git a/yarn.lock b/yarn.lock index 8312f01a..e1d8c926 100644 --- a/yarn.lock +++ b/yarn.lock @@ -29,6 +29,14 @@ dependencies: "@babel/highlight" "^7.18.6" +"@babel/code-frame@^7.21.4": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.23.5.tgz#9009b69a8c602293476ad598ff53e4562e15c244" + integrity sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA== + dependencies: + "@babel/highlight" "^7.23.4" + chalk "^2.4.2" + "@babel/code-frame@^7.22.13": version "7.22.13" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.22.13.tgz#e3c1c099402598483b7a8c46a721d1038803755e" @@ -337,6 +345,15 @@ chalk "^2.4.2" js-tokens "^4.0.0" +"@babel/highlight@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.23.4.tgz#edaadf4d8232e1a961432db785091207ead0621b" + integrity sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A== + dependencies: + "@babel/helper-validator-identifier" "^7.22.20" + chalk "^2.4.2" + js-tokens "^4.0.0" + "@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.17.9": version "7.17.9" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.9.tgz#9c94189a6062f0291418ca021077983058e171ef" @@ -543,6 +560,11 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== +"@commander-js/extra-typings@^12.0.1": + version "12.0.1" + resolved "https://registry.yarnpkg.com/@commander-js/extra-typings/-/extra-typings-12.0.1.tgz#4a74a9ccf1d19ef24e71df59359c6d90a605a469" + integrity sha512-OvkMobb1eMqOCuJdbuSin/KJkkZr7n24/UNV+Lcz/0Dhepf3r2p9PaGwpRpAWej7A+gQnny4h8mGhpFl4giKkg== + "@cspotcode/source-map-support@^0.8.0": version "0.8.1" resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" @@ -958,6 +980,11 @@ resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.2.tgz#6f26dbc8fbc7205873ce3cee2f690eba0d421b39" integrity sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ== +"@noble/hashes@^1.3.1": + version "1.3.3" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.3.tgz#39908da56a4adc270147bb07968bf3b16cfe1699" + integrity sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA== + "@nodelib/fs.scandir@2.1.5": version "2.1.5" resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" @@ -991,6 +1018,189 @@ picocolors "^1.0.0" tslib "^2.6.0" +"@polkadot-api/cli@^0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0": + version "0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0" + resolved "https://registry.yarnpkg.com/@polkadot-api/cli/-/cli-0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0.tgz#c70e171e4c5e4eaaad755ae13a585e1e52bf8ac5" + integrity sha512-2C1anN4lAM1ex71DXAcb8TyJpByq3nBLg4mZmLS3n1yRGX1bseM10689jujxyfnytO5T8sNrnsEdqucsvX6xlA== + dependencies: + "@commander-js/extra-typings" "^12.0.1" + "@polkadot-api/client" "0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0" + "@polkadot-api/codegen" "0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0" + "@polkadot-api/json-rpc-provider" "0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0" + "@polkadot-api/json-rpc-provider-proxy" "0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0" + "@polkadot-api/metadata-builders" "0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0" + "@polkadot-api/sc-provider" "0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0" + "@polkadot-api/substrate-bindings" "0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0" + "@polkadot-api/substrate-client" "0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0" + "@polkadot-api/utils" "0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0" + "@polkadot-api/ws-provider" "0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0" + "@substrate/connect" "^0.7.32" + "@types/node" "^20.9.0" + commander "^11.0.0" + fs.promises.exists "^1.1.4" + ora "^7.0.1" + read-pkg "^8.1.0" + rxjs "^7.8.1" + scale-ts "^1.4.2" + tsc-prog "^2.3.0" + typescript "^5.3.2" + write-pkg "^6.0.0" + ws "^8.14.2" + +"@polkadot-api/client@0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0", "@polkadot-api/client@^0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0": + version "0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0" + resolved "https://registry.yarnpkg.com/@polkadot-api/client/-/client-0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0.tgz#c6d152b3006a3201e1d45f405453c8258f0505c1" + integrity sha512-dm6O4++7fIRd5VT3vvziqt6jE9b9cmj7qHdVS72qlOgUbqVTLkVLTQC14ZsO8hNQJjpMBk2izZMTRppgYxZHuw== + dependencies: + "@polkadot-api/metadata-builders" "0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0" + "@polkadot-api/substrate-bindings" "0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0" + "@polkadot-api/substrate-client" "0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0" + "@polkadot-api/utils" "0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0" + +"@polkadot-api/client@0.0.1-12c4b0432a814086c3c1a3b8052b31c72c2c9ad3.1.0": + version "0.0.1-12c4b0432a814086c3c1a3b8052b31c72c2c9ad3.1.0" + resolved "https://registry.yarnpkg.com/@polkadot-api/client/-/client-0.0.1-12c4b0432a814086c3c1a3b8052b31c72c2c9ad3.1.0.tgz#cf1030c4fa80363933f151d0dcfba97d29ef181d" + integrity sha512-WDSMp8zKNdp6/MhbrkvS1QFn7G9sOrjv8CDHLg6SrH3MlHWAysEWRgAz6U0I9wKklmXR1tMZR+zJ3NuiTAE10A== + dependencies: + "@polkadot-api/metadata-builders" "0.0.1-12c4b0432a814086c3c1a3b8052b31c72c2c9ad3.1.0" + "@polkadot-api/substrate-bindings" "0.0.1-12c4b0432a814086c3c1a3b8052b31c72c2c9ad3.1.0" + "@polkadot-api/substrate-client" "0.0.1-12c4b0432a814086c3c1a3b8052b31c72c2c9ad3.1.0" + "@polkadot-api/utils" "0.0.1-12c4b0432a814086c3c1a3b8052b31c72c2c9ad3.1.0" + +"@polkadot-api/codegen@0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0": + version "0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0" + resolved "https://registry.yarnpkg.com/@polkadot-api/codegen/-/codegen-0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0.tgz#09dd3ce11b4fabd8cb526f117b421f3569882b33" + integrity sha512-8rc6v+cAuUvF9MZdq0tarQ53AOaavRuzo9e2sLHNiOiUrwFg62IKxjjewvcQJqMGH9h04NnCgRvYZ0W3512P6Q== + dependencies: + "@polkadot-api/metadata-builders" "0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0" + "@polkadot-api/substrate-bindings" "0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0" + "@polkadot-api/utils" "0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0" + +"@polkadot-api/json-rpc-provider-proxy@0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0": + version "0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0" + resolved "https://registry.yarnpkg.com/@polkadot-api/json-rpc-provider-proxy/-/json-rpc-provider-proxy-0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0.tgz#4c941697cf50206f11d1bf6b23c67a70f8e97c92" + integrity sha512-VGgM2Ow+VtMZX4UKnFW/QyRSlYYEbu2qUqkdPXw0dKk2jSKnUOCgoAfPPQKsWSrQz6DF/ah98j833diaMJdJTg== + +"@polkadot-api/json-rpc-provider-proxy@0.0.1-12c4b0432a814086c3c1a3b8052b31c72c2c9ad3.1.0": + version "0.0.1-12c4b0432a814086c3c1a3b8052b31c72c2c9ad3.1.0" + resolved "https://registry.yarnpkg.com/@polkadot-api/json-rpc-provider-proxy/-/json-rpc-provider-proxy-0.0.1-12c4b0432a814086c3c1a3b8052b31c72c2c9ad3.1.0.tgz#f12f53b25229efa6d0e393e205cb61a0110b8f25" + integrity sha512-hzupcyUtObK6W1dyyeEp4BJBHRiGecB6t6YJQPk78UY1PnLsqFiboNh5doAywf+DoGBT1YXlxbYBAE3Wg43c9w== + +"@polkadot-api/json-rpc-provider@0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0": + version "0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0" + resolved "https://registry.yarnpkg.com/@polkadot-api/json-rpc-provider/-/json-rpc-provider-0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0.tgz#c1098dc145e34c3c19e069d16f64432ae239e93d" + integrity sha512-mro9kJdwcmRnbcHuD5Yz/8+xfwg4QUaJ6z+dfqQe13ck5kqyfh7opVryPUcjSkn97BKoEsengD38JcZ8lTTj5Q== + +"@polkadot-api/json-rpc-provider@0.0.1-12c4b0432a814086c3c1a3b8052b31c72c2c9ad3.1.0": + version "0.0.1-12c4b0432a814086c3c1a3b8052b31c72c2c9ad3.1.0" + resolved "https://registry.yarnpkg.com/@polkadot-api/json-rpc-provider/-/json-rpc-provider-0.0.1-12c4b0432a814086c3c1a3b8052b31c72c2c9ad3.1.0.tgz#c27d6139d1641eddf3c566966f447688c7f87909" + integrity sha512-772gcl5MXdmIvXuhJwVqM/APp+6f6ocRGfzcYoFfdghJ4A68l9ir1SDny691vcJXE8CQ7NAcz5Gl3t1Gz1MIqg== + +"@polkadot-api/metadata-builders@0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0": + version "0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0" + resolved "https://registry.yarnpkg.com/@polkadot-api/metadata-builders/-/metadata-builders-0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0.tgz#29db17da46da985efb85159954c27b416f24e89b" + integrity sha512-yA6zxPR3/SElJOTtlz5pTgam/kBaxyBxRWIafH+xkW+mLFFD0+TvI6gtX/Xq4nqXEVkrqLgeYaE9Slqw52AXWg== + dependencies: + "@polkadot-api/substrate-bindings" "0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0" + "@polkadot-api/utils" "0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0" + +"@polkadot-api/metadata-builders@0.0.1-12c4b0432a814086c3c1a3b8052b31c72c2c9ad3.1.0": + version "0.0.1-12c4b0432a814086c3c1a3b8052b31c72c2c9ad3.1.0" + resolved "https://registry.yarnpkg.com/@polkadot-api/metadata-builders/-/metadata-builders-0.0.1-12c4b0432a814086c3c1a3b8052b31c72c2c9ad3.1.0.tgz#00fd32d320fdd9cbf69ca37d379d53a8df94e78a" + integrity sha512-T4t2O5Nhr8yrfJtKF5+JaxGO2TY7uFxQK0N/gDp7rDglvluiWiAl5nRvXhFzI03JOAtJ7Ey6O+ezEL1YwCjbwA== + dependencies: + "@polkadot-api/substrate-bindings" "0.0.1-12c4b0432a814086c3c1a3b8052b31c72c2c9ad3.1.0" + "@polkadot-api/utils" "0.0.1-12c4b0432a814086c3c1a3b8052b31c72c2c9ad3.1.0" + +"@polkadot-api/node-polkadot-provider@^0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0": + version "0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0" + resolved "https://registry.yarnpkg.com/@polkadot-api/node-polkadot-provider/-/node-polkadot-provider-0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0.tgz#82bc6f609579cb5003078b1e3b2ca251fc3ba92f" + integrity sha512-7Ruft1ncynVANLVNIMy+RsulABRpdDD+3IB2ww+e2WBCH/HOxM8mC3MSKv4qx+evf9HOzClskHEzAMGdNLU/fQ== + dependencies: + "@noble/hashes" "^1.3.1" + "@polkadot-api/client" "0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0" + "@polkadot-api/json-rpc-provider" "0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0" + "@polkadot-api/metadata-builders" "0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0" + "@polkadot-api/sc-provider" "0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0" + "@polkadot-api/substrate-bindings" "0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0" + "@polkadot-api/substrate-client" "0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0" + "@polkadot-api/tx-helper" "0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0" + "@polkadot-api/utils" "0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0" + "@substrate/connect" "^0.7.32" + rxjs "^7.8.1" + +"@polkadot-api/sc-provider@0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0": + version "0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0" + resolved "https://registry.yarnpkg.com/@polkadot-api/sc-provider/-/sc-provider-0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0.tgz#5ce84f38a25dec13812de61403533d3e1f2d5c8c" + integrity sha512-s3crFRR+X7TJXOtGW6WuaFdydiLJwxVfcjyK1hlMiGWShfYshm7M/ZdcnhKI/oDoDj6qkK3RTzujx36re8PDjw== + dependencies: + "@polkadot-api/json-rpc-provider-proxy" "0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0" + "@substrate/connect" "^0.8.4" + +"@polkadot-api/substrate-bindings@0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0": + version "0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0" + resolved "https://registry.yarnpkg.com/@polkadot-api/substrate-bindings/-/substrate-bindings-0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0.tgz#dc5e67b64bf686e1cd8a5d2ed39a7087e5462c8e" + integrity sha512-m2q03YWdaZ/MRr1wmJhjEZeZJAOzCo4RRW3g2M/bvf3SiKMgm+MlcI9UZos1Z02DRJ95At2P9geQnglTZkYn9w== + dependencies: + "@noble/hashes" "^1.3.1" + "@polkadot-api/utils" "0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0" + "@scure/base" "^1.1.1" + scale-ts "^1.6.0" + +"@polkadot-api/substrate-bindings@0.0.1-12c4b0432a814086c3c1a3b8052b31c72c2c9ad3.1.0": + version "0.0.1-12c4b0432a814086c3c1a3b8052b31c72c2c9ad3.1.0" + resolved "https://registry.yarnpkg.com/@polkadot-api/substrate-bindings/-/substrate-bindings-0.0.1-12c4b0432a814086c3c1a3b8052b31c72c2c9ad3.1.0.tgz#28ec3bfcc993a07ed56d8bd6861ce6f0112b1f7c" + integrity sha512-oAOAwYG7iW2BUgLMzCo//pq+8X/zm5BxDUgJFtG0vPb3leUMd5kKnJcn7hWv9H4vLhyicAVoOPJrEPd/Kzocag== + dependencies: + "@noble/hashes" "^1.3.1" + "@polkadot-api/utils" "0.0.1-12c4b0432a814086c3c1a3b8052b31c72c2c9ad3.1.0" + "@scure/base" "^1.1.1" + scale-ts "^1.4.3" + +"@polkadot-api/substrate-client@0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0": + version "0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0" + resolved "https://registry.yarnpkg.com/@polkadot-api/substrate-client/-/substrate-client-0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0.tgz#c3b2730d2377552eedc19db4b60d9022b204e199" + integrity sha512-0rHiNkndFpeZb/S2q6wcTvKJpgkL07+KulGQWaQUYH96BOlu6Vp6kFIEZFBhNxfDdzVVpVdzrkO0nuB9PFbxjw== + +"@polkadot-api/substrate-client@0.0.1-12c4b0432a814086c3c1a3b8052b31c72c2c9ad3.1.0": + version "0.0.1-12c4b0432a814086c3c1a3b8052b31c72c2c9ad3.1.0" + resolved "https://registry.yarnpkg.com/@polkadot-api/substrate-client/-/substrate-client-0.0.1-12c4b0432a814086c3c1a3b8052b31c72c2c9ad3.1.0.tgz#a341f49a8df48f06f87aa615ea1ba5f2de9e0c66" + integrity sha512-rHLhKLJxv9CSplu+tXOgpxBwYDXCh32xwbJcZqxMWlXkjoNI2OB9hulX/3GJ0NE/ngMh3DV1hrqNLmyc/8PU+A== + +"@polkadot-api/tx-helper@0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0": + version "0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0" + resolved "https://registry.yarnpkg.com/@polkadot-api/tx-helper/-/tx-helper-0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0.tgz#b164853342fc0ac2d6155e81d0eb622453c4a103" + integrity sha512-Tj/ZIJC/EQBV+OX8FyYYCUIWOVDTVlm33ir7URpZGbBkijCZUiKtEKevDmntDRTrMmaJsAXD9aT0UwXlFl6k6g== + dependencies: + "@noble/hashes" "^1.3.1" + "@polkadot-api/client" "0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0" + "@polkadot-api/json-rpc-provider" "0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0" + "@polkadot-api/metadata-builders" "0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0" + "@polkadot-api/sc-provider" "0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0" + "@polkadot-api/substrate-bindings" "0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0" + "@polkadot-api/substrate-client" "0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0" + "@polkadot-api/utils" "0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0" + rxjs "^7.8.1" + +"@polkadot-api/utils@0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0": + version "0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0" + resolved "https://registry.yarnpkg.com/@polkadot-api/utils/-/utils-0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0.tgz#fb1b27f3430470a1026b187a53a18d624cb389f6" + integrity sha512-yj/4sNG2iOS6KME7gSQ9RF7rYuODPvxxNAcoZ8P0XYdcLaWpZZHDyGXwIZN5zoP2wnNngQNP15cV6ibu/Kkvkg== + +"@polkadot-api/utils@0.0.1-12c4b0432a814086c3c1a3b8052b31c72c2c9ad3.1.0": + version "0.0.1-12c4b0432a814086c3c1a3b8052b31c72c2c9ad3.1.0" + resolved "https://registry.yarnpkg.com/@polkadot-api/utils/-/utils-0.0.1-12c4b0432a814086c3c1a3b8052b31c72c2c9ad3.1.0.tgz#6130f32e0a3e08f7733d7a9f2caf3133fe88012c" + integrity sha512-H7hOfilvx65wYxMjAI130rK34GcAPzMEuoP5W693N0PsXYc1QeoEHSza5NSgoN1U4jGNzDBoxu0al2WGKo1B5g== + +"@polkadot-api/ws-provider@0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0", "@polkadot-api/ws-provider@^0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0": + version "0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0" + resolved "https://registry.yarnpkg.com/@polkadot-api/ws-provider/-/ws-provider-0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0.tgz#af3c24b85513d8d224d29558187417610fcd7207" + integrity sha512-G60r4uHKD/lwODrK02hKZ7Z6a77kOq/kIt4l7U6IRF0VbSqE+PZ6V4ysntvKumilknKq8jSQ1symNZQ9FDsa7g== + dependencies: + "@polkadot-api/json-rpc-provider" "0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0" + "@polkadot-api/json-rpc-provider-proxy" "0.0.1-0027dd301d1d5a078e9c770a18e27aed76a66f50.1.0" + ws "^8.14.2" + "@polkadot/api-augment@10.10.1": version "10.10.1" resolved "https://registry.yarnpkg.com/@polkadot/api-augment/-/api-augment-10.10.1.tgz#d3d296c923b0ff915c8d4f163e9b3bad70b89b9b" @@ -1316,6 +1526,11 @@ tslib "^2.6.2" ws "^8.14.1" +"@scure/base@^1.1.1": + version "1.1.5" + resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.5.tgz#1d85d17269fe97694b9c592552dd9e5e33552157" + integrity sha512-Brj9FiG2W1MRQSTB212YVPRrcbjkv48FoZi/u4l/zds/ieRrqsh7aUf6CLwkAq61oKXr/ZlTzlY66gLIj3TFTQ== + "@scure/base@^1.1.3": version "1.1.3" resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.3.tgz#8584115565228290a6c6c4961973e0903bb3df2f" @@ -1367,6 +1582,16 @@ resolved "https://registry.yarnpkg.com/@substrate/connect-extension-protocol/-/connect-extension-protocol-1.0.1.tgz#fa5738039586c648013caa6a0c95c43265dbe77d" integrity sha512-161JhCC1csjH3GE5mPLEd7HbWtwNSPJBg3p1Ksz9SFlTzj/bgEwudiRN2y5i0MoLGCIJRYKyKGMxVnd29PzNjg== +"@substrate/connect-extension-protocol@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@substrate/connect-extension-protocol/-/connect-extension-protocol-2.0.0.tgz#badaa6e6b5f7c7d56987d778f4944ddb83cd9ea7" + integrity sha512-nKu8pDrE3LNCEgJjZe1iGXzaD6OSIDD4Xzz/yo4KO9mQ6LBvf49BVrt4qxBFGL6++NneLiWUZGoh+VSd4PyVIg== + +"@substrate/connect-known-chains@^1.0.7": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@substrate/connect-known-chains/-/connect-known-chains-1.1.0.tgz#46d4e4bc045eb07468feb5eb9ab65e967e258ee0" + integrity sha512-dTOZ8mnKfoFvsCwm81k8u/nVtctnuOk11QBu5itXDebW17LEzUGZ8uveYTOb+c5dqRHmXd48ZScPzvlhJVx1mw== + "@substrate/connect@0.7.33": version "0.7.33" resolved "https://registry.yarnpkg.com/@substrate/connect/-/connect-0.7.33.tgz#6fa309557b5b45cb918f5f4fe25a356384de9808" @@ -1375,6 +1600,37 @@ "@substrate/connect-extension-protocol" "^1.0.1" smoldot "2.0.1" +"@substrate/connect@^0.7.32": + version "0.7.35" + resolved "https://registry.yarnpkg.com/@substrate/connect/-/connect-0.7.35.tgz#853d8ff50717a8c9ee8f219d11a86e61a54b88b8" + integrity sha512-Io8vkalbwaye+7yXfG1Nj52tOOoJln2bMlc7Q9Yy3vEWqZEVkgKmcPVzbwV0CWL3QD+KMPDA2Dnw/X7EdwgoLw== + dependencies: + "@substrate/connect-extension-protocol" "^1.0.1" + smoldot "2.0.7" + +"@substrate/connect@^0.8.4": + version "0.8.7" + resolved "https://registry.yarnpkg.com/@substrate/connect/-/connect-0.8.7.tgz#94dc18cc330d9834b948894848ae112dd2e8689d" + integrity sha512-kJLSqiwsAC8eHsPBwUyVpp6cogs1b/4jxTiRfoWbbndmSSEqn3qkcwmYPmZud4pyJFX7FMXwzH28XaPRBGTaQQ== + dependencies: + "@substrate/connect-extension-protocol" "^2.0.0" + "@substrate/connect-known-chains" "^1.0.7" + "@substrate/light-client-extension-helpers" "^0.0.3" + smoldot "2.0.21" + +"@substrate/light-client-extension-helpers@^0.0.3": + version "0.0.3" + resolved "https://registry.yarnpkg.com/@substrate/light-client-extension-helpers/-/light-client-extension-helpers-0.0.3.tgz#e87ed4dd61b671f6987a76411de6f685070f3ae6" + integrity sha512-AkWX7Xpn0u8NdR7qAEwFzeobLvHiviqmsUTvN6wge8Rnlbk01Ftm2Ol8vdN6IhjWPTepF5MggibQVXKBUtZnZw== + dependencies: + "@polkadot-api/client" "0.0.1-12c4b0432a814086c3c1a3b8052b31c72c2c9ad3.1.0" + "@polkadot-api/json-rpc-provider" "0.0.1-12c4b0432a814086c3c1a3b8052b31c72c2c9ad3.1.0" + "@polkadot-api/json-rpc-provider-proxy" "0.0.1-12c4b0432a814086c3c1a3b8052b31c72c2c9ad3.1.0" + "@polkadot-api/substrate-client" "0.0.1-12c4b0432a814086c3c1a3b8052b31c72c2c9ad3.1.0" + "@substrate/connect-extension-protocol" "^2.0.0" + "@substrate/connect-known-chains" "^1.0.7" + rxjs "^7.8.1" + "@substrate/ss58-registry@^1.43.0": version "1.43.0" resolved "https://registry.yarnpkg.com/@substrate/ss58-registry/-/ss58-registry-1.43.0.tgz#93108e45cb7ef6d82560c153e3692c2aa1c711b3" @@ -1583,6 +1839,18 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-18.16.18.tgz#85da09bafb66d4bc14f7c899185336d0c1736390" integrity sha512-/aNaQZD0+iSBAGnvvN2Cx92HqE5sZCPZtx2TsK+4nvV23fFe09jVDvpArXr2j9DnYlzuU9WuoykDDc6wqvpNcw== +"@types/node@^20.9.0": + version "20.11.25" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.11.25.tgz#0f50d62f274e54dd7a49f7704cc16bfbcccaf49f" + integrity sha512-TBHyJxk2b7HceLVGFcpAUjsa5zIdsPWlR6XHfyGzd0SFu+/NFgQgMAl96MSDZgQDvJAvV6BKsFOrt6zIL09JDw== + dependencies: + undici-types "~5.26.4" + +"@types/normalize-package-data@^2.4.1": + version "2.4.4" + resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz#56e2cc26c397c038fab0e3a917a12d5c5909e901" + integrity sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA== + "@types/prettier@^2.1.5": version "2.6.0" resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.6.0.tgz#efcbd41937f9ae7434c714ab698604822d890759" @@ -2220,6 +2488,15 @@ bl@^4.0.3: inherits "^2.0.4" readable-stream "^3.4.0" +bl@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/bl/-/bl-5.1.0.tgz#183715f678c7188ecef9fe475d90209400624273" + integrity sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ== + dependencies: + buffer "^6.0.3" + inherits "^2.0.4" + readable-stream "^3.4.0" + bn.js@^5.2.1: version "5.2.1" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" @@ -2438,6 +2715,11 @@ chalk@^4.0.0, chalk@^4.1.2, chalk@~4: ansi-styles "^4.1.0" supports-color "^7.1.0" +chalk@^5.0.0, chalk@^5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.3.0.tgz#67c20a7ebef70e7f3970a01f90fa210cb6860385" + integrity sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w== + char-regex@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" @@ -2485,6 +2767,13 @@ cli-cursor@^3.1.0: dependencies: restore-cursor "^3.1.0" +cli-cursor@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-4.0.0.tgz#3cecfe3734bf4fe02a8361cbdc0f6fe28c6a57ea" + integrity sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg== + dependencies: + restore-cursor "^4.0.0" + cli-highlight@^2.1.11: version "2.1.11" resolved "https://registry.yarnpkg.com/cli-highlight/-/cli-highlight-2.1.11.tgz#49736fa452f0aaf4fae580e30acb26828d2dc1bf" @@ -2497,6 +2786,11 @@ cli-highlight@^2.1.11: parse5-htmlparser2-tree-adapter "^6.0.0" yargs "^16.0.0" +cli-spinners@^2.9.0: + version "2.9.2" + resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.9.2.tgz#1773a8f4b9c4d6ac31563df53b3fc1d79462fe41" + integrity sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg== + cli-truncate@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7" @@ -2577,6 +2871,11 @@ combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: dependencies: delayed-stream "~1.0.0" +commander@^11.0.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-11.1.0.tgz#62fdce76006a68e5c1ab3314dc92e800eb83d906" + integrity sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ== + commander@^8.3.0: version "8.3.0" resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" @@ -2780,6 +3079,11 @@ deepdash@^5.3.9: lodash "^4.17.21" lodash-es "^4.17.21" +deepmerge-ts@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/deepmerge-ts/-/deepmerge-ts-5.1.0.tgz#c55206cc4c7be2ded89b9c816cf3608884525d7a" + integrity sha512-eS8dRJOckyo9maw9Tu5O5RUi/4inFLrnoLkBe3cPfDMx3WZioXtmOew4TXQaxq7Rhl4xjDtR7c6x8nNTxOvbFw== + deepmerge@^4.2.2: version "4.2.2" resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" @@ -2848,6 +3152,11 @@ destroy@~1.0.4: resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= +detect-indent@^7.0.0: + version "7.0.1" + resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-7.0.1.tgz#cbb060a12842b9c4d333f1cac4aa4da1bb66bc25" + integrity sha512-Mc7QhQ8s+cLrnUfU/Ji94vG/r8M26m8f++vyres4ZoojaRDpZ1eSIh/EpzLNwlWuvzSZ3UbDFspjFvTDXe6e/g== + detect-newline@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" @@ -2961,6 +3270,11 @@ emittery@^0.13.1: resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.13.1.tgz#c04b8c3457490e0847ae51fced3af52d338e3dad" integrity sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ== +emoji-regex@^10.2.1: + version "10.3.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-10.3.0.tgz#76998b9268409eb3dae3de989254d456e70cfe23" + integrity sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw== + emoji-regex@^8.0.0: version "8.0.0" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" @@ -2983,7 +3297,7 @@ end-of-stream@^1.1.0, end-of-stream@^1.4.1: dependencies: once "^1.4.0" -error-ex@^1.3.1: +error-ex@^1.3.1, error-ex@^1.3.2: version "1.3.2" resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== @@ -3668,6 +3982,11 @@ fs-constants@^1.0.0: resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== +fs.promises.exists@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/fs.promises.exists/-/fs.promises.exists-1.1.4.tgz#6a1d8fd24df79248eda19a8ba9dd7fd68b941921" + integrity sha512-lJzUGWbZn8vhGWBedA+RYjB/BeJ+3458ljUfmplqhIeb6ewzTFWNPCR1HCiYCkXV9zxcHz9zXkJzMsEgDLzh3Q== + fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" @@ -3946,6 +4265,13 @@ highlight.js@^10.7.1: resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-10.7.3.tgz#697272e3991356e40c3cac566a74eef681756531" integrity sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A== +hosted-git-info@^7.0.0: + version "7.0.1" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-7.0.1.tgz#9985fcb2700467fecf7f33a4d4874e30680b5322" + integrity sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA== + dependencies: + lru-cache "^10.0.1" + html-escaper@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" @@ -4204,6 +4530,11 @@ is-inside-container@^1.0.0: dependencies: is-docker "^3.0.0" +is-interactive@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-2.0.0.tgz#40c57614593826da1100ade6059778d597f16e90" + integrity sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ== + is-negative-zero@^2.0.1, is-negative-zero@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" @@ -4226,6 +4557,11 @@ is-path-inside@^3.0.3: resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== +is-plain-obj@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-4.1.0.tgz#d65025edec3657ce032fd7db63c97883eaed71f0" + integrity sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg== + is-regex@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" @@ -4281,11 +4617,16 @@ is-typed-array@^1.1.10, is-typed-array@^1.1.9: gopd "^1.0.1" has-tostringtag "^1.0.0" -is-typedarray@~1.0.0: +is-typedarray@^1.0.0, is-typedarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= +is-unicode-supported@^1.1.0, is-unicode-supported@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz#d824984b616c292a2e198207d4a609983842f714" + integrity sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ== + is-weakref@^1.0.1, is-weakref@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" @@ -4775,6 +5116,11 @@ json-parse-even-better-errors@^2.3.0: resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== +json-parse-even-better-errors@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.1.tgz#02bb29fb5da90b5444581749c22cedd3597c6cb0" + integrity sha512-aatBvbL26wVUCLmbWdCpeu9iF5wOyWpagiKkInA+kfws3sWdBrTnsvN2CKcyCYyUrc7rebNBlK6+kteg7ksecg== + json-schema-traverse@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" @@ -4867,6 +5213,11 @@ lines-and-columns@^1.1.6: resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== +lines-and-columns@^2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-2.0.4.tgz#d00318855905d2660d8c0822e3f5a4715855fc42" + integrity sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A== + lint-staged@^12.3.8: version "12.3.8" resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-12.3.8.tgz#ee3fe2e16c9d76f99d8348072900b017d6d76901" @@ -4960,6 +5311,14 @@ lodash@^4.17.21: resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== +log-symbols@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-5.1.0.tgz#a20e3b9a5f53fac6aeb8e2bb22c07cf2c8f16d93" + integrity sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA== + dependencies: + chalk "^5.0.0" + is-unicode-supported "^1.1.0" + log-update@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/log-update/-/log-update-4.0.0.tgz#589ecd352471f2a1c0c570287543a64dfd20e0a1" @@ -4975,6 +5334,11 @@ loglevel@^1.7.1: resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.8.0.tgz#e7ec73a57e1e7b419cb6c6ac06bf050b67356114" integrity sha512-G6A/nJLRgWOuuwdNuA6koovfEV1YpqqAG4pRUlFaz3jj2QNZ8M4vBqnVA+HBTmU/AMNUtlOsMmSpF6NyOjztbA== +lru-cache@^10.0.1: + version "10.2.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.2.0.tgz#0bd445ca57363465900f4d1f9bd8db343a4d95c3" + integrity sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q== + lru-cache@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" @@ -5280,6 +5644,16 @@ nopt@~1.0.10: dependencies: abbrev "1" +normalize-package-data@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-6.0.0.tgz#68a96b3c11edd462af7189c837b6b1064a484196" + integrity sha512-UL7ELRVxYBHBgYEtZCXjxuD5vPxnmvMGq0jp/dGPKKrN7tfsBh2IY7TlJ15WWwdjRWD3RJbnsygUurTK3xkPkg== + dependencies: + hosted-git-info "^7.0.0" + is-core-module "^2.8.1" + semver "^7.3.5" + validate-npm-package-license "^3.0.4" + normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" @@ -5410,6 +5784,21 @@ optionator@^0.9.3: prelude-ls "^1.2.1" type-check "^0.4.0" +ora@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/ora/-/ora-7.0.1.tgz#cdd530ecd865fe39e451a0e7697865669cb11930" + integrity sha512-0TUxTiFJWv+JnjWm4o9yvuskpEJLXTcng8MJuKd+SzAzp2o+OP3HWqNhB4OdJRt1Vsd9/mR0oyaEYlOnL7XIRw== + dependencies: + chalk "^5.3.0" + cli-cursor "^4.0.0" + cli-spinners "^2.9.0" + is-interactive "^2.0.0" + is-unicode-supported "^1.3.0" + log-symbols "^5.1.0" + stdin-discarder "^0.1.0" + string-width "^6.1.0" + strip-ansi "^7.1.0" + p-limit@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" @@ -5480,6 +5869,17 @@ parse-json@^5.2.0: json-parse-even-better-errors "^2.3.0" lines-and-columns "^1.1.6" +parse-json@^7.0.0: + version "7.1.1" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-7.1.1.tgz#68f7e6f0edf88c54ab14c00eb700b753b14e2120" + integrity sha512-SgOTCX/EZXtZxBE5eJ97P4yGM5n37BwRU+YMsH4vNzFqJV/oWFXXCmwFlgWUM4PrakybVOueJJ6pwHqSVhTFDw== + dependencies: + "@babel/code-frame" "^7.21.4" + error-ex "^1.3.2" + json-parse-even-better-errors "^3.0.0" + lines-and-columns "^2.0.3" + type-fest "^3.8.0" + parse5-htmlparser2-tree-adapter@^6.0.0: version "6.0.1" resolved "https://registry.yarnpkg.com/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz#2cdf9ad823321140370d4dbf5d3e92c7c8ddc6e6" @@ -5859,6 +6259,16 @@ react-is@^18.0.0: resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== +read-pkg@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-8.1.0.tgz#6cf560b91d90df68bce658527e7e3eee75f7c4c7" + integrity sha512-PORM8AgzXeskHO/WEv312k9U03B8K9JSiWF/8N9sUuFjBa+9SF2u6K7VClzXwDXab51jCd8Nd36CNM+zR97ScQ== + dependencies: + "@types/normalize-package-data" "^2.4.1" + normalize-package-data "^6.0.0" + parse-json "^7.0.0" + type-fest "^4.2.0" + readable-stream@^2.0.0, readable-stream@^2.0.5: version "2.3.8" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" @@ -6028,6 +6438,14 @@ restore-cursor@^3.1.0: onetime "^5.1.0" signal-exit "^3.0.2" +restore-cursor@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-4.0.0.tgz#519560a4318975096def6e609d44100edaa4ccb9" + integrity sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg== + dependencies: + onetime "^5.1.0" + signal-exit "^3.0.2" + retry@^0.13.1: version "0.13.1" resolved "https://registry.yarnpkg.com/retry/-/retry-0.13.1.tgz#185b1587acf67919d63b357349e03537b2484658" @@ -6109,6 +6527,11 @@ safe-regex@^2.1.1: resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== +scale-ts@^1.4.2, scale-ts@^1.4.3, scale-ts@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/scale-ts/-/scale-ts-1.6.0.tgz#e9641093c5a9e50f964ddb1607139034e3e932e9" + integrity sha512-Ja5VCjNZR8TGKhUumy9clVVxcDpM+YFjAnkMuwQy68Hixio3VRRvWdE3g8T/yC+HXA0ZDQl2TGyUmtmbcVl40Q== + sdp-transform@^2.14.1: version "2.14.1" resolved "https://registry.yarnpkg.com/sdp-transform/-/sdp-transform-2.14.1.tgz#2bb443583d478dee217df4caa284c46b870d5827" @@ -6273,6 +6696,27 @@ smoldot@2.0.1: dependencies: ws "^8.8.1" +smoldot@2.0.21: + version "2.0.21" + resolved "https://registry.yarnpkg.com/smoldot/-/smoldot-2.0.21.tgz#f495bf34e995f9554d5b0fcd918a3b84d6834172" + integrity sha512-XFpf3CQZ2BbFwVqKSyJHP7mbTDJxT3saRr/WfnfgWv+pbmA/J0e/LdfV/3A+jg7gNTEG06EAiDPtzN8ouXTLLw== + dependencies: + ws "^8.8.1" + +smoldot@2.0.7: + version "2.0.7" + resolved "https://registry.yarnpkg.com/smoldot/-/smoldot-2.0.7.tgz#407efd6bbb82a074612db4d056d631d8d615f442" + integrity sha512-VAOBqEen6vises36/zgrmAT1GWk2qE3X8AGnO7lmQFdskbKx8EovnwS22rtPAG+Y1Rk23/S22kDJUdPANyPkBA== + dependencies: + ws "^8.8.1" + +sort-keys@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-5.0.0.tgz#5d775f8ae93ecc29bc7312bbf3acac4e36e3c446" + integrity sha512-Pdz01AvCAottHTPQGzndktFNdbRA75BgOfeT1hH+AMnJFv8lynkPi42rfeEhpx1saTEI3YNMWxfqu0sFD1G8pw== + dependencies: + is-plain-obj "^4.0.0" + source-map-js@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" @@ -6296,6 +6740,32 @@ source-map@^0.6.0, source-map@^0.6.1: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== +spdx-correct@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.2.0.tgz#4f5ab0668f0059e34f9c00dce331784a12de4e9c" + integrity sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA== + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz#5d607d27fc806f66d7b64a766650fa890f04ed66" + integrity sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w== + +spdx-expression-parse@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" + integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + +spdx-license-ids@^3.0.0: + version "3.0.17" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz#887da8aa73218e51a1d917502d79863161a93f9c" + integrity sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg== + split-ca@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/split-ca/-/split-ca-1.0.1.tgz#6c83aff3692fa61256e0cd197e05e9de157691a6" @@ -6362,6 +6832,13 @@ statuses@2.0.1: resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= +stdin-discarder@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/stdin-discarder/-/stdin-discarder-0.1.0.tgz#22b3e400393a8e28ebf53f9958f3880622efde21" + integrity sha512-xhV7w8S+bUwlPTb4bAOUQhv8/cSS5offJuX8GQGq32ONF0ZtDWKfkdomM3HMRA+LhX6um/FZ0COqlwsjD53LeQ== + dependencies: + bl "^5.0.0" + string-argv@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" @@ -6393,6 +6870,15 @@ string-width@^5.0.0: emoji-regex "^9.2.2" strip-ansi "^7.0.1" +string-width@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-6.1.0.tgz#96488d6ed23f9ad5d82d13522af9e4c4c3fd7518" + integrity sha512-k01swCJAgQmuADB0YIc+7TuatfNvTBVOoaUWJjTB9R4VJzR5vNWzf5t42ESVZFPS8xTySF7CAdV4t/aaIm3UnQ== + dependencies: + eastasianwidth "^0.2.0" + emoji-regex "^10.2.1" + strip-ansi "^7.0.1" + string.prototype.trim@^1.2.7: version "1.2.7" resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz#a68352740859f6893f14ce3ef1bb3037f7a90533" @@ -6464,6 +6950,13 @@ strip-ansi@^7.0.1: dependencies: ansi-regex "^6.0.1" +strip-ansi@^7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" + integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== + dependencies: + ansi-regex "^6.0.1" + strip-bom@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" @@ -6760,6 +7253,11 @@ ts-patch@^2.1.0: shelljs "^0.8.5" strip-ansi "^6.0.1" +tsc-prog@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/tsc-prog/-/tsc-prog-2.3.0.tgz#b14ffb4e9487cca5cf42185f2a94963978faf8ee" + integrity sha512-ycET2d75EgcX7y8EmG4KiZkLAwUzbY4xRhA6NU0uVbHkY4ZjrAAuzTMxXI85kOwATqPnBI5C/7y7rlpY0xdqHA== + tsconfig-paths@^3.14.1: version "3.14.1" resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz#ba0734599e8ea36c862798e920bcf163277b137a" @@ -6836,6 +7334,16 @@ type-fest@^0.21.3: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== +type-fest@^3.8.0: + version "3.13.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-3.13.1.tgz#bb744c1f0678bea7543a2d1ec24e83e68e8c8706" + integrity sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g== + +type-fest@^4.2.0, type-fest@^4.6.0: + version "4.11.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-4.11.1.tgz#7de27117459b926cb56922a4fd565423041e06d3" + integrity sha512-MFMf6VkEVZAETidGGSYW2B1MjXbGX+sWIywn2QPEaJ3j08V+MwVRHMXtf2noB8ENJaD0LIun9wh5Z6OPNf1QzQ== + type-is@~1.6.18: version "1.6.18" resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" @@ -6853,6 +7361,13 @@ typed-array-length@^1.0.4: for-each "^0.3.3" is-typed-array "^1.1.9" +typedarray-to-buffer@^3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" + integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== + dependencies: + is-typedarray "^1.0.0" + typeorm@^0.3.17: version "0.3.17" resolved "https://registry.yarnpkg.com/typeorm/-/typeorm-0.3.17.tgz#a73c121a52e4fbe419b596b244777be4e4b57949" @@ -6891,6 +7406,11 @@ typescript@^4.9.3: resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== +typescript@^5.3.2: + version "5.4.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.4.2.tgz#0ae9cebcfae970718474fe0da2c090cad6577372" + integrity sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ== + unbox-primitive@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" @@ -6916,6 +7436,11 @@ undefsafe@^2.0.5: resolved "https://registry.yarnpkg.com/undefsafe/-/undefsafe-2.0.5.tgz#38733b9327bdcd226db889fb723a6efd162e6e2c" integrity sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA== +undici-types@~5.26.4: + version "5.26.5" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" + integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== + unhomoglyph@^1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/unhomoglyph/-/unhomoglyph-1.0.6.tgz#ea41f926d0fcf598e3b8bb2980c2ddac66b081d3" @@ -6980,6 +7505,14 @@ v8-to-istanbul@^9.0.1: "@types/istanbul-lib-coverage" "^2.0.1" convert-source-map "^1.6.0" +validate-npm-package-license@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== + dependencies: + spdx-correct "^3.0.0" + spdx-expression-parse "^3.0.0" + vary@^1, vary@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" @@ -7079,6 +7612,16 @@ wrappy@1: resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= +write-file-atomic@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" + integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== + dependencies: + imurmurhash "^0.1.4" + is-typedarray "^1.0.0" + signal-exit "^3.0.2" + typedarray-to-buffer "^3.1.5" + write-file-atomic@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.2.tgz#a9df01ae5b77858a027fd2e80768ee433555fcfd" @@ -7087,11 +7630,37 @@ write-file-atomic@^4.0.2: imurmurhash "^0.1.4" signal-exit "^3.0.7" +write-json-file@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/write-json-file/-/write-json-file-5.0.0.tgz#11c329a8ea9e8e23fb92a87cc27412a15f87708b" + integrity sha512-ddSsCLa4aQ3kI21BthINo4q905/wfhvQ3JL3774AcRjBaiQmfn5v4rw77jQ7T6CmAit9VOQO+FsLyPkwxoB1fw== + dependencies: + detect-indent "^7.0.0" + is-plain-obj "^4.0.0" + sort-keys "^5.0.0" + write-file-atomic "^3.0.3" + +write-pkg@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/write-pkg/-/write-pkg-6.0.1.tgz#5b5ec22edf199f372b68c54d3f80b112c8463a6e" + integrity sha512-ZwKp0+CQCNrJbhHStRy6IVDnVjvD4gYy6MhQLKgBnl85oaiTNXhvtuox7AqvOSf1wta0YW4U5JidjpJnd1i8TA== + dependencies: + deepmerge-ts "^5.1.0" + read-pkg "^8.1.0" + sort-keys "^5.0.0" + type-fest "^4.6.0" + write-json-file "^5.0.0" + ws@^8.14.1: version "8.14.2" resolved "https://registry.yarnpkg.com/ws/-/ws-8.14.2.tgz#6c249a806eb2db7a20d26d51e7709eab7b2e6c7f" integrity sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g== +ws@^8.14.2: + version "8.16.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.16.0.tgz#d1cd774f36fbc07165066a60e40323eab6446fd4" + integrity sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ== + ws@^8.8.1: version "8.12.1" resolved "https://registry.yarnpkg.com/ws/-/ws-8.12.1.tgz#c51e583d79140b5e42e39be48c934131942d4a8f"