diff --git a/packages/cli/package.json b/packages/cli/package.json index 9d0979d1..e6cb1162 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -92,9 +92,8 @@ "node-fetch": "^3.3.2", "semver": "^7.5.4", "viem": "^1.19.3", - "vitest": "1.0.0-beta.4", + "vitest": "1.0.0-beta.5", "web3": "4.2.2", - "why-is-node-running": "^2.2.2", "ws": "^8.14.2", "yaml": "^2.3.4", "yargs": "^17.7.2" @@ -107,7 +106,7 @@ "prettier": "^3.1.0", "tsup": "^7.2.0", "tsx": "^4.1.2", - "typescript": "^5.2.2" + "typescript": "^5.3.2" }, "publishConfig": { "access": "public" diff --git a/packages/cli/src/cmds/entrypoint.ts b/packages/cli/src/cmds/entrypoint.ts index 98c591ac..2a5bc4ef 100755 --- a/packages/cli/src/cmds/entrypoint.ts +++ b/packages/cli/src/cmds/entrypoint.ts @@ -1,5 +1,4 @@ import "../internal/logging"; -import log from "why-is-node-running"; import "@moonbeam-network/api-augment"; import yargs from "yargs"; import fs from "fs"; @@ -9,6 +8,7 @@ import { generateConfig } from "../internal/cmdFunctions/initialisation"; import { fetchArtifact } from "../internal/cmdFunctions/fetchArtifact"; import dotenv from "dotenv"; import { Effect, pipe } from "effect"; +import * as Err from "../errors"; import { main } from "./main"; import { runNetworkCmdEffect } from "./runNetwork"; dotenv.config(); @@ -25,8 +25,10 @@ const findExistingConfig = (files: string[]): string | undefined => { const defaultConfigFile = findExistingConfig(defaultConfigFiles) || "./moonwall.config.json"; -const parseConfigFile = Effect.sync(() => +const parseArgs = Effect.sync(() => yargs(hideBin(process.argv)) + .usage("Usage: $0") + .version("2.0.0") .options({ configFile: { type: "string", @@ -44,32 +46,15 @@ const setEnvVar = (key: string, value: string) => }); const setupConfigFileEnv = pipe( - parseConfigFile, + parseArgs, Effect.flatMap((parsed) => setEnvVar("MOON_CONFIG_PATH", parsed.configFile)) ); -// TODO: REMOVE THIS HACK ONCE YARGS REPLACED -let failedTests: number | false; - -const cliStart = Effect.try(() => { - const argv = yargs(hideBin(process.argv)) - .usage("Usage: $0") - .version("2.0.0") - .options({ - configFile: { - type: "string", - alias: "c", - description: "path to MoonwallConfig file", - default: defaultConfigFile, - }, - }) - .parseSync(); - - if (!argv._.length) { - return main(); - } +const processArgs = (args: any): { command: string; args?: object } => { + let commandChosen: string; + const argsObject: object = {}; - return yargs(hideBin(process.argv)) + yargs(hideBin(args)) .usage("Usage: $0") .version("2.0.0") .options({ @@ -81,15 +66,13 @@ const cliStart = Effect.try(() => { }, }) .command(`init`, "Run tests for a given Environment", async () => { - const effect = Effect.tryPromise(() => generateConfig()); - - await Effect.runPromise(effect); + commandChosen = "init"; }) .command( `download [ver] [path]`, "Download x86 artifact from GitHub", - (yargs) => { - return yargs + (yargs) => + yargs .positional("bin", { describe: "Name of artifact to download\n[ moonbeam | polkadot | *-runtime ]", }) @@ -112,17 +95,15 @@ const cliStart = Effect.try(() => { describe: "Rename downloaded file to this name", alias: "o", type: "string", - }); - }, + }), async (argv) => { - const effect = Effect.tryPromise(() => fetchArtifact(argv)); - await Effect.runPromise(effect); + commandChosen = "download"; + argsObject["argv"] = argv; } ) .command( `test [GrepTest]`, "Run tests for a given Environment", - (yargs) => yargs .positional("envName", { @@ -133,27 +114,11 @@ const cliStart = Effect.try(() => { type: "string", description: "Pattern to grep test ID/Description to run", }), - async ({ envName, GrepTest }) => { process.env.MOON_RUN_SCRIPTS = "true"; - const effect = testEffect(envName, { testNamePattern: GrepTest }).pipe( - Effect.catchTag("TestsFailedError", (error) => { - failedTests = error.fails; - return Effect.succeed( - console.log(`❌ ${error.fails} test file${error.fails !== 1 ? "s" : ""} failed`) - ); - }) - ); - - await Effect.runPromise(effect); - - if (failedTests) { - process.exitCode = 1; - } - const timeout = 5; - setTimeout(function () { - log(); - }, timeout * 1000); + argsObject["envName"] = envName; + argsObject["GrepTest"] = GrepTest; + commandChosen = "test"; } ) .command( @@ -170,22 +135,84 @@ const cliStart = Effect.try(() => { }), async (argv) => { process.env.MOON_RUN_SCRIPTS = "true"; - await Effect.runPromiseExit(runNetworkCmdEffect(argv as any)); + argsObject["argv"] = argv; + commandChosen = "run"; } ) .help("h") .alias("h", "help") .parse(); + + return { command: commandChosen, args: argsObject }; +}; + +const cliStart = Effect.gen(function* (_) { + let commandChosen: string; + let args: object = {}; + let failedTests: number | false; + + const argv = yield* _(parseArgs); + + if (!argv._.length) { + commandChosen = "mainmenu"; + } else { + const processedArgs = yield* _(Effect.sync(() => processArgs(process.argv))); + commandChosen = processedArgs.command; + args = processedArgs.args; + } + + switch (commandChosen) { + case "mainmenu": + yield* _(Effect.promise(main)); + break; + + case "init": + yield* _(Effect.tryPromise(() => generateConfig())); + break; + + case "download": + yield* _(Effect.tryPromise(() => fetchArtifact(args["argv"]))); + break; + + case "test": { + yield* _( + testEffect(args["envName"], { testNamePattern: args["GrepTest"] }).pipe( + Effect.catchTag("TestsFailedError", (error) => { + failedTests = error.fails; + return Effect.succeed( + console.log(`❌ ${error.fails} test file${error.fails !== 1 ? "s" : ""} failed`) + ); + }) + ) + ); + + if (failedTests) { + process.exitCode = 1; + } + + break; + } + + case "run": + yield* _(runNetworkCmdEffect(args["argv"])); + break; + + default: + yield* _(new Err.InvalidCommandError({ command: commandChosen })); + break; + } }); -const cli = pipe( +const program = pipe( setupConfigFileEnv, - Effect.flatMap(() => cliStart) + Effect.flatMap(() => cliStart), + Effect.uninterruptible, + Effect.disconnect ); -Effect.runPromise(cli) +Effect.runPromise(program) .then(() => { - console.log("🏁 Moonwall Test Run finished"); + console.log("🏁 Moonwall Process finished"); process.exit(); }) .catch(console.error); diff --git a/packages/cli/src/cmds/runNetwork.ts b/packages/cli/src/cmds/runNetwork.ts index ebfab6c7..9ae90a9c 100644 --- a/packages/cli/src/cmds/runNetwork.ts +++ b/packages/cli/src/cmds/runNetwork.ts @@ -28,7 +28,7 @@ export const runNetworkCmdEffect = (args) => Effect.filterOrFail( Effect.sync(() => globalConfig.environments.find(({ name }) => name === args.envName)), (env) => !!env, - () => new Err.EnvironmentMissingError(args.envName) + () => new Err.EnvironmentMissingError({ env: args.envName }) ) ); diff --git a/packages/cli/src/cmds/runTests.ts b/packages/cli/src/cmds/runTests.ts index 1227f92e..9a937b74 100644 --- a/packages/cli/src/cmds/runTests.ts +++ b/packages/cli/src/cmds/runTests.ts @@ -26,7 +26,7 @@ export const testEffect = (envName: string, additionalArgs?: object) => { Effect.filterOrFail( Effect.sync(() => globalConfig.environments.find(({ name }) => name === envName)), (env) => !!env, - () => new Err.EnvironmentMissingError(envName) + () => new Err.EnvironmentMissingError({ env: envName }) ) ); @@ -54,7 +54,7 @@ export const testEffect = (envName: string, additionalArgs?: object) => { if (failed.length === 0) { yield* _(Effect.succeed(() => console.log("✅ All tests passed"))); } else { - yield* _(Effect.fail(new Err.TestsFailedError(failed.length))); + yield* _(new Err.TestsFailedError({ fails: failed.length })); } }); }; diff --git a/packages/cli/src/errors/configErrors.ts b/packages/cli/src/errors/configErrors.ts index f80dca84..24300797 100644 --- a/packages/cli/src/errors/configErrors.ts +++ b/packages/cli/src/errors/configErrors.ts @@ -1,7 +1,8 @@ -export class EnvironmentMissingError { - readonly _tag = "EnvironmentMissingError"; - constructor(readonly env: string) {} -} +import { Data } from "effect"; + +export class EnvironmentMissingError extends Data.TaggedError("EnvironmentMissingError")<{ + env: string; +}> {} export class ConfigError { readonly _tag = "ConfigError"; diff --git a/packages/cli/src/errors/generalErrors.ts b/packages/cli/src/errors/generalErrors.ts index b8047eeb..87ae58c3 100644 --- a/packages/cli/src/errors/generalErrors.ts +++ b/packages/cli/src/errors/generalErrors.ts @@ -1,7 +1,6 @@ -export class TestsFailedError { - readonly _tag = "TestsFailedError"; - constructor(readonly fails?: number) {} -} +import { Data } from "effect"; + +export class TestsFailedError extends Data.TaggedError("TestsFailedError")<{ fails?: number }> {} export class CommonCheckError { readonly _tag = "CommonCheckError"; @@ -10,3 +9,5 @@ export class CommonCheckError { export class RunNetworkError { readonly _tag = "RunNetworkError"; } + +export class InvalidCommandError extends Data.TaggedError("InvalidCommand")<{ command: string }> {} diff --git a/packages/cli/src/internal/localNode.ts b/packages/cli/src/internal/localNode.ts index 22b7eefc..79bf8660 100644 --- a/packages/cli/src/internal/localNode.ts +++ b/packages/cli/src/internal/localNode.ts @@ -135,7 +135,7 @@ const webSocketProbe = (port: number) => { const findPortsByPidEffect = (pid: number, timeout: number = 10000) => Effect.gen(function* (_) { - const end = Date.now() + timeout; + const end = yield* _(Effect.sync(() => Date.now() + timeout)); for (;;) { const command = `lsof -i -n -P | grep LISTEN | grep ${pid} || true`; diff --git a/packages/cli/src/lib/runnerContext.ts b/packages/cli/src/lib/runnerContext.ts index 69e9f11a..71eabff1 100644 --- a/packages/cli/src/lib/runnerContext.ts +++ b/packages/cli/src/lib/runnerContext.ts @@ -88,7 +88,7 @@ export function describeSuite({ const globalConfig = yield* _( Effect.tryPromise({ try: () => importAsyncConfig(), - catch: () => Err.ConfigError, + catch: () => new Err.ConfigError("Could not load config before running test"), }) ); diff --git a/packages/util/package.json b/packages/util/package.json index df204ae2..3f828dd7 100644 --- a/packages/util/package.json +++ b/packages/util/package.json @@ -82,7 +82,7 @@ "rlp": "^3.0.0", "semver": "^7.5.4", "viem": "^1.19.3", - "vitest": "1.0.0-beta.4", + "vitest": "1.0.0-beta.5", "web3": "4.2.2", "ws": "^8.14.2", "yaml": "^2.3.4", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4324b444..0292e066 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -95,7 +95,7 @@ importers: version: 0.0.62(@polkadot/util@12.5.1)(@types/node@20.9.0) '@zombienet/utils': specifier: ^0.0.24 - version: 0.0.24(@types/node@20.9.0)(typescript@5.2.2) + version: 0.0.24(@types/node@20.9.0)(typescript@5.3.2) bottleneck: specifier: ^2.19.5 version: 2.19.5 @@ -146,16 +146,13 @@ importers: version: 7.5.4 viem: specifier: ^1.19.3 - version: 1.19.3(typescript@5.2.2) + version: 1.19.3(typescript@5.3.2) vitest: - specifier: 1.0.0-beta.4 - version: 1.0.0-beta.4(@types/node@20.9.0)(@vitest/ui@1.0.0-beta.4) + specifier: 1.0.0-beta.5 + version: 1.0.0-beta.5(@types/node@20.9.0)(@vitest/ui@1.0.0-beta.5) web3: specifier: 4.2.2 - version: 4.2.2(typescript@5.2.2) - why-is-node-running: - specifier: ^2.2.2 - version: 2.2.2 + version: 4.2.2(typescript@5.3.2) ws: specifier: ^8.14.2 version: 8.14.2 @@ -183,13 +180,13 @@ importers: version: 3.1.0 tsup: specifier: ^7.2.0 - version: 7.2.0(typescript@5.2.2) + version: 7.2.0(typescript@5.3.2) tsx: specifier: ^4.1.2 version: 4.1.2 typescript: - specifier: ^5.2.2 - version: 5.2.2 + specifier: ^5.3.2 + version: 5.3.2 packages/types: dependencies: @@ -321,8 +318,8 @@ importers: specifier: ^1.19.3 version: 1.19.3(typescript@5.2.2) vitest: - specifier: 1.0.0-beta.4 - version: 1.0.0-beta.4(@types/node@20.9.0)(@vitest/ui@1.0.0-beta.4) + specifier: 1.0.0-beta.5 + version: 1.0.0-beta.5(@types/node@20.9.0)(@vitest/ui@1.0.0-beta.5) web3: specifier: 4.2.2 version: 4.2.2(typescript@5.2.2) @@ -388,8 +385,8 @@ importers: specifier: ^20.9.0 version: 20.9.0 '@vitest/ui': - specifier: 1.0.0-beta.4 - version: 1.0.0-beta.4(vitest@1.0.0-beta.4) + specifier: 1.0.0-beta.5 + version: 1.0.0-beta.5(vitest@1.0.0-beta.5) bun-types: specifier: ^1.0.11 version: 1.0.11 @@ -421,8 +418,8 @@ importers: specifier: ^1.19.3 version: 1.19.3(typescript@5.2.2) vitest: - specifier: 1.0.0-beta.4 - version: 1.0.0-beta.4(@types/node@20.9.0)(@vitest/ui@1.0.0-beta.4) + specifier: 1.0.0-beta.5 + version: 1.0.0-beta.5(@types/node@20.9.0)(@vitest/ui@1.0.0-beta.5) web3: specifier: 4.2.2 version: 4.2.2(typescript@5.2.2) @@ -960,6 +957,15 @@ packages: cpu: [arm64] os: [android] requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm64@0.19.7: + resolution: {integrity: sha512-YEDcw5IT7hW3sFKZBkCAQaOCJQLONVcD4bOyTXMZz5fr66pTHnAet46XAtbXAkJRfIn2YVhdC6R9g4xa27jQ1w==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true optional: true /@esbuild/android-arm@0.18.20: @@ -968,6 +974,15 @@ packages: cpu: [arm] os: [android] requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm@0.19.7: + resolution: {integrity: sha512-YGSPnndkcLo4PmVl2tKatEn+0mlVMr3yEpOOT0BeMria87PhvoJb5dg5f5Ft9fbCVgtAz4pWMzZVgSEGpDAlww==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true optional: true /@esbuild/android-x64@0.18.20: @@ -976,6 +991,15 @@ packages: cpu: [x64] os: [android] requiresBuild: true + dev: true + optional: true + + /@esbuild/android-x64@0.19.7: + resolution: {integrity: sha512-jhINx8DEjz68cChFvM72YzrqfwJuFbfvSxZAk4bebpngGfNNRm+zRl4rtT9oAX6N9b6gBcFaJHFew5Blf6CvUw==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true optional: true /@esbuild/darwin-arm64@0.18.20: @@ -984,6 +1008,15 @@ packages: cpu: [arm64] os: [darwin] requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-arm64@0.19.7: + resolution: {integrity: sha512-dr81gbmWN//3ZnBIm6YNCl4p3pjnabg1/ZVOgz2fJoUO1a3mq9WQ/1iuEluMs7mCL+Zwv7AY5e3g1hjXqQZ9Iw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true optional: true /@esbuild/darwin-x64@0.18.20: @@ -992,6 +1025,15 @@ packages: cpu: [x64] os: [darwin] requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-x64@0.19.7: + resolution: {integrity: sha512-Lc0q5HouGlzQEwLkgEKnWcSazqr9l9OdV2HhVasWJzLKeOt0PLhHaUHuzb8s/UIya38DJDoUm74GToZ6Wc7NGQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true optional: true /@esbuild/freebsd-arm64@0.18.20: @@ -1000,6 +1042,15 @@ packages: cpu: [arm64] os: [freebsd] requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-arm64@0.19.7: + resolution: {integrity: sha512-+y2YsUr0CxDFF7GWiegWjGtTUF6gac2zFasfFkRJPkMAuMy9O7+2EH550VlqVdpEEchWMynkdhC9ZjtnMiHImQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true optional: true /@esbuild/freebsd-x64@0.18.20: @@ -1008,6 +1059,15 @@ packages: cpu: [x64] os: [freebsd] requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-x64@0.19.7: + resolution: {integrity: sha512-CdXOxIbIzPJmJhrpmJTLx+o35NoiKBIgOvmvT+jeSadYiWJn0vFKsl+0bSG/5lwjNHoIDEyMYc/GAPR9jxusTA==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true optional: true /@esbuild/linux-arm64@0.18.20: @@ -1016,6 +1076,15 @@ packages: cpu: [arm64] os: [linux] requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm64@0.19.7: + resolution: {integrity: sha512-inHqdOVCkUhHNvuQPT1oCB7cWz9qQ/Cz46xmVe0b7UXcuIJU3166aqSunsqkgSGMtUCWOZw3+KMwI6otINuC9g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true optional: true /@esbuild/linux-arm@0.18.20: @@ -1024,6 +1093,15 @@ packages: cpu: [arm] os: [linux] requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm@0.19.7: + resolution: {integrity: sha512-Y+SCmWxsJOdQtjcBxoacn/pGW9HDZpwsoof0ttL+2vGcHokFlfqV666JpfLCSP2xLxFpF1lj7T3Ox3sr95YXww==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true optional: true /@esbuild/linux-ia32@0.18.20: @@ -1032,6 +1110,15 @@ packages: cpu: [ia32] os: [linux] requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ia32@0.19.7: + resolution: {integrity: sha512-2BbiL7nLS5ZO96bxTQkdO0euGZIUQEUXMTrqLxKUmk/Y5pmrWU84f+CMJpM8+EHaBPfFSPnomEaQiG/+Gmh61g==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true optional: true /@esbuild/linux-loong64@0.18.20: @@ -1040,6 +1127,15 @@ packages: cpu: [loong64] os: [linux] requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-loong64@0.19.7: + resolution: {integrity: sha512-BVFQla72KXv3yyTFCQXF7MORvpTo4uTA8FVFgmwVrqbB/4DsBFWilUm1i2Oq6zN36DOZKSVUTb16jbjedhfSHw==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true optional: true /@esbuild/linux-mips64el@0.18.20: @@ -1048,6 +1144,15 @@ packages: cpu: [mips64el] os: [linux] requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-mips64el@0.19.7: + resolution: {integrity: sha512-DzAYckIaK+pS31Q/rGpvUKu7M+5/t+jI+cdleDgUwbU7KdG2eC3SUbZHlo6Q4P1CfVKZ1lUERRFP8+q0ob9i2w==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true optional: true /@esbuild/linux-ppc64@0.18.20: @@ -1056,6 +1161,15 @@ packages: cpu: [ppc64] os: [linux] requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ppc64@0.19.7: + resolution: {integrity: sha512-JQ1p0SmUteNdUaaiRtyS59GkkfTW0Edo+e0O2sihnY4FoZLz5glpWUQEKMSzMhA430ctkylkS7+vn8ziuhUugQ==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true optional: true /@esbuild/linux-riscv64@0.18.20: @@ -1064,6 +1178,15 @@ packages: cpu: [riscv64] os: [linux] requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-riscv64@0.19.7: + resolution: {integrity: sha512-xGwVJ7eGhkprY/nB7L7MXysHduqjpzUl40+XoYDGC4UPLbnG+gsyS1wQPJ9lFPcxYAaDXbdRXd1ACs9AE9lxuw==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true optional: true /@esbuild/linux-s390x@0.18.20: @@ -1072,6 +1195,15 @@ packages: cpu: [s390x] os: [linux] requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-s390x@0.19.7: + resolution: {integrity: sha512-U8Rhki5PVU0L0nvk+E8FjkV8r4Lh4hVEb9duR6Zl21eIEYEwXz8RScj4LZWA2i3V70V4UHVgiqMpszXvG0Yqhg==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true optional: true /@esbuild/linux-x64@0.18.20: @@ -1080,6 +1212,15 @@ packages: cpu: [x64] os: [linux] requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-x64@0.19.7: + resolution: {integrity: sha512-ZYZopyLhm4mcoZXjFt25itRlocKlcazDVkB4AhioiL9hOWhDldU9n38g62fhOI4Pth6vp+Mrd5rFKxD0/S+7aQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true optional: true /@esbuild/netbsd-x64@0.18.20: @@ -1088,6 +1229,15 @@ packages: cpu: [x64] os: [netbsd] requiresBuild: true + dev: true + optional: true + + /@esbuild/netbsd-x64@0.19.7: + resolution: {integrity: sha512-/yfjlsYmT1O3cum3J6cmGG16Fd5tqKMcg5D+sBYLaOQExheAJhqr8xOAEIuLo8JYkevmjM5zFD9rVs3VBcsjtQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true optional: true /@esbuild/openbsd-x64@0.18.20: @@ -1096,6 +1246,15 @@ packages: cpu: [x64] os: [openbsd] requiresBuild: true + dev: true + optional: true + + /@esbuild/openbsd-x64@0.19.7: + resolution: {integrity: sha512-MYDFyV0EW1cTP46IgUJ38OnEY5TaXxjoDmwiTXPjezahQgZd+j3T55Ht8/Q9YXBM0+T9HJygrSRGV5QNF/YVDQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true optional: true /@esbuild/sunos-x64@0.18.20: @@ -1104,6 +1263,15 @@ packages: cpu: [x64] os: [sunos] requiresBuild: true + dev: true + optional: true + + /@esbuild/sunos-x64@0.19.7: + resolution: {integrity: sha512-JcPvgzf2NN/y6X3UUSqP6jSS06V0DZAV/8q0PjsZyGSXsIGcG110XsdmuWiHM+pno7/mJF6fjH5/vhUz/vA9fw==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true optional: true /@esbuild/win32-arm64@0.18.20: @@ -1112,6 +1280,15 @@ packages: cpu: [arm64] os: [win32] requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-arm64@0.19.7: + resolution: {integrity: sha512-ZA0KSYti5w5toax5FpmfcAgu3ZNJxYSRm0AW/Dao5up0YV1hDVof1NvwLomjEN+3/GMtaWDI+CIyJOMTRSTdMw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true optional: true /@esbuild/win32-ia32@0.18.20: @@ -1120,6 +1297,15 @@ packages: cpu: [ia32] os: [win32] requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-ia32@0.19.7: + resolution: {integrity: sha512-CTOnijBKc5Jpk6/W9hQMMvJnsSYRYgveN6O75DTACCY18RA2nqka8dTZR+x/JqXCRiKk84+5+bRKXUSbbwsS0A==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true optional: true /@esbuild/win32-x64@0.18.20: @@ -1128,6 +1314,15 @@ packages: cpu: [x64] os: [win32] requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-x64@0.19.7: + resolution: {integrity: sha512-gRaP2sk6hc98N734luX4VpF318l3w+ofrtTu9j5L8EQXF+FzQKV6alCOHMVoJJHvVK/mGbwBXfOL1HETQu9IGQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true optional: true /@eslint-community/eslint-utils@4.4.0(eslint@8.53.0): @@ -1794,6 +1989,90 @@ packages: resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==} dev: false + /@rollup/rollup-android-arm-eabi@4.5.1: + resolution: {integrity: sha512-YaN43wTyEBaMqLDYeze+gQ4ZrW5RbTEGtT5o1GVDkhpdNcsLTnLRcLccvwy3E9wiDKWg9RIhuoy3JQKDRBfaZA==} + cpu: [arm] + os: [android] + requiresBuild: true + optional: true + + /@rollup/rollup-android-arm64@4.5.1: + resolution: {integrity: sha512-n1bX+LCGlQVuPlCofO0zOKe1b2XkFozAVRoczT+yxWZPGnkEAKTTYVOGZz8N4sKuBnKMxDbfhUsB1uwYdup/sw==} + cpu: [arm64] + os: [android] + requiresBuild: true + optional: true + + /@rollup/rollup-darwin-arm64@4.5.1: + resolution: {integrity: sha512-QqJBumdvfBqBBmyGHlKxje+iowZwrHna7pokj/Go3dV1PJekSKfmjKrjKQ/e6ESTGhkfPNLq3VXdYLAc+UtAQw==} + cpu: [arm64] + os: [darwin] + requiresBuild: true + optional: true + + /@rollup/rollup-darwin-x64@4.5.1: + resolution: {integrity: sha512-RrkDNkR/P5AEQSPkxQPmd2ri8WTjSl0RYmuFOiEABkEY/FSg0a4riihWQGKDJ4LnV9gigWZlTMx2DtFGzUrYQw==} + cpu: [x64] + os: [darwin] + requiresBuild: true + optional: true + + /@rollup/rollup-linux-arm-gnueabihf@4.5.1: + resolution: {integrity: sha512-ZFPxvUZmE+fkB/8D9y/SWl/XaDzNSaxd1TJUSE27XAKlRpQ2VNce/86bGd9mEUgL3qrvjJ9XTGwoX0BrJkYK/A==} + cpu: [arm] + os: [linux] + requiresBuild: true + optional: true + + /@rollup/rollup-linux-arm64-gnu@4.5.1: + resolution: {integrity: sha512-FEuAjzVIld5WVhu+M2OewLmjmbXWd3q7Zcx+Rwy4QObQCqfblriDMMS7p7+pwgjZoo9BLkP3wa9uglQXzsB9ww==} + cpu: [arm64] + os: [linux] + requiresBuild: true + optional: true + + /@rollup/rollup-linux-arm64-musl@4.5.1: + resolution: {integrity: sha512-f5Gs8WQixqGRtI0Iq/cMqvFYmgFzMinuJO24KRfnv7Ohi/HQclwrBCYkzQu1XfLEEt3DZyvveq9HWo4bLJf1Lw==} + cpu: [arm64] + os: [linux] + requiresBuild: true + optional: true + + /@rollup/rollup-linux-x64-gnu@4.5.1: + resolution: {integrity: sha512-CWPkPGrFfN2vj3mw+S7A/4ZaU3rTV7AkXUr08W9lNP+UzOvKLVf34tWCqrKrfwQ0NTk5GFqUr2XGpeR2p6R4gw==} + cpu: [x64] + os: [linux] + requiresBuild: true + optional: true + + /@rollup/rollup-linux-x64-musl@4.5.1: + resolution: {integrity: sha512-ZRETMFA0uVukUC9u31Ed1nx++29073goCxZtmZARwk5aF/ltuENaeTtRVsSQzFlzdd4J6L3qUm+EW8cbGt0CKQ==} + cpu: [x64] + os: [linux] + requiresBuild: true + optional: true + + /@rollup/rollup-win32-arm64-msvc@4.5.1: + resolution: {integrity: sha512-ihqfNJNb2XtoZMSCPeoo0cYMgU04ksyFIoOw5S0JUVbOhafLot+KD82vpKXOurE2+9o/awrqIxku9MRR9hozHQ==} + cpu: [arm64] + os: [win32] + requiresBuild: true + optional: true + + /@rollup/rollup-win32-ia32-msvc@4.5.1: + resolution: {integrity: sha512-zK9MRpC8946lQ9ypFn4gLpdwr5a01aQ/odiIJeL9EbgZDMgbZjjT/XzTqJvDfTmnE1kHdbG20sAeNlpc91/wbg==} + cpu: [ia32] + os: [win32] + requiresBuild: true + optional: true + + /@rollup/rollup-win32-x64-msvc@4.5.1: + resolution: {integrity: sha512-5I3Nz4Sb9TYOtkRwlH0ow+BhMH2vnh38tZ4J4mggE48M/YyJyp/0sPSxhw1UeS1+oBgQ8q7maFtSeKpeRJu41Q==} + cpu: [x64] + os: [win32] + requiresBuild: true + optional: true + /@scure/base@1.1.3: resolution: {integrity: sha512-/+SgoRjLq7Xlf0CWuLHq2LUZeL/w65kfzAPG5NH9pcmBhs+nunQTn4gvdwgMTIXnt9b2C/1SeL2XiysZEyIC9Q==} @@ -2086,48 +2365,48 @@ packages: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} dev: true - /@vitest/expect@1.0.0-beta.4: - resolution: {integrity: sha512-JOpNEva2AFxfySH3F+X+hT52Kq/ZdIrGtzWYbj6yRuBuxFqM55n/7/jV4XtQG+XkmehP3OUZGx5zISOU8KHPQw==} + /@vitest/expect@1.0.0-beta.5: + resolution: {integrity: sha512-q/TPdbXuEZZNFKILEVicojSWEq1y8qPLcAiZRQD8DsYUAV2cIjsD5lJWYaAjjUAV4lzovSci3KeISQdjUdfxQQ==} dependencies: - '@vitest/spy': 1.0.0-beta.4 - '@vitest/utils': 1.0.0-beta.4 + '@vitest/spy': 1.0.0-beta.5 + '@vitest/utils': 1.0.0-beta.5 chai: 4.3.10 - /@vitest/runner@1.0.0-beta.4: - resolution: {integrity: sha512-rlXCMp5MxMVVVN5hdhzPL9NpIkfZC0EXwAtN5gwBbCBoVRv9dBQiZ5qTw+LaNmugPl8gm76U4e4/nMZS9s6wyw==} + /@vitest/runner@1.0.0-beta.5: + resolution: {integrity: sha512-o/6ZqQoKCIdI4dmdc4Yb1u3n56dU69SABXyO5yhFZTDjEMJs1DdCQ68JK+UcrpJMQndr6q5lTFrfHEhj4XJy6w==} dependencies: - '@vitest/utils': 1.0.0-beta.4 - p-limit: 4.0.0 + '@vitest/utils': 1.0.0-beta.5 + p-limit: 5.0.0 pathe: 1.1.1 - /@vitest/snapshot@1.0.0-beta.4: - resolution: {integrity: sha512-CzmHLGo4RNEQUojYtuEz8wWKp9/p3hvXskejRRJB1iCRH48uWROmoyb2iEQUhgpQw/+WwI4wRP7jek5lp48pRA==} + /@vitest/snapshot@1.0.0-beta.5: + resolution: {integrity: sha512-fsWoc/mokLawqrLFqK9MHEyzJaGeDzU5gAgky2yZJR58VSsSvW+cesvmdv9ch39xHlTzFTRPgrWkNsmbdm2gbg==} dependencies: magic-string: 0.30.5 pathe: 1.1.1 pretty-format: 29.7.0 - /@vitest/spy@1.0.0-beta.4: - resolution: {integrity: sha512-YvKUUl7KucKzLJb8+RTd8H3G24EVPGk+CVMFawwtD/KuYjBzM8RCh3oJTTba6ktLpB8JLVy8NVTNL4Oeigqs8A==} + /@vitest/spy@1.0.0-beta.5: + resolution: {integrity: sha512-B5dx87eCiJidWGdURMS/etHE9P3JRdFEQj8HQRGI3OhMy5XcSrdAwg5oEADoqXm32GUGc7bC8Dw/q9PiCJSBIQ==} dependencies: tinyspy: 2.2.0 - /@vitest/ui@1.0.0-beta.4(vitest@1.0.0-beta.4): - resolution: {integrity: sha512-aU0EcYvrJPNNyoxnqcza0i1/yqUQ1MW/XC3aM7isOK5h/hNzx/jGmpQiY891yCT/7GTX0pdgC/glDw7ny42osQ==} + /@vitest/ui@1.0.0-beta.5(vitest@1.0.0-beta.5): + resolution: {integrity: sha512-+qnxIATVmI/Mqo4q2Uv1aGpIjCKQxVSY5FOhjx594t75r8xSMGPfjWsReINO/h5+wrHNW9FG2eUwZkjnxHvNxw==} peerDependencies: vitest: ^1.0.0-0 dependencies: - '@vitest/utils': 1.0.0-beta.4 + '@vitest/utils': 1.0.0-beta.5 fast-glob: 3.3.2 fflate: 0.8.1 flatted: 3.2.9 pathe: 1.1.1 picocolors: 1.0.0 sirv: 2.0.3 - vitest: 1.0.0-beta.4(@types/node@20.9.0)(@vitest/ui@1.0.0-beta.4) + vitest: 1.0.0-beta.5(@types/node@20.9.0)(@vitest/ui@1.0.0-beta.5) - /@vitest/utils@1.0.0-beta.4: - resolution: {integrity: sha512-YY4bhhVqyTxuNwuZJXiCM4/D0Z7Z3H3JDHNM8gXty7EyRUf4iPDQtXzIWe1r4zdTtoFnzFAeMr+891pWlv4SPA==} + /@vitest/utils@1.0.0-beta.5: + resolution: {integrity: sha512-5ippiVcc6KjnAZiMc5Gz5g1tWTG+21g5scr+cedYC+YxAjqZzOG/ncJuM/Eqq9a+/MAJJc5zOGBcDYl27x62jg==} dependencies: diff-sequences: 29.6.3 loupe: 2.3.7 @@ -2302,7 +2581,7 @@ packages: '@polkadot/api': 10.10.1 '@polkadot/keyring': 12.5.1(@polkadot/util-crypto@12.5.1)(@polkadot/util@12.5.1) '@polkadot/util-crypto': 12.5.1(@polkadot/util@12.5.1) - '@zombienet/utils': 0.0.24(@types/node@20.9.0)(typescript@5.2.2) + '@zombienet/utils': 0.0.24(@types/node@20.9.0)(typescript@5.3.2) JSONStream: 1.3.5 chai: 4.3.10 debug: 4.3.4(supports-color@8.1.1) @@ -2316,7 +2595,7 @@ packages: napi-maybe-compressed-blob: 0.0.11 peer-id: 0.16.0 tmp-promise: 3.0.3 - typescript: 5.2.2 + typescript: 5.3.2 yaml: 2.3.4 transitivePeerDependencies: - '@polkadot/util' @@ -2349,6 +2628,25 @@ packages: - typescript dev: false + /@zombienet/utils@0.0.24(@types/node@20.9.0)(typescript@5.3.2): + resolution: {integrity: sha512-CUHn4u04ryfRqCQQsZHSpMIpMxzdMvSZR86Gp3Hwexf7wZTkHNZ5hsJnQO+J/yl28ny0GcjLJSU1hZ2kMV+hqw==} + engines: {node: '>=18'} + dependencies: + cli-table3: 0.6.3 + debug: 4.3.4(supports-color@8.1.1) + mocha: 10.2.0 + nunjucks: 3.2.4 + toml: 3.0.0 + ts-node: 10.9.1(@types/node@20.9.0)(typescript@5.3.2) + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - '@types/node' + - chokidar + - supports-color + - typescript + dev: false + /JSONStream@1.3.5: resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} hasBin: true @@ -2380,6 +2678,18 @@ packages: dependencies: typescript: 5.2.2 + /abitype@0.7.1(typescript@5.3.2): + resolution: {integrity: sha512-VBkRHTDZf9Myaek/dO3yMmOzB/y2s3Zo6nVU7yaw1G+TvCHAjwaJzNGN9yo4K5D8bU/VZXKP1EJpRhFr862PlQ==} + peerDependencies: + typescript: '>=4.9.4' + zod: ^3 >=3.19.1 + peerDependenciesMeta: + zod: + optional: true + dependencies: + typescript: 5.3.2 + dev: false + /abitype@0.9.8(typescript@5.2.2): resolution: {integrity: sha512-puLifILdm+8sjyss4S+fsUN09obiT1g2YW6CtcQF+QDzxR0euzgEB29MZujC6zMk2a6SVmtttq1fc6+YFA7WYQ==} peerDependencies: @@ -2393,6 +2703,20 @@ packages: dependencies: typescript: 5.2.2 + /abitype@0.9.8(typescript@5.3.2): + resolution: {integrity: sha512-puLifILdm+8sjyss4S+fsUN09obiT1g2YW6CtcQF+QDzxR0euzgEB29MZujC6zMk2a6SVmtttq1fc6+YFA7WYQ==} + peerDependencies: + typescript: '>=5.0.4' + zod: ^3 >=3.19.1 + peerDependenciesMeta: + typescript: + optional: true + zod: + optional: true + dependencies: + typescript: 5.3.2 + dev: false + /abort-controller@3.0.0: resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} engines: {node: '>=6.5'} @@ -3500,6 +3824,36 @@ packages: '@esbuild/win32-arm64': 0.18.20 '@esbuild/win32-ia32': 0.18.20 '@esbuild/win32-x64': 0.18.20 + dev: true + + /esbuild@0.19.7: + resolution: {integrity: sha512-6brbTZVqxhqgbpqBR5MzErImcpA0SQdoKOkcWK/U30HtQxnokIpG3TX2r0IJqbFUzqLjhU/zC1S5ndgakObVCQ==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/android-arm': 0.19.7 + '@esbuild/android-arm64': 0.19.7 + '@esbuild/android-x64': 0.19.7 + '@esbuild/darwin-arm64': 0.19.7 + '@esbuild/darwin-x64': 0.19.7 + '@esbuild/freebsd-arm64': 0.19.7 + '@esbuild/freebsd-x64': 0.19.7 + '@esbuild/linux-arm': 0.19.7 + '@esbuild/linux-arm64': 0.19.7 + '@esbuild/linux-ia32': 0.19.7 + '@esbuild/linux-loong64': 0.19.7 + '@esbuild/linux-mips64el': 0.19.7 + '@esbuild/linux-ppc64': 0.19.7 + '@esbuild/linux-riscv64': 0.19.7 + '@esbuild/linux-s390x': 0.19.7 + '@esbuild/linux-x64': 0.19.7 + '@esbuild/netbsd-x64': 0.19.7 + '@esbuild/openbsd-x64': 0.19.7 + '@esbuild/sunos-x64': 0.19.7 + '@esbuild/win32-arm64': 0.19.7 + '@esbuild/win32-ia32': 0.19.7 + '@esbuild/win32-x64': 0.19.7 /escalade@3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} @@ -3905,7 +4259,6 @@ packages: onetime: 6.0.0 signal-exit: 4.1.0 strip-final-newline: 3.0.0 - dev: false /extendable-error@0.1.7: resolution: {integrity: sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==} @@ -4172,7 +4525,6 @@ packages: /get-stream@8.0.1: resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} engines: {node: '>=16'} - dev: false /get-symbol-description@1.0.0: resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} @@ -4418,7 +4770,6 @@ packages: /human-signals@5.0.0: resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} engines: {node: '>=16.17.0'} - dev: false /humanize-ms@1.2.1: resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} @@ -4692,7 +5043,6 @@ packages: /is-stream@3.0.0: resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: false /is-string@1.0.7: resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} @@ -4969,9 +5319,12 @@ packages: strip-bom: 3.0.0 dev: true - /local-pkg@0.4.3: - resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==} + /local-pkg@0.5.0: + resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} engines: {node: '>=14'} + dependencies: + mlly: 1.4.2 + pkg-types: 1.0.3 /locate-path@5.0.0: resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} @@ -5153,7 +5506,6 @@ packages: /mimic-fn@4.0.0: resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} engines: {node: '>=12'} - dev: false /min-indent@1.0.1: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} @@ -5511,7 +5863,6 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: path-key: 4.0.0 - dev: false /npmlog@5.0.1: resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} @@ -5626,7 +5977,6 @@ packages: engines: {node: '>=12'} dependencies: mimic-fn: 4.0.0 - dev: false /optionator@0.9.3: resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} @@ -5698,9 +6048,9 @@ packages: dependencies: yocto-queue: 0.1.0 - /p-limit@4.0.0: - resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + /p-limit@5.0.0: + resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==} + engines: {node: '>=18'} dependencies: yocto-queue: 1.0.0 @@ -5789,7 +6139,6 @@ packages: /path-key@4.0.0: resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} engines: {node: '>=12'} - dev: false /path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} @@ -6232,6 +6581,26 @@ packages: hasBin: true optionalDependencies: fsevents: 2.3.3 + dev: true + + /rollup@4.5.1: + resolution: {integrity: sha512-0EQribZoPKpb5z1NW/QYm3XSR//Xr8BeEXU49Lc/mQmpmVVG5jPUVrpc2iptup/0WMrY9mzas0fxH+TjYvG2CA==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.5.1 + '@rollup/rollup-android-arm64': 4.5.1 + '@rollup/rollup-darwin-arm64': 4.5.1 + '@rollup/rollup-darwin-x64': 4.5.1 + '@rollup/rollup-linux-arm-gnueabihf': 4.5.1 + '@rollup/rollup-linux-arm64-gnu': 4.5.1 + '@rollup/rollup-linux-arm64-musl': 4.5.1 + '@rollup/rollup-linux-x64-gnu': 4.5.1 + '@rollup/rollup-linux-x64-musl': 4.5.1 + '@rollup/rollup-win32-arm64-msvc': 4.5.1 + '@rollup/rollup-win32-ia32-msvc': 4.5.1 + '@rollup/rollup-win32-x64-msvc': 4.5.1 + fsevents: 2.3.3 /rrweb-cssom@0.6.0: resolution: {integrity: sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==} @@ -6402,7 +6771,6 @@ packages: /signal-exit@4.1.0: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} - dev: false /sirv@2.0.3: resolution: {integrity: sha512-O9jm9BsID1P+0HOi81VpXPoDxYP374pkOLzACAoyUQ/3OUVndNpsz6wMnY2z+yOxzbllCKZrM+9QrWsv4THnyA==} @@ -6666,7 +7034,6 @@ packages: /strip-final-newline@3.0.0: resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} engines: {node: '>=12'} - dev: false /strip-indent@3.0.0: resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} @@ -6930,6 +7297,37 @@ packages: yn: 3.1.1 dev: false + /ts-node@10.9.1(@types/node@20.9.0)(typescript@5.3.2): + resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} + hasBin: true + peerDependencies: + '@swc/core': '>=1.2.50' + '@swc/wasm': '>=1.2.50' + '@types/node': '*' + typescript: '>=2.7' + peerDependenciesMeta: + '@swc/core': + optional: true + '@swc/wasm': + optional: true + dependencies: + '@cspotcode/source-map-support': 0.8.1 + '@tsconfig/node10': 1.0.9 + '@tsconfig/node12': 1.0.11 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.4 + '@types/node': 20.9.0 + acorn: 8.11.2 + acorn-walk: 8.3.0 + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 5.3.2 + v8-compile-cache-lib: 3.0.1 + yn: 3.1.1 + dev: false + /tsconfig-paths@3.14.2: resolution: {integrity: sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==} dependencies: @@ -6981,6 +7379,42 @@ packages: - ts-node dev: true + /tsup@7.2.0(typescript@5.3.2): + resolution: {integrity: sha512-vDHlczXbgUvY3rWvqFEbSqmC1L7woozbzngMqTtL2PGBODTtWlRwGDDawhvWzr5c1QjKe4OAKqJGfE1xeXUvtQ==} + engines: {node: '>=16.14'} + hasBin: true + peerDependencies: + '@swc/core': ^1 + postcss: ^8.4.12 + typescript: '>=4.1.0' + peerDependenciesMeta: + '@swc/core': + optional: true + postcss: + optional: true + typescript: + optional: true + dependencies: + bundle-require: 4.0.2(esbuild@0.18.20) + cac: 6.7.14 + chokidar: 3.5.3 + debug: 4.3.4(supports-color@8.1.1) + esbuild: 0.18.20 + execa: 5.1.1 + globby: 11.1.0 + joycon: 3.1.1 + postcss-load-config: 4.0.1 + resolve-from: 5.0.0 + rollup: 3.29.4 + source-map: 0.8.0-beta.0 + sucrase: 3.34.0 + tree-kill: 1.2.2 + typescript: 5.3.2 + transitivePeerDependencies: + - supports-color + - ts-node + dev: true + /tsx@4.1.2: resolution: {integrity: sha512-1spM1bFV6MP2s4tO4tDC7g52fsaFdtEWdO4GfGdqi20qUgPbnAJqixOyIAvCSx1DDj3YIUB4CD06owTWUsOAuQ==} engines: {node: '>=18.0.0'} @@ -7185,6 +7619,11 @@ packages: engines: {node: '>=14.17'} hasBin: true + /typescript@5.3.2: + resolution: {integrity: sha512-6l+RyNy7oAHDfxC4FzSJcz9vnjTKxrLpDG5M2Vu4SHRVNg6xzqZp6LYSR9zjqQTu8DU/f5xwxUdADOkbrIX2gQ==} + engines: {node: '>=14.17'} + hasBin: true + /ufo@1.3.2: resolution: {integrity: sha512-o+ORpgGwaYQXgqGDwd+hkS4PuZ3QnmqMMxRuajK/a38L6fTpcE5GPIfrf+L/KemFzfUpeUQc1rRS1iDBozvnFA==} @@ -7296,17 +7735,39 @@ packages: - utf-8-validate - zod - /vite-node@1.0.0-beta.4(@types/node@20.9.0): - resolution: {integrity: sha512-YODjVvHd2Jih+TGMG3B99ktSyvET9w2cMevorAjcuQ3KKiPhDxEf2bRia2KsDHfnUGIfSpwoUdbcDdJ5xR7epg==} + /viem@1.19.3(typescript@5.3.2): + resolution: {integrity: sha512-SymIbCO0nIq2ucna8R3XV4f/lEshKGLuhYU2f6O+OAbmE2ugBxBKx2axMKQrQML87nE0jb2qqqtRJka5SO/7MA==} + peerDependencies: + typescript: '>=5.0.4' + peerDependenciesMeta: + typescript: + 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: 0.9.8(typescript@5.3.2) + isows: 1.0.3(ws@8.13.0) + typescript: 5.3.2 + ws: 8.13.0 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + - zod + dev: false + + /vite-node@1.0.0-beta.5(@types/node@20.9.0): + resolution: {integrity: sha512-iXm+GTJbR9R6V/bCM1+LQqIohL/tncZVNGIcTtzpYThBD8yiTkDPvEjy1Mf7KFACtG3qY/0VDMrkuMtqG/JFhg==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true dependencies: cac: 6.7.14 debug: 4.3.4(supports-color@8.1.1) - mlly: 1.4.2 pathe: 1.1.1 picocolors: 1.0.0 - vite: 4.5.0(@types/node@20.9.0) + vite: 5.0.2(@types/node@20.9.0) transitivePeerDependencies: - '@types/node' - less @@ -7317,7 +7778,7 @@ packages: - supports-color - terser - /vite@4.5.0(@types/node@20.9.0): + /vite@4.5.0: resolution: {integrity: sha512-ulr8rNLA6rkyFAlVWw2q5YJ91v098AFQ2R0PRFwPzREXOUJQPtFUG0t+/ZikhaOCDqFoDhN6/v8Sq0o4araFAw==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true @@ -7345,12 +7806,47 @@ packages: terser: optional: true dependencies: - '@types/node': 20.9.0 esbuild: 0.18.20 postcss: 8.4.31 rollup: 3.29.4 optionalDependencies: fsevents: 2.3.3 + dev: true + + /vite@5.0.2(@types/node@20.9.0): + resolution: {integrity: sha512-6CCq1CAJCNM1ya2ZZA7+jS2KgnhbzvxakmlIjN24cF/PXhRMzpM/z8QgsVJA/Dm5fWUWnVEsmtBoMhmerPxT0g==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + '@types/node': 20.9.0 + esbuild: 0.19.7 + postcss: 8.4.31 + rollup: 4.5.1 + optionalDependencies: + fsevents: 2.3.3 /vitepress@1.0.0-rc.10(@algolia/client-search@4.20.0)(search-insights@2.10.0)(typescript@5.2.2): resolution: {integrity: sha512-+MsahIWqq5WUEmj6MR4obcKYbT7im07jZPCQPdNJExkeOSbOAJ4xypSLx88x7rvtzWHhHc5aXbOhCRvGEGjFrw==} @@ -7365,7 +7861,7 @@ packages: mark.js: 8.11.1 minisearch: 6.2.0 shiki: 0.14.5 - vite: 4.5.0(@types/node@20.9.0) + vite: 4.5.0 vue: 3.3.8(typescript@5.2.2) transitivePeerDependencies: - '@algolia/client-search' @@ -7395,8 +7891,8 @@ packages: - universal-cookie dev: true - /vitest@1.0.0-beta.4(@types/node@20.9.0)(@vitest/ui@1.0.0-beta.4): - resolution: {integrity: sha512-WOJTqxY3hWqn4yy26SK+cx+BlPBeK/KtY9ALWkD6FLWLhSGY0QFEmarc8sdb/UGZQ8xs5pOvcQQS9JJSV8HH8g==} + /vitest@1.0.0-beta.5(@types/node@20.9.0)(@vitest/ui@1.0.0-beta.5): + resolution: {integrity: sha512-wmrGmXMKysR+JBvIwy0COgLrRSsZTR00dN+IpWBxGC4ACF5Mt/uYyrPLJZ0ixK4P3bxI16vd92JXMsuGnm9gQQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -7421,18 +7917,18 @@ packages: optional: true dependencies: '@types/node': 20.9.0 - '@vitest/expect': 1.0.0-beta.4 - '@vitest/runner': 1.0.0-beta.4 - '@vitest/snapshot': 1.0.0-beta.4 - '@vitest/spy': 1.0.0-beta.4 - '@vitest/ui': 1.0.0-beta.4(vitest@1.0.0-beta.4) - '@vitest/utils': 1.0.0-beta.4 - acorn: 8.11.2 + '@vitest/expect': 1.0.0-beta.5 + '@vitest/runner': 1.0.0-beta.5 + '@vitest/snapshot': 1.0.0-beta.5 + '@vitest/spy': 1.0.0-beta.5 + '@vitest/ui': 1.0.0-beta.5(vitest@1.0.0-beta.5) + '@vitest/utils': 1.0.0-beta.5 acorn-walk: 8.3.0 cac: 6.7.14 chai: 4.3.10 debug: 4.3.4(supports-color@8.1.1) - local-pkg: 0.4.3 + execa: 8.0.1 + local-pkg: 0.5.0 magic-string: 0.30.5 pathe: 1.1.1 picocolors: 1.0.0 @@ -7440,8 +7936,8 @@ packages: strip-literal: 1.3.0 tinybench: 2.5.1 tinypool: 0.8.1 - vite: 4.5.0(@types/node@20.9.0) - vite-node: 1.0.0-beta.4(@types/node@20.9.0) + vite: 5.0.2(@types/node@20.9.0) + vite-node: 1.0.0-beta.5(@types/node@20.9.0) why-is-node-running: 2.2.2 transitivePeerDependencies: - less @@ -7544,6 +8040,20 @@ packages: - typescript - zod + /web3-eth-abi@4.1.4(typescript@5.3.2): + resolution: {integrity: sha512-YLOBVVxxxLYKXjaiwZjEWYEnkMmmrm0nswZsvzSsINy/UgbWbzfoiZU+zn4YNWIEhORhx1p37iS3u/dP6VyC2w==} + engines: {node: '>=14', npm: '>=6.12.0'} + dependencies: + abitype: 0.7.1(typescript@5.3.2) + web3-errors: 1.1.4 + web3-types: 1.3.1 + web3-utils: 4.0.7 + web3-validator: 2.0.3 + transitivePeerDependencies: + - typescript + - zod + dev: false + /web3-eth-accounts@4.1.0: resolution: {integrity: sha512-UFtAsOANsvihTQ6SSvOKguupmQkResyR9M9JNuOxYpKh7+3W+sTnbLXw2UbOSYIsKlc1mpqqW9bVr1SjqHDpUQ==} engines: {node: '>=14', npm: '>=6.12.0'} @@ -7574,6 +8084,25 @@ packages: - utf-8-validate - zod + /web3-eth-contract@4.1.3(typescript@5.3.2): + resolution: {integrity: sha512-F6e3eyetUDiNOb78EDVJtNOb0H1GPz3xAZH8edSfYdhaxI9tTutP2V3p++kh2ZJ/RrdE2+xil7H/nPLgHymBvg==} + engines: {node: '>=14', npm: '>=6.12.0'} + dependencies: + web3-core: 4.3.1 + web3-errors: 1.1.4 + web3-eth: 4.3.1(typescript@5.3.2) + web3-eth-abi: 4.1.4(typescript@5.3.2) + web3-types: 1.3.1 + web3-utils: 4.0.7 + web3-validator: 2.0.3 + transitivePeerDependencies: + - bufferutil + - encoding + - typescript + - utf-8-validate + - zod + dev: false + /web3-eth-ens@4.0.8(typescript@5.2.2): resolution: {integrity: sha512-nj0JfeD45BbzVJcVYpUJnSo8iwDcY9CQ7CZhhIVVOFjvpMAPw0zEwjTvZEIQyCW61OoDG9xcBzwxe2tZoYhMRw==} engines: {node: '>=14', npm: '>=6.12.0'} @@ -7594,6 +8123,27 @@ packages: - utf-8-validate - zod + /web3-eth-ens@4.0.8(typescript@5.3.2): + resolution: {integrity: sha512-nj0JfeD45BbzVJcVYpUJnSo8iwDcY9CQ7CZhhIVVOFjvpMAPw0zEwjTvZEIQyCW61OoDG9xcBzwxe2tZoYhMRw==} + engines: {node: '>=14', npm: '>=6.12.0'} + dependencies: + '@adraffy/ens-normalize': 1.10.0 + web3-core: 4.3.1 + web3-errors: 1.1.4 + web3-eth: 4.3.1(typescript@5.3.2) + web3-eth-contract: 4.1.3(typescript@5.3.2) + web3-net: 4.0.7 + web3-types: 1.3.1 + web3-utils: 4.0.7 + web3-validator: 2.0.3 + transitivePeerDependencies: + - bufferutil + - encoding + - typescript + - utf-8-validate + - zod + dev: false + /web3-eth-iban@4.0.7: resolution: {integrity: sha512-8weKLa9KuKRzibC87vNLdkinpUE30gn0IGY027F8doeJdcPUfsa4IlBgNC4k4HLBembBB2CTU0Kr/HAOqMeYVQ==} engines: {node: '>=14', npm: '>=6.12.0'} @@ -7620,6 +8170,24 @@ packages: - utf-8-validate - zod + /web3-eth-personal@4.0.8(typescript@5.3.2): + resolution: {integrity: sha512-sXeyLKJ7ddQdMxz1BZkAwImjqh7OmKxhXoBNF3isDmD4QDpMIwv/t237S3q4Z0sZQamPa/pHebJRWVuvP8jZdw==} + engines: {node: '>=14', npm: '>=6.12.0'} + dependencies: + web3-core: 4.3.1 + web3-eth: 4.3.1(typescript@5.3.2) + web3-rpc-methods: 1.1.3 + web3-types: 1.3.1 + web3-utils: 4.0.7 + web3-validator: 2.0.3 + transitivePeerDependencies: + - bufferutil + - encoding + - typescript + - utf-8-validate + - zod + dev: false + /web3-eth@4.3.1(typescript@5.2.2): resolution: {integrity: sha512-zJir3GOXooHQT85JB8SrufE+Voo5TtXdjhf1D8IGXmxM8MrhI8AT+Pgt4siBTupJcu5hF17iGmTP/Nj2XnaibQ==} engines: {node: '>=14', npm: '>=6.12.0'} @@ -7642,6 +8210,29 @@ packages: - utf-8-validate - zod + /web3-eth@4.3.1(typescript@5.3.2): + resolution: {integrity: sha512-zJir3GOXooHQT85JB8SrufE+Voo5TtXdjhf1D8IGXmxM8MrhI8AT+Pgt4siBTupJcu5hF17iGmTP/Nj2XnaibQ==} + engines: {node: '>=14', npm: '>=6.12.0'} + dependencies: + setimmediate: 1.0.5 + web3-core: 4.3.1 + web3-errors: 1.1.4 + web3-eth-abi: 4.1.4(typescript@5.3.2) + web3-eth-accounts: 4.1.0 + web3-net: 4.0.7 + web3-providers-ws: 4.0.7 + web3-rpc-methods: 1.1.3 + web3-types: 1.3.1 + web3-utils: 4.0.7 + web3-validator: 2.0.3 + transitivePeerDependencies: + - bufferutil + - encoding + - typescript + - utf-8-validate + - zod + dev: false + /web3-net@4.0.7: resolution: {integrity: sha512-SzEaXFrBjY25iQGk5myaOfO9ZyfTwQEa4l4Ps4HDNVMibgZji3WPzpjq8zomVHMwi8bRp6VV7YS71eEsX7zLow==} engines: {node: '>=14', npm: '>=6.12.0'} @@ -7754,6 +8345,34 @@ packages: - utf-8-validate - zod + /web3@4.2.2(typescript@5.3.2): + resolution: {integrity: sha512-im7weoHY7TW87nhFk10ysupZnsDJEO/xDpz985AgrTd/7KxExlzjjKd+4nue0WskUF0th0mgoMs1YaA8xUjCjw==} + engines: {node: '>=14.0.0', npm: '>=6.12.0'} + dependencies: + web3-core: 4.3.1 + web3-errors: 1.1.4 + web3-eth: 4.3.1(typescript@5.3.2) + web3-eth-abi: 4.1.4(typescript@5.3.2) + web3-eth-accounts: 4.1.0 + web3-eth-contract: 4.1.3(typescript@5.3.2) + web3-eth-ens: 4.0.8(typescript@5.3.2) + web3-eth-iban: 4.0.7 + web3-eth-personal: 4.0.8(typescript@5.3.2) + web3-net: 4.0.7 + web3-providers-http: 4.1.0 + web3-providers-ws: 4.0.7 + web3-rpc-methods: 1.1.3 + web3-types: 1.3.1 + web3-utils: 4.0.7 + web3-validator: 2.0.3 + transitivePeerDependencies: + - bufferutil + - encoding + - typescript + - utf-8-validate + - zod + dev: false + /webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} diff --git a/test/package.json b/test/package.json index 201e5f74..1997f7bb 100644 --- a/test/package.json +++ b/test/package.json @@ -23,7 +23,7 @@ "@polkadot/api-augment": "^10.10.1", "@polkadot/util": "^12.5.1", "@types/node": "^20.9.0", - "@vitest/ui": "1.0.0-beta.4", + "@vitest/ui": "1.0.0-beta.5", "bun-types": "^1.0.11", "chai": "^4.3.10", "chalk": "^5.3.0", @@ -34,7 +34,7 @@ "tsx": "^4.1.2", "typescript": "^5.2.2", "viem": "^1.19.3", - "vitest": "1.0.0-beta.4", + "vitest": "1.0.0-beta.5", "web3": "4.2.2", "yargs": "^17.7.2" } diff --git a/test/suites/basic/test_apis.ts b/test/suites/basic/test_apis.ts index 5f51d766..56ceb791 100644 --- a/test/suites/basic/test_apis.ts +++ b/test/suites/basic/test_apis.ts @@ -1,10 +1,10 @@ -import { beforeAll, describeSuite, expect } from "@moonwall/cli"; +import { describeSuite, expect } from "@moonwall/cli"; describeSuite({ id: "B01", title: "Tests that are using the production APIs", foundationMethods: "read_only", - testCases: ({ context, it }) => { + testCases: ({ it }) => { it({ id: "T01", title: "Passing Test",