From b99e47da958b319fe83c250d615ecc5082e31af4 Mon Sep 17 00:00:00 2001 From: Tim B <79199034+timbrinded@users.noreply.github.com> Date: Tue, 8 Apr 2025 15:42:45 +0000 Subject: [PATCH] =?UTF-8?q?test:=20=E2=9A=99=EF=B8=8F=20Add=20Kurtosis=20L?= =?UTF-8?q?aunch=20Script=20(#34)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR adds a script one-liner to spin up an ethereum network, with attached explorers and deploys our `/contracts` folder into there. --------- Co-authored-by: Facundo Farall <37149322+ffarall@users.noreply.github.com> --- biome.json | 41 +++++ contracts/.gitignore | 2 +- resources/DELETE.ME | 0 resources/mac_docker.png | Bin 0 -> 213209 bytes test/.gitignore | 38 ++++ test/DELETE.ME | 0 test/README.md | 124 +++++++++++++ test/biome.json | 4 + test/bun.lock | 276 +++++++++++++++++++++++++++++ test/bun.lockb | Bin 0 -> 47703 bytes test/configs/minimal.yaml | 20 +++ test/package.json | 29 +++ test/scripts/send-txn.ts | 54 ++++++ test/scripts/start-kurtosis.ts | 127 +++++++++++++ test/tsconfig.json | 27 +++ test/util/docker-service-mapper.ts | 104 +++++++++++ 16 files changed, 845 insertions(+), 1 deletion(-) create mode 100644 biome.json delete mode 100644 resources/DELETE.ME create mode 100644 resources/mac_docker.png create mode 100644 test/.gitignore delete mode 100644 test/DELETE.ME create mode 100644 test/README.md create mode 100644 test/biome.json create mode 100644 test/bun.lock create mode 100755 test/bun.lockb create mode 100644 test/configs/minimal.yaml create mode 100644 test/package.json create mode 100644 test/scripts/send-txn.ts create mode 100644 test/scripts/start-kurtosis.ts create mode 100644 test/tsconfig.json create mode 100644 test/util/docker-service-mapper.ts diff --git a/biome.json b/biome.json new file mode 100644 index 00000000..f9f3dc82 --- /dev/null +++ b/biome.json @@ -0,0 +1,41 @@ +{ + "$schema": "https://biomejs.dev/schemas/1.8.2/schema.json", + "files": { + "include": ["*.js", "*.ts", "*.json", "*.yml", "*.md"], + "ignore": ["./node_modules/*", "./target/*", "**/tmp/*", "*.spec.json"] + }, + "organizeImports": { + "enabled": true + }, + "formatter": { + "enabled": true, + "attributePosition": "multiline" + }, + "json": { + "formatter": { + "enabled": false + } + }, + "javascript": { + "formatter": { + "trailingCommas": "none", + "semicolons": "always", + "indentStyle": "space", + "lineWidth": 100, + "quoteStyle": "double" + } + }, + "linter": { + "enabled": true, + "rules": { + "recommended": true, + "suspicious": { + "noExplicitAny": "off", + "noAsyncPromiseExecutor": "off" + }, + "performance": { + "noAccumulatingSpread": "off" + } + } + } +} diff --git a/contracts/.gitignore b/contracts/.gitignore index 85198aaa..69d77dda 100644 --- a/contracts/.gitignore +++ b/contracts/.gitignore @@ -4,7 +4,7 @@ out/ # Ignores development broadcast logs !/broadcast -/broadcast/*/31337/ +/broadcast/*/3*/ /broadcast/**/dry-run/ # Docs diff --git a/resources/DELETE.ME b/resources/DELETE.ME deleted file mode 100644 index e69de29b..00000000 diff --git a/resources/mac_docker.png b/resources/mac_docker.png new file mode 100644 index 0000000000000000000000000000000000000000..d8430088351828b34dd184d25a3e3ccad6bdfa47 GIT binary patch literal 213209 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

@a@r!EZw{u>0bR&9><7^l)BE=|I}W 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

Nc@jQs>ihg$VX# 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 literal 0 HcmV?d00001 diff --git a/test/.gitignore b/test/.gitignore new file mode 100644 index 00000000..44372ad6 --- /dev/null +++ b/test/.gitignore @@ -0,0 +1,38 @@ +# dependencies (bun install) +node_modules + +# output +out +dist +*.tgz + +# code coverage +coverage +*.lcov + +# logs +logs +_.log +report.[0-9]_.[0-9]_.[0-9]_.[0-9]_.json + +# dotenv environment variable files +.env +.env.development.local +.env.test.local +.env.production.local +.env.local + +# caches +.eslintcache +.cache +*.tsbuildinfo + +# IntelliJ based IDEs +.idea + +# Finder (MacOS) folder config +.DS_Store + + +# Test files +tmp/* \ No newline at end of file diff --git a/test/DELETE.ME b/test/DELETE.ME deleted file mode 100644 index e69de29b..00000000 diff --git a/test/README.md b/test/README.md new file mode 100644 index 00000000..4aadc564 --- /dev/null +++ b/test/README.md @@ -0,0 +1,124 @@ +# End-to-End Test Environment + +## Contents + +```sh +. +├── README.md +├── configs # Configurations for test networks +└── scripts # Helper scripts for interacting with the network +``` + +## Pre-requisites + +- [Kurtosis](https://docs.kurtosis.com/install): For launching test networks +- [Bun](https://bun.sh/): TypeScript runtime and package manager +- [Docker](https://www.docker.com/): For container management + +## QuickStart + +Run: `bun start:e2e:minimal` + +## Manual Deployment + +Follow these steps to set up and interact with your test environment: + +1. **Deploy a minimal test environment** + + ```bash + bun start:e2e:minimal + ``` + + This script will: + + 1. Start a Kurtosis network with (among other things): + - 2 x Ethereum Execution Layer clients (reth) + - 2 x Ethereum Consensus Layer clients (lighthouse) + - 1 x Blockscout frontend + - 1 x Blockscout backend + 2. Send a test transaction to the network using the [send-txn.ts](./scripts/send-txn.ts) script. + 3. Deploy and verify all DataHaven smart contracts needed for a local deployment, using the [Deploy.s.sol](../contracts/script/deploy/Deploy.s.sol) script. + +2. **Explore the network** + + - Block Explorer: [http://127.0.0.1:3000](http://127.0.0.1:3000). + - Kurtosis Dashboard: Run `kurtosis web` to access. From it you can see all the services running in the network, as well as their ports, status and logs. + +## Network Management + +- **Stop the test environment** + + ```bash + bun stop:e2e:minimal + ``` + +- **Stop the Kurtosis engine completely** + + ```bash + bun stop:kurtosis-engine + ``` + +## Troubleshooting + +### E2E Network Launch doesn't work + +#### Script halts unexpectedly + +When running `start:e2e:minimal` the script appears to halt after the following: + +```shell +## Setting up 1 EVM. + +========================== + +Chain 3151908 + +Estimated gas price: 2.75 gwei + +Estimated total gas used for script: 71556274 + +Estimated amount required: 0.1967797535 ETH + +========================== +``` + +This is due to how forge streams output to stdout, but is infact still deploying contracts to the chain. +You should be able to see in blockscout the deploy script is indeed still working. + +#### Errors with deploying forge scripts on kurtosis network + +Try running `forge clean` to clear any spurious build artefacts, and running forge build again. Also try deploying manually to the still running kurtosis network. + +#### Blockscout is empty + +If you look at the browser console, if you see the following: + +```browser +Content-Security-Policy: The page’s settings blocked the loading of a resource (connect-src) at http://127.0.0.1:3000/node-api/proxy/api/v2/stats because it violates the following directive: “connect-src ' ... +``` + +this is a result of CORS and CSP errors due to running this as a local docker network. + +Make sure you are connected directly to `http://127.0.0.1:3000` (not `localhost`). + +Alternatively, you can try installing a browser addon such as [anti-CORS / anti-CSP](https://chromewebstore.google.com/detail/anti-cors-anti-csp/fcbmpcbjjphnaohicmhefjihollidgkp) to circumvent this problem. + +#### Weird forge Errors + +In the `/contracts` directory, you can try to run `forge clean` and `forge build` to see if it fixes the issue. + +#### Linux: See if disabling ipV6 helps + +I have found that ipV6 on Arch Linux does not play very nicely with Kurtosis networks. Disabling it completely fixed the issue for me. + +#### macOS: Verify Docker networking settings + +![Docker Network Settings](../resources/mac_docker.png) + +If using Docker Desktop, make sure settings have permissive networking enabled. + +## Further Information + +- [Kurtosis](https://docs.kurtosis.com/): Used for launching a full Ethereum network +- [Zombienet](https://paritytech.github.io/zombienet/): Used for launching a Polkadot-SDK based network +- [Bun](https://bun.sh/): TypeScript runtime and ecosystem tooling diff --git a/test/biome.json b/test/biome.json new file mode 100644 index 00000000..8381248f --- /dev/null +++ b/test/biome.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://biomejs.dev/schemas/1.8.2/schema.json", + "extends": ["../biome.json"] +} diff --git a/test/bun.lock b/test/bun.lock new file mode 100644 index 00000000..1cf7b971 --- /dev/null +++ b/test/bun.lock @@ -0,0 +1,276 @@ +{ + "lockfileVersion": 1, + "workspaces": { + "": { + "name": "test", + "dependencies": { + "@biomejs/biome": "^1.9.4", + "@dotenvx/dotenvx": "^1.39.0", + "@types/dockerode": "^3.3.37", + "dockerode": "^4.0.5", + "dotenv": "^16.4.7", + "tiny-invariant": "^1.3.3", + "viem": "^2.25.0", + }, + "devDependencies": { + "@types/bun": "latest", + }, + "peerDependencies": { + "typescript": "^5", + }, + }, + }, + "packages": { + "@adraffy/ens-normalize": ["@adraffy/ens-normalize@1.11.0", "", {}, "sha512-/3DDPKHqqIqxUULp8yP4zODUY1i+2xvVWsv8A79xGWdCAG+8sb0hRh0Rk2QyOJUnnbyPUAZYcpBuRe3nS2OIUg=="], + + "@balena/dockerignore": ["@balena/dockerignore@1.0.2", "", {}, "sha512-wMue2Sy4GAVTk6Ic4tJVcnfdau+gx2EnG7S+uAEe+TWJFqE4YoWN4/H8MSLj4eYJKxGg26lZwboEniNiNwZQ6Q=="], + + "@biomejs/biome": ["@biomejs/biome@1.9.4", "", { "optionalDependencies": { "@biomejs/cli-darwin-arm64": "1.9.4", "@biomejs/cli-darwin-x64": "1.9.4", "@biomejs/cli-linux-arm64": "1.9.4", "@biomejs/cli-linux-arm64-musl": "1.9.4", "@biomejs/cli-linux-x64": "1.9.4", "@biomejs/cli-linux-x64-musl": "1.9.4", "@biomejs/cli-win32-arm64": "1.9.4", "@biomejs/cli-win32-x64": "1.9.4" }, "bin": { "biome": "bin/biome" } }, "sha512-1rkd7G70+o9KkTn5KLmDYXihGoTaIGO9PIIN2ZB7UJxFrWw04CZHPYiMRjYsaDvVV7hP1dYNRLxSANLaBFGpog=="], + + "@biomejs/cli-darwin-arm64": ["@biomejs/cli-darwin-arm64@1.9.4", "", { "os": "darwin", "cpu": "arm64" }, "sha512-bFBsPWrNvkdKrNCYeAp+xo2HecOGPAy9WyNyB/jKnnedgzl4W4Hb9ZMzYNbf8dMCGmUdSavlYHiR01QaYR58cw=="], + + "@biomejs/cli-darwin-x64": ["@biomejs/cli-darwin-x64@1.9.4", "", { "os": "darwin", "cpu": "x64" }, "sha512-ngYBh/+bEedqkSevPVhLP4QfVPCpb+4BBe2p7Xs32dBgs7rh9nY2AIYUL6BgLw1JVXV8GlpKmb/hNiuIxfPfZg=="], + + "@biomejs/cli-linux-arm64": ["@biomejs/cli-linux-arm64@1.9.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-fJIW0+LYujdjUgJJuwesP4EjIBl/N/TcOX3IvIHJQNsAqvV2CHIogsmA94BPG6jZATS4Hi+xv4SkBBQSt1N4/g=="], + + "@biomejs/cli-linux-arm64-musl": ["@biomejs/cli-linux-arm64-musl@1.9.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-v665Ct9WCRjGa8+kTr0CzApU0+XXtRgwmzIf1SeKSGAv+2scAlW6JR5PMFo6FzqqZ64Po79cKODKf3/AAmECqA=="], + + "@biomejs/cli-linux-x64": ["@biomejs/cli-linux-x64@1.9.4", "", { "os": "linux", "cpu": "x64" }, "sha512-lRCJv/Vi3Vlwmbd6K+oQ0KhLHMAysN8lXoCI7XeHlxaajk06u7G+UsFSO01NAs5iYuWKmVZjmiOzJ0OJmGsMwg=="], + + "@biomejs/cli-linux-x64-musl": ["@biomejs/cli-linux-x64-musl@1.9.4", "", { "os": "linux", "cpu": "x64" }, "sha512-gEhi/jSBhZ2m6wjV530Yy8+fNqG8PAinM3oV7CyO+6c3CEh16Eizm21uHVsyVBEB6RIM8JHIl6AGYCv6Q6Q9Tg=="], + + "@biomejs/cli-win32-arm64": ["@biomejs/cli-win32-arm64@1.9.4", "", { "os": "win32", "cpu": "arm64" }, "sha512-tlbhLk+WXZmgwoIKwHIHEBZUwxml7bRJgk0X2sPyNR3S93cdRq6XulAZRQJ17FYGGzWne0fgrXBKpl7l4M87Hg=="], + + "@biomejs/cli-win32-x64": ["@biomejs/cli-win32-x64@1.9.4", "", { "os": "win32", "cpu": "x64" }, "sha512-8Y5wMhVIPaWe6jw2H+KlEm4wP/f7EW3810ZLmDlrEEy5KvBsb9ECEfu/kMWD484ijfQ8+nIi0giMgu9g1UAuuA=="], + + "@dotenvx/dotenvx": ["@dotenvx/dotenvx@1.39.0", "", { "dependencies": { "commander": "^11.1.0", "dotenv": "^16.4.5", "eciesjs": "^0.4.10", "execa": "^5.1.1", "fdir": "^6.2.0", "ignore": "^5.3.0", "object-treeify": "1.1.33", "picomatch": "^4.0.2", "which": "^4.0.0" }, "bin": { "dotenvx": "src/cli/dotenvx.js", "git-dotenvx": "src/cli/dotenvx.js" } }, "sha512-qGfDpL/3S17MQYXpR3HkBS5xNQ7wiFlqLdpr+iIQzv17aMRcSlgL4EjMIsYFZ540Dq17J+y5FVElA1AkVoXiUA=="], + + "@ecies/ciphers": ["@ecies/ciphers@0.2.3", "", { "peerDependencies": { "@noble/ciphers": "^1.0.0" } }, "sha512-tapn6XhOueMwht3E2UzY0ZZjYokdaw9XtL9kEyjhQ/Fb9vL9xTFbOaI+fV0AWvTpYu4BNloC6getKW6NtSg4mA=="], + + "@grpc/grpc-js": ["@grpc/grpc-js@1.13.2", "", { "dependencies": { "@grpc/proto-loader": "^0.7.13", "@js-sdsl/ordered-map": "^4.4.2" } }, "sha512-nnR5nmL6lxF8YBqb6gWvEgLdLh/Fn+kvAdX5hUOnt48sNSb0riz/93ASd2E5gvanPA41X6Yp25bIfGRp1SMb2g=="], + + "@grpc/proto-loader": ["@grpc/proto-loader@0.7.13", "", { "dependencies": { "lodash.camelcase": "^4.3.0", "long": "^5.0.0", "protobufjs": "^7.2.5", "yargs": "^17.7.2" }, "bin": { "proto-loader-gen-types": "build/bin/proto-loader-gen-types.js" } }, "sha512-AiXO/bfe9bmxBjxxtYxFAXGZvMaN5s8kO+jBHAJCON8rJoB5YS/D6X7ZNc6XQkuHNmyl4CYaMI1fJ/Gn27RGGw=="], + + "@js-sdsl/ordered-map": ["@js-sdsl/ordered-map@4.4.2", "", {}, "sha512-iUKgm52T8HOE/makSxjqoWhe95ZJA1/G1sYsGev2JDKUSS14KAgg1LHb+Ba+IPow0xflbnSkOsZcO08C7w1gYw=="], + + "@noble/ciphers": ["@noble/ciphers@1.2.1", "", {}, "sha512-rONPWMC7PeExE077uLE4oqWrZ1IvAfz3oH9LibVAcVCopJiA9R62uavnbEzdkVmJYI6M6Zgkbeb07+tWjlq2XA=="], + + "@noble/curves": ["@noble/curves@1.8.1", "", { "dependencies": { "@noble/hashes": "1.7.1" } }, "sha512-warwspo+UYUPep0Q+vtdVB4Ugn8GGQj8iyB3gnRWsztmUHTI3S1nhdiWNsPUGL0vud7JlRRk1XEu7Lq1KGTnMQ=="], + + "@noble/hashes": ["@noble/hashes@1.7.1", "", {}, "sha512-B8XBPsn4vT/KJAGqDzbwztd+6Yte3P4V7iafm24bxgDe/mlRuK6xmWPuCNrKt2vDafZ8MfJLlchDG/vYafQEjQ=="], + + "@protobufjs/aspromise": ["@protobufjs/aspromise@1.1.2", "", {}, "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ=="], + + "@protobufjs/base64": ["@protobufjs/base64@1.1.2", "", {}, "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg=="], + + "@protobufjs/codegen": ["@protobufjs/codegen@2.0.4", "", {}, "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg=="], + + "@protobufjs/eventemitter": ["@protobufjs/eventemitter@1.1.0", "", {}, "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q=="], + + "@protobufjs/fetch": ["@protobufjs/fetch@1.1.0", "", { "dependencies": { "@protobufjs/aspromise": "^1.1.1", "@protobufjs/inquire": "^1.1.0" } }, "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ=="], + + "@protobufjs/float": ["@protobufjs/float@1.0.2", "", {}, "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ=="], + + "@protobufjs/inquire": ["@protobufjs/inquire@1.1.0", "", {}, "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q=="], + + "@protobufjs/path": ["@protobufjs/path@1.1.2", "", {}, "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA=="], + + "@protobufjs/pool": ["@protobufjs/pool@1.1.0", "", {}, "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw=="], + + "@protobufjs/utf8": ["@protobufjs/utf8@1.1.0", "", {}, "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw=="], + + "@scure/base": ["@scure/base@1.2.4", "", {}, "sha512-5Yy9czTO47mqz+/J8GM6GIId4umdCk1wc1q8rKERQulIoc8VP9pzDcghv10Tl2E7R96ZUx/PhND3ESYUQX8NuQ=="], + + "@scure/bip32": ["@scure/bip32@1.6.2", "", { "dependencies": { "@noble/curves": "~1.8.1", "@noble/hashes": "~1.7.1", "@scure/base": "~1.2.2" } }, "sha512-t96EPDMbtGgtb7onKKqxRLfE5g05k7uHnHRM2xdE6BP/ZmxaLtPek4J4KfVn/90IQNrU1IOAqMgiDtUdtbe3nw=="], + + "@scure/bip39": ["@scure/bip39@1.5.4", "", { "dependencies": { "@noble/hashes": "~1.7.1", "@scure/base": "~1.2.4" } }, "sha512-TFM4ni0vKvCfBpohoh+/lY05i9gRbSwXWngAsF4CABQxoaOHijxuaZ2R6cStDQ5CHtHO9aGJTr4ksVJASRRyMA=="], + + "@types/bun": ["@types/bun@1.2.8", "", { "dependencies": { "bun-types": "1.2.7" } }, "sha512-t8L1RvJVUghW5V+M/fL3Thbxcs0HwNsXsnTEBEfEVqGteiJToOlZ/fyOEaR1kZsNqnu+3XA4RI/qmnX4w6+S+w=="], + + "@types/docker-modem": ["@types/docker-modem@3.0.6", "", { "dependencies": { "@types/node": "*", "@types/ssh2": "*" } }, "sha512-yKpAGEuKRSS8wwx0joknWxsmLha78wNMe9R2S3UNsVOkZded8UqOrV8KoeDXoXsjndxwyF3eIhyClGbO1SEhEg=="], + + "@types/dockerode": ["@types/dockerode@3.3.37", "", { "dependencies": { "@types/docker-modem": "*", "@types/node": "*", "@types/ssh2": "*" } }, "sha512-r+IoKpE5MLKaeD8CvoEh39ckWMLHR/+WBMoRQxrkL+apJqEWLMhBHh+93KIfyPWGd6gK7Q21jpoULKgNoRI0YA=="], + + "@types/node": ["@types/node@22.14.0", "", { "dependencies": { "undici-types": "~6.21.0" } }, "sha512-Kmpl+z84ILoG+3T/zQFyAJsU6EPTmOCj8/2+83fSN6djd6I4o7uOuGIH6vq3PrjY5BGitSbFuMN18j3iknubbA=="], + + "@types/ssh2": ["@types/ssh2@1.15.5", "", { "dependencies": { "@types/node": "^18.11.18" } }, "sha512-N1ASjp/nXH3ovBHddRJpli4ozpk6UdDYIX4RJWFa9L1YKnzdhTlVmiGHm4DZnj/jLbqZpes4aeR30EFGQtvhQQ=="], + + "@types/ws": ["@types/ws@8.18.1", "", { "dependencies": { "@types/node": "*" } }, "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg=="], + + "abitype": ["abitype@1.0.8", "", { "peerDependencies": { "typescript": ">=5.0.4", "zod": "^3 >=3.22.0" }, "optionalPeers": ["typescript", "zod"] }, "sha512-ZeiI6h3GnW06uYDLx0etQtX/p8E24UaHHBj57RSjK7YBFe7iuVn07EDpOeP451D06sF27VOz9JJPlIKJmXgkEg=="], + + "ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], + + "ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="], + + "asn1": ["asn1@0.2.6", "", { "dependencies": { "safer-buffer": "~2.1.0" } }, "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ=="], + + "base64-js": ["base64-js@1.5.1", "", {}, "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="], + + "bcrypt-pbkdf": ["bcrypt-pbkdf@1.0.2", "", { "dependencies": { "tweetnacl": "^0.14.3" } }, "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w=="], + + "bl": ["bl@4.1.0", "", { "dependencies": { "buffer": "^5.5.0", "inherits": "^2.0.4", "readable-stream": "^3.4.0" } }, "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w=="], + + "buffer": ["buffer@5.7.1", "", { "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.1.13" } }, "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ=="], + + "buildcheck": ["buildcheck@0.0.6", "", {}, "sha512-8f9ZJCUXyT1M35Jx7MkBgmBMo3oHTTBIPLiY9xyL0pl3T5RwcPEY8cUHr5LBNfu/fk6c2T4DJZuVM/8ZZT2D2A=="], + + "bun-types": ["bun-types@1.2.7", "", { "dependencies": { "@types/node": "*", "@types/ws": "*" } }, "sha512-P4hHhk7kjF99acXqKvltyuMQ2kf/rzIw3ylEDpCxDS9Xa0X0Yp/gJu/vDCucmWpiur5qJ0lwB2bWzOXa2GlHqA=="], + + "chownr": ["chownr@1.1.4", "", {}, "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg=="], + + "cliui": ["cliui@8.0.1", "", { "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", "wrap-ansi": "^7.0.0" } }, "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ=="], + + "color-convert": ["color-convert@2.0.1", "", { "dependencies": { "color-name": "~1.1.4" } }, "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="], + + "color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="], + + "commander": ["commander@11.1.0", "", {}, "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ=="], + + "cpu-features": ["cpu-features@0.0.10", "", { "dependencies": { "buildcheck": "~0.0.6", "nan": "^2.19.0" } }, "sha512-9IkYqtX3YHPCzoVg1Py+o9057a3i0fp7S530UWokCSaFVTc7CwXPRiOjRjBQQ18ZCNafx78YfnG+HALxtVmOGA=="], + + "cross-spawn": ["cross-spawn@7.0.6", "", { "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" } }, "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA=="], + + "debug": ["debug@4.4.0", "", { "dependencies": { "ms": "^2.1.3" } }, "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA=="], + + "docker-modem": ["docker-modem@5.0.6", "", { "dependencies": { "debug": "^4.1.1", "readable-stream": "^3.5.0", "split-ca": "^1.0.1", "ssh2": "^1.15.0" } }, "sha512-ens7BiayssQz/uAxGzH8zGXCtiV24rRWXdjNha5V4zSOcxmAZsfGVm/PPFbwQdqEkDnhG+SyR9E3zSHUbOKXBQ=="], + + "dockerode": ["dockerode@4.0.5", "", { "dependencies": { "@balena/dockerignore": "^1.0.2", "@grpc/grpc-js": "^1.11.1", "@grpc/proto-loader": "^0.7.13", "docker-modem": "^5.0.6", "protobufjs": "^7.3.2", "tar-fs": "~2.1.2", "uuid": "^10.0.0" } }, "sha512-ZPmKSr1k1571Mrh7oIBS/j0AqAccoecY2yH420ni5j1KyNMgnoTh4Nu4FWunh0HZIJmRSmSysJjBIpa/zyWUEA=="], + + "dotenv": ["dotenv@16.4.7", "", {}, "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ=="], + + "eciesjs": ["eciesjs@0.4.14", "", { "dependencies": { "@ecies/ciphers": "^0.2.2", "@noble/ciphers": "^1.0.0", "@noble/curves": "^1.6.0", "@noble/hashes": "^1.5.0" } }, "sha512-eJAgf9pdv214Hn98FlUzclRMYWF7WfoLlkS9nWMTm1qcCwn6Ad4EGD9lr9HXMBfSrZhYQujRE+p0adPRkctC6A=="], + + "emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="], + + "end-of-stream": ["end-of-stream@1.4.4", "", { "dependencies": { "once": "^1.4.0" } }, "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q=="], + + "escalade": ["escalade@3.2.0", "", {}, "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA=="], + + "eventemitter3": ["eventemitter3@5.0.1", "", {}, "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA=="], + + "execa": ["execa@5.1.1", "", { "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^6.0.0", "human-signals": "^2.1.0", "is-stream": "^2.0.0", "merge-stream": "^2.0.0", "npm-run-path": "^4.0.1", "onetime": "^5.1.2", "signal-exit": "^3.0.3", "strip-final-newline": "^2.0.0" } }, "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg=="], + + "fdir": ["fdir@6.4.3", "", { "peerDependencies": { "picomatch": "^3 || ^4" }, "optionalPeers": ["picomatch"] }, "sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw=="], + + "fs-constants": ["fs-constants@1.0.0", "", {}, "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow=="], + + "get-caller-file": ["get-caller-file@2.0.5", "", {}, "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="], + + "get-stream": ["get-stream@6.0.1", "", {}, "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg=="], + + "human-signals": ["human-signals@2.1.0", "", {}, "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw=="], + + "ieee754": ["ieee754@1.2.1", "", {}, "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="], + + "ignore": ["ignore@5.3.2", "", {}, "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g=="], + + "inherits": ["inherits@2.0.4", "", {}, "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="], + + "is-fullwidth-code-point": ["is-fullwidth-code-point@3.0.0", "", {}, "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="], + + "is-stream": ["is-stream@2.0.1", "", {}, "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg=="], + + "isexe": ["isexe@3.1.1", "", {}, "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ=="], + + "isows": ["isows@1.0.6", "", { "peerDependencies": { "ws": "*" } }, "sha512-lPHCayd40oW98/I0uvgaHKWCSvkzY27LjWLbtzOm64yQ+G3Q5npjjbdppU65iZXkK1Zt+kH9pfegli0AYfwYYw=="], + + "lodash.camelcase": ["lodash.camelcase@4.3.0", "", {}, "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA=="], + + "long": ["long@5.3.1", "", {}, "sha512-ka87Jz3gcx/I7Hal94xaN2tZEOPoUOEVftkQqZx2EeQRN7LGdfLlI3FvZ+7WDplm+vK2Urx9ULrvSowtdCieng=="], + + "merge-stream": ["merge-stream@2.0.0", "", {}, "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w=="], + + "mimic-fn": ["mimic-fn@2.1.0", "", {}, "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg=="], + + "mkdirp-classic": ["mkdirp-classic@0.5.3", "", {}, "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A=="], + + "ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="], + + "nan": ["nan@2.22.2", "", {}, "sha512-DANghxFkS1plDdRsX0X9pm0Z6SJNN6gBdtXfanwoZ8hooC5gosGFSBGRYHUVPz1asKA/kMRqDRdHrluZ61SpBQ=="], + + "npm-run-path": ["npm-run-path@4.0.1", "", { "dependencies": { "path-key": "^3.0.0" } }, "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw=="], + + "object-treeify": ["object-treeify@1.1.33", "", {}, "sha512-EFVjAYfzWqWsBMRHPMAXLCDIJnpMhdWAqR7xG6M6a2cs6PMFpl/+Z20w9zDW4vkxOFfddegBKq9Rehd0bxWE7A=="], + + "once": ["once@1.4.0", "", { "dependencies": { "wrappy": "1" } }, "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w=="], + + "onetime": ["onetime@5.1.2", "", { "dependencies": { "mimic-fn": "^2.1.0" } }, "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg=="], + + "ox": ["ox@0.6.9", "", { "dependencies": { "@adraffy/ens-normalize": "^1.10.1", "@noble/curves": "^1.6.0", "@noble/hashes": "^1.5.0", "@scure/bip32": "^1.5.0", "@scure/bip39": "^1.4.0", "abitype": "^1.0.6", "eventemitter3": "5.0.1" }, "peerDependencies": { "typescript": ">=5.4.0" }, "optionalPeers": ["typescript"] }, "sha512-wi5ShvzE4eOcTwQVsIPdFr+8ycyX+5le/96iAJutaZAvCes1J0+RvpEPg5QDPDiaR0XQQAvZVl7AwqQcINuUug=="], + + "path-key": ["path-key@3.1.1", "", {}, "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="], + + "picomatch": ["picomatch@4.0.2", "", {}, "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg=="], + + "protobufjs": ["protobufjs@7.4.0", "", { "dependencies": { "@protobufjs/aspromise": "^1.1.2", "@protobufjs/base64": "^1.1.2", "@protobufjs/codegen": "^2.0.4", "@protobufjs/eventemitter": "^1.1.0", "@protobufjs/fetch": "^1.1.0", "@protobufjs/float": "^1.0.2", "@protobufjs/inquire": "^1.1.0", "@protobufjs/path": "^1.1.2", "@protobufjs/pool": "^1.1.0", "@protobufjs/utf8": "^1.1.0", "@types/node": ">=13.7.0", "long": "^5.0.0" } }, "sha512-mRUWCc3KUU4w1jU8sGxICXH/gNS94DvI1gxqDvBzhj1JpcsimQkYiOJfwsPUykUI5ZaspFbSgmBLER8IrQ3tqw=="], + + "pump": ["pump@3.0.2", "", { "dependencies": { "end-of-stream": "^1.1.0", "once": "^1.3.1" } }, "sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw=="], + + "readable-stream": ["readable-stream@3.6.2", "", { "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } }, "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA=="], + + "require-directory": ["require-directory@2.1.1", "", {}, "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q=="], + + "safe-buffer": ["safe-buffer@5.2.1", "", {}, "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="], + + "safer-buffer": ["safer-buffer@2.1.2", "", {}, "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="], + + "shebang-command": ["shebang-command@2.0.0", "", { "dependencies": { "shebang-regex": "^3.0.0" } }, "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA=="], + + "shebang-regex": ["shebang-regex@3.0.0", "", {}, "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="], + + "signal-exit": ["signal-exit@3.0.7", "", {}, "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="], + + "split-ca": ["split-ca@1.0.1", "", {}, "sha512-Q5thBSxp5t8WPTTJQS59LrGqOZqOsrhDGDVm8azCqIBjSBd7nd9o2PM+mDulQQkh8h//4U6hFZnc/mul8t5pWQ=="], + + "ssh2": ["ssh2@1.16.0", "", { "dependencies": { "asn1": "^0.2.6", "bcrypt-pbkdf": "^1.0.2" }, "optionalDependencies": { "cpu-features": "~0.0.10", "nan": "^2.20.0" } }, "sha512-r1X4KsBGedJqo7h8F5c4Ybpcr5RjyP+aWIG007uBPRjmdQWfEiVLzSK71Zji1B9sKxwaCvD8y8cwSkYrlLiRRg=="], + + "string-width": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="], + + "string_decoder": ["string_decoder@1.3.0", "", { "dependencies": { "safe-buffer": "~5.2.0" } }, "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA=="], + + "strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], + + "strip-final-newline": ["strip-final-newline@2.0.0", "", {}, "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA=="], + + "tar-fs": ["tar-fs@2.1.2", "", { "dependencies": { "chownr": "^1.1.1", "mkdirp-classic": "^0.5.2", "pump": "^3.0.0", "tar-stream": "^2.1.4" } }, "sha512-EsaAXwxmx8UB7FRKqeozqEPop69DXcmYwTQwXvyAPF352HJsPdkVhvTaDPYqfNgruveJIJy3TA2l+2zj8LJIJA=="], + + "tar-stream": ["tar-stream@2.2.0", "", { "dependencies": { "bl": "^4.0.3", "end-of-stream": "^1.4.1", "fs-constants": "^1.0.0", "inherits": "^2.0.3", "readable-stream": "^3.1.1" } }, "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ=="], + + "tiny-invariant": ["tiny-invariant@1.3.3", "", {}, "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg=="], + + "tweetnacl": ["tweetnacl@0.14.5", "", {}, "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA=="], + + "typescript": ["typescript@5.8.2", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ=="], + + "undici-types": ["undici-types@6.21.0", "", {}, "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ=="], + + "util-deprecate": ["util-deprecate@1.0.2", "", {}, "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="], + + "uuid": ["uuid@10.0.0", "", { "bin": { "uuid": "dist/bin/uuid" } }, "sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ=="], + + "viem": ["viem@2.25.0", "", { "dependencies": { "@noble/curves": "1.8.1", "@noble/hashes": "1.7.1", "@scure/bip32": "1.6.2", "@scure/bip39": "1.5.4", "abitype": "1.0.8", "isows": "1.0.6", "ox": "0.6.9", "ws": "8.18.1" }, "peerDependencies": { "typescript": ">=5.0.4" }, "optionalPeers": ["typescript"] }, "sha512-TtFgfQkZOfb642s8+i+h27dRhBfZV//WWOkZ9saoS1Ml8kipj9RiOiDaSmAUly1rhq9kbnYhni1xVtb195XVGA=="], + + "which": ["which@4.0.0", "", { "dependencies": { "isexe": "^3.1.1" }, "bin": { "node-which": "bin/which.js" } }, "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg=="], + + "wrap-ansi": ["wrap-ansi@7.0.0", "", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q=="], + + "wrappy": ["wrappy@1.0.2", "", {}, "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="], + + "ws": ["ws@8.18.1", "", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": ">=5.0.2" }, "optionalPeers": ["bufferutil", "utf-8-validate"] }, "sha512-RKW2aJZMXeMxVpnZ6bck+RswznaxmzdULiBr6KY7XkTnW8uvt0iT9H5DkHUChXrc+uurzwa0rVI16n/Xzjdz1w=="], + + "y18n": ["y18n@5.0.8", "", {}, "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA=="], + + "yargs": ["yargs@17.7.2", "", { "dependencies": { "cliui": "^8.0.1", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", "string-width": "^4.2.3", "y18n": "^5.0.5", "yargs-parser": "^21.1.1" } }, "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w=="], + + "yargs-parser": ["yargs-parser@21.1.1", "", {}, "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw=="], + + "@types/ssh2/@types/node": ["@types/node@18.19.86", "", { "dependencies": { "undici-types": "~5.26.4" } }, "sha512-fifKayi175wLyKyc5qUfyENhQ1dCNI1UNjp653d8kuYcPQN5JhX3dGuP/XmvPTg/xRBn1VTLpbmi+H/Mr7tLfQ=="], + + "cross-spawn/which": ["which@2.0.2", "", { "dependencies": { "isexe": "^2.0.0" }, "bin": { "node-which": "./bin/node-which" } }, "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA=="], + + "@types/ssh2/@types/node/undici-types": ["undici-types@5.26.5", "", {}, "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA=="], + + "cross-spawn/which/isexe": ["isexe@2.0.0", "", {}, "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="], + } +} diff --git a/test/bun.lockb b/test/bun.lockb new file mode 100755 index 0000000000000000000000000000000000000000..38c3e74bb712ea0343b9503a9b151a7cadbc6ec9 GIT binary patch literal 47703 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 literal 0 HcmV?d00001 diff --git a/test/configs/minimal.yaml b/test/configs/minimal.yaml new file mode 100644 index 00000000..86187055 --- /dev/null +++ b/test/configs/minimal.yaml @@ -0,0 +1,20 @@ +# Ethereum Private Testnet Configuration +# This configuration file is used with the ethPandaOps Ethereum Package for Kurtosis +# (https://github.com/ethpandaops/ethereum-package) +# +# Purpose: Sets up a minimal Ethereum testnet with multiple execution and consensus clients +# Usage: kurtosis run github.com/ethpandaops/ethereum-package --args-file configs/minimal.yaml + +participants: + - el_type: reth + cl_type: lighthouse + count: 2 + +additional_services: + - dora + - blockscout + +network_params: + preset: minimal + num_validator_keys_per_node: 128 + prefunded_accounts: '{"0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266": {"balance": "10ETH"}, "0x9965507D1a55bcC2695C58ba16FB37d819B0A4dc": {"balance": "10ETH"}, "0x70997970C51812dc3A010C7d01b50e0d17dc79C8": {"balance": "10ETH"},"0x976ea74026e726554db657fa54763abd0c3a0aa9": {"balance": "10ETH"}}' \ No newline at end of file diff --git a/test/package.json b/test/package.json new file mode 100644 index 00000000..0a107114 --- /dev/null +++ b/test/package.json @@ -0,0 +1,29 @@ +{ + "name": "@datahaven/e2e-test", + "module": "index.ts", + "type": "module", + "private": true, + "scripts": { + "fmt": "biome check .", + "fmt:fix": "biome check --write .", + "demo": "bun run scripts/placeholder.ts", + "start:e2e:minimal": "bun run scripts/start-kurtosis.ts", + "stop:e2e:minimal": "kurtosis enclave stop datahaven-ethereum && kurtosis clean && kurtosis engine stop && docker container prune -f", + "stop:kurtosis-engine": "kurtosis engine stop && docker container prune -f" + }, + "devDependencies": { + "@types/bun": "latest" + }, + "peerDependencies": { + "typescript": "^5" + }, + "dependencies": { + "@biomejs/biome": "^1.9.4", + "@dotenvx/dotenvx": "^1.39.0", + "@types/dockerode": "^3.3.37", + "dockerode": "^4.0.5", + "dotenv": "^16.4.7", + "tiny-invariant": "^1.3.3", + "viem": "^2.25.0" + } +} diff --git a/test/scripts/send-txn.ts b/test/scripts/send-txn.ts new file mode 100644 index 00000000..a3e3387b --- /dev/null +++ b/test/scripts/send-txn.ts @@ -0,0 +1,54 @@ +import { http, type Hex, createWalletClient, defineChain, parseEther, publicActions } from "viem"; +import { generatePrivateKey, privateKeyToAccount } from "viem/accounts"; + +export default async function main(privateKey: string, networkRpcUrl: string) { + const datahaven = defineChain({ + id: 3151908, + name: "datahaven", + nativeCurrency: { + decimals: 18, + name: "Ether", + symbol: "ETH" + }, + rpcUrls: { + default: { + http: [networkRpcUrl] + } + }, + blockExplorers: { + default: { name: "Explorer", url: "http://localhost:3000" } + } + }); + + const signer = privateKeyToAccount(privateKey as `0x${string}`); + + console.log(`Using account: ${signer.address}`); + const client = createWalletClient({ + account: signer, + chain: datahaven, + transport: http(networkRpcUrl) + }).extend(publicActions); + + const randAccount = privateKeyToAccount(generatePrivateKey()); + const addresses = [ + // "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", + // "0x9965507D1a55bcC2695C58ba16FB37d819B0A4dc", + // "0x976ea74026e726554db657fa54763abd0c3a0aa9", + randAccount.address + ]; + + for (const address of addresses) { + console.log(`Sending 1 ETH to address: ${address}`); + + const hash = await client.sendTransaction({ + to: address as `0x${string}`, + value: parseEther("1.0") + }); + + console.log(`Transaction sent! Hash: http://localhost:3000/tx/${hash}`); + + console.log(`Waiting for transaction ${hash} to be confirmed...`); + const receipt = await client.waitForTransactionReceipt({ hash }); + console.log(`Transaction confirmed in block ${receipt.blockNumber}`); + } +} diff --git a/test/scripts/start-kurtosis.ts b/test/scripts/start-kurtosis.ts new file mode 100644 index 00000000..b3b0e37a --- /dev/null +++ b/test/scripts/start-kurtosis.ts @@ -0,0 +1,127 @@ +import { $ } from "bun"; +import invariant from "tiny-invariant"; +import { getServicesFromDocker } from "../util/docker-service-mapper"; +import sendTxn from "./send-txn"; + +async function main() { + const timeStart = performance.now(); + + if (!(await checkKurtosisInstalled())) { + console.error("Kurtosis CLI is required to be installed: https://docs.kurtosis.com/install"); + throw Error("❌ Kurtosis CLI application not found."); + } + + if (!(await checkDockerRunning())) { + console.error("Is Docker Running? Unable to make connection to docker daemon"); + throw Error("❌ Error connecting to Docker"); + } + + if (!(await checkForgeInstalled())) { + console.error("Is foundry installed? https://book.getfoundry.sh/getting-started/installation"); + throw Error("❌ forge binary not found in PATH"); + } + + console.log("🪔 Starting Kurtosis network..."); + + if (await checkKurtosisRunning()) { + console.log("ℹ️ Kurtosis network is already running. Quitting..."); + return; + } + + await $`docker system prune -f`.nothrow(); + await $`kurtosis clean`; + + // TODO: if mac, manually pull the images for network = linux/amd64 since blockscout doesnt have arm ones + await $`docker pull ghcr.io/blockscout/smart-contract-verifier:latest --platform linux/amd64`; + + const { stderr, stdout, exitCode } = + await $`kurtosis run github.com/ethpandaops/ethereum-package --args-file configs/minimal.yaml --enclave datahaven-ethereum`.nothrow(); + + if (exitCode !== 0) { + console.error(stderr.toString()); + throw Error("❌ Kurtosis network has failed to start properly."); + } + + // Get service information from Docker instead of parsing stdout + console.log("🔍 Detecting Docker container ports..."); + const services = await getServicesFromDocker(); + + console.log("================================================"); + + const privateKey = "0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80"; // Anvil test acc1 + const networkRpcUrl = services.find((s) => s.service === "reth-1-rpc")?.url; + invariant(networkRpcUrl, "❌ Network RPC URL not found"); + await sendTxn(privateKey, networkRpcUrl); + + // Deploy all the contracts + console.log("🛳️ Deploying contracts..."); + const { exitCode: buildExitCode, stderr: buildStderr } = await $`forge build` + .cwd("../contracts") + .nothrow(); + + if (buildExitCode !== 0) { + console.error(buildStderr.toString()); + throw Error("❌ Contracts have failed to build properly."); + } + + const { stdout: forgePath } = await $`which forge`.quiet(); + const forgeExecutable = forgePath.toString().trim(); + console.log(`Using forge at: ${forgeExecutable}`); + + const blockscoutBackendUrl = services.find((s) => s.service === "blockscout-backend")?.url; + invariant(blockscoutBackendUrl, "❌ Blockscout backend URL not found"); + + const deployCommand = `${forgeExecutable} script script/deploy/Deploy.s.sol --rpc-url ${networkRpcUrl} --color never -vv --no-rpc-rate-limit --non-interactive --verify --verifier blockscout --verifier-url ${blockscoutBackendUrl}/api/ --broadcast`; + console.log(`Running command: ${deployCommand}`); + + const { exitCode: deployExitCode, stderr: deployStderr } = await $`sh -c ${deployCommand}` + .cwd("../contracts") + .nothrow(); + + if (deployExitCode !== 0) { + console.error(deployStderr.toString()); + throw Error("❌ Contracts have failed to deploy properly."); + } + + console.log("================================================"); + + console.table([ + ...services, + { service: "blockscout", port: "3000", url: "http://127.0.0.1:3000" }, + { + service: "kurtosis-web", + port: "9711", + url: "http://127.0.0.1:9711" + } + ]); + + console.log("================================================"); + + const timeEnd = performance.now(); + + console.log( + `💚 Kurtosis network has started successfully in ${((timeEnd - timeStart) / (1000 * 60)).toFixed(1)} minutes` + ); +} + +const checkKurtosisInstalled = async (): Promise => { + const { exitCode } = await $`kurtosis version`.nothrow().quiet(); + return exitCode === 0; +}; + +const checkKurtosisRunning = async (): Promise => { + const text = await $`kurtosis enclave ls | grep RUNNING`.text(); + return text.length > 0; +}; + +const checkDockerRunning = async (): Promise => { + const { exitCode } = await $`docker system info`.nothrow(); + return exitCode === 0; +}; + +const checkForgeInstalled = async (): Promise => { + const { exitCode } = await $`forge --version`.nothrow(); + return exitCode === 0; +}; + +main(); diff --git a/test/tsconfig.json b/test/tsconfig.json new file mode 100644 index 00000000..ffc08abf --- /dev/null +++ b/test/tsconfig.json @@ -0,0 +1,27 @@ +{ + "compilerOptions": { + // Enable latest features + "lib": ["ESNext", "DOM"], + "target": "ESNext", + "module": "ESNext", + "moduleDetection": "force", + "jsx": "react-jsx", + "allowJs": true, + + // Bundler mode + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "verbatimModuleSyntax": true, + "noEmit": true, + + // Best practices + "strict": true, + "skipLibCheck": true, + "noFallthroughCasesInSwitch": true, + + // Some stricter flags (disabled by default) + "noUnusedLocals": false, + "noUnusedParameters": false, + "noPropertyAccessFromIndexSignature": false + } +} diff --git a/test/util/docker-service-mapper.ts b/test/util/docker-service-mapper.ts new file mode 100644 index 00000000..9e7de59d --- /dev/null +++ b/test/util/docker-service-mapper.ts @@ -0,0 +1,104 @@ +import Docker from "dockerode"; + +interface ServiceMapping { + service: string; + containerPattern: string; + internalPort: number; + protocol: string; +} + +interface ServiceInfo { + service: string; + port: string; + url: string; +} + +const serviceMappings: ServiceMapping[] = [ + { + service: "reth-1-rpc", + containerPattern: "el-1-reth-lighthouse", + internalPort: 8545, + protocol: "tcp" + }, + { + service: "reth-2-rpc", + containerPattern: "el-2-reth-lighthouse", + internalPort: 8545, + protocol: "tcp" + }, + { + service: "blockscout-backend", + containerPattern: "blockscout--", + internalPort: 4000, + protocol: "tcp" + }, + { + service: "dora", + containerPattern: "dora--", + internalPort: 8080, + protocol: "tcp" + } +]; + +export async function getServicesFromDocker(): Promise { + const docker = new Docker(); + + const containers = await docker.listContainers(); + + const services: ServiceInfo[] = []; + + for (const mapping of serviceMappings) { + try { + const container = containers.find((container) => + container.Names.some((name) => name.includes(mapping.containerPattern)) + ); + + if (!container) { + console.warn(`Container with pattern "${mapping.containerPattern}" not found.`); + services.push({ + service: mapping.service, + port: "Not found", + url: "N/A" + }); + continue; + } + + const portMappings = container.Ports.filter( + (port) => port.PrivatePort === mapping.internalPort && port.Type === mapping.protocol + ); + + let selectedMapping = portMappings.find((port) => port.IP === "0.0.0.0" || port.IP === ":::"); + + if (!selectedMapping && portMappings.length > 0) { + selectedMapping = portMappings[0]; + } + + if (!selectedMapping || !selectedMapping.PublicPort) { + console.warn( + `Port mapping not found for ${mapping.service} (${mapping.internalPort}/${mapping.protocol}).` + ); + services.push({ + service: mapping.service, + port: "Not found", + url: "N/A" + }); + continue; + } + + services.push({ + service: mapping.service, + port: selectedMapping.PublicPort.toString(), + url: `http://127.0.0.1:${selectedMapping.PublicPort}` + }); + } catch (error) { + console.error(`Error getting info for ${mapping.service}:`, error); + services.push({ + service: mapping.service, + port: "Error", + url: "N/A" + }); + } + } + + return services; +}