Conversation
… on every release PE-8969
PE-8969: update default gateway from arweave.net to ardrive.net
📝 WalkthroughWalkthroughIntroduces a new GitHub Actions workflow for archiving project dependencies at release time. Updates existing workflow syntax to use GitHub's current output format and removes immutable cache option. Modifies gitignore to stop committing yarn cache while preserving SDKs and versions directories. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 inconclusive)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
.github/workflows/test_and_build.yml (1)
12-19: Usenode-version-fileto remove the manual.nvmrcparsing step.This works, but
actions/setup-node@v4can read.nvmrcdirectly, which removes an extra step and output wiring.♻️ Proposed simplification
- - name: Read .nvmrc - id: node_version - run: echo "NODE_VERSION=$(cat .nvmrc)" >> "$GITHUB_OUTPUT" - - name: Set Up node uses: actions/setup-node@v4 with: - node-version: ${{ steps.node_version.outputs.NODE_VERSION }} + node-version-file: .nvmrc cache: 'yarn'🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.github/workflows/test_and_build.yml around lines 12 - 19, Remove the manual "Read .nvmrc" step (id: node_version) and instead configure the "Set Up node" step that uses actions/setup-node@v4 to read the version file directly by adding the node-version-file input set to ".nvmrc"; delete the echo to GITHUB_OUTPUT and any references to steps.node_version.outputs.NODE_VERSION so the setup-node step stands alone.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In @.github/workflows/release.yml:
- Around line 34-39: The release tag is interpolated directly into shell
filenames in the tar and gh upload steps (tar -czf deps-${{
github.event.release.tag_name }}.tar.gz and gh release upload ... deps-${{
github.event.release.tag_name }}.tar.gz), which breaks when tags contain “/”;
fix by computing a sanitized, quoted tag (e.g., replace slashes with hyphens or
otherwise escape unsafe chars into a new variable like safe_tag) in the run step
or env, then use the quoted "$safe_tag" when building the tar filename and when
calling gh release upload so filenames are safe and atomic.
---
Nitpick comments:
In @.github/workflows/test_and_build.yml:
- Around line 12-19: Remove the manual "Read .nvmrc" step (id: node_version) and
instead configure the "Set Up node" step that uses actions/setup-node@v4 to read
the version file directly by adding the node-version-file input set to ".nvmrc";
delete the echo to GITHUB_OUTPUT and any references to
steps.node_version.outputs.NODE_VERSION so the setup-node step stands alone.
ℹ️ Review info
Configuration used: defaults
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (297)
.yarn/cache/@aashutoshrathi-word-wrap-npm-1.2.6-5b1d95e487-ada901b9e7.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@adraffy-ens-normalize-npm-1.10.1-e60d7ca58d-0836f394ea.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@alexsasharegan-simple-cache-npm-3.3.3-79599548bf-2cfec6d545.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@ardrive-ardrive-promise-cache-npm-1.4.0-601799b9ab-af9260df56.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@ardrive-turbo-sdk-npm-1.28.0-aea15cf171-069f2c38ee.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@assemblyscript-loader-npm-0.9.4-e1857d0656-2af3d1eec1.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@babel-code-frame-npm-7.14.5-4dc9115988-0adbe4f8d9.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@babel-compat-data-npm-7.15.0-48235b743d-65088d87b1.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@babel-core-npm-7.15.5-1d250c9216-8121bf7404.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@babel-generator-npm-7.15.4-11b44cab06-fec8e8fa46.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@babel-helper-compilation-targets-npm-7.15.4-8aadf9f3ed-a2b9767d56.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@babel-helper-function-name-npm-7.15.4-ef0109c90b-0500e8e407.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@babel-helper-get-function-arity-npm-7.15.4-0f7c9ab74a-1a3dba8700.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@babel-helper-hoist-variables-npm-7.15.4-1754989aec-1a9ae0a271.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@babel-helper-member-expression-to-functions-npm-7.15.4-212b6361be-30cf27e2af.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@babel-helper-module-imports-npm-7.15.4-b399b49e52-519681cb9c.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@babel-helper-module-transforms-npm-7.15.4-2ff12afc8c-5bb31696c9.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@babel-helper-optimise-call-expression-npm-7.15.4-20261f745b-7c929d1a3d.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@babel-helper-replace-supers-npm-7.15.4-2a4bb81d23-b08a23914a.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@babel-helper-simple-access-npm-7.15.4-fcd51a651c-8c3462264d.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@babel-helper-split-export-declaration-npm-7.15.4-ff2895bff2-6baf45996e.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@babel-helper-validator-identifier-npm-7.14.9-d7bb91b6de-58552531a7.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@babel-helper-validator-option-npm-7.14.5-fd38dcf0bc-1b25c34a5c.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@babel-helpers-npm-7.15.4-370adba024-e607381100.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@babel-highlight-npm-7.14.5-4a18106cbc-4e4b22fb88.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@babel-parser-npm-7.15.6-a61d8794ff-497c293f82.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@babel-runtime-npm-7.27.6-350e7a5827-3f7b879df1.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@babel-template-npm-7.15.4-a024aff24b-58ca51fdd4.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@babel-traverse-npm-7.15.4-904b3fada4-831506a92c.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@babel-types-npm-7.15.6-330b07a916-37f497dde1.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@bufbuild-protobuf-npm-2.5.2-df6f6b0702-f0e153333f.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@colors-colors-npm-1.6.0-47f686c4e2-aa209963e0.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@confio-ics23-npm-0.6.8-c87607eb2c-376d72f644.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@cosmjs-amino-npm-0.32.4-7fdd7bf106-7e37da1c04.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@cosmjs-crypto-npm-0.32.4-5c32a59023-4323132963.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@cosmjs-encoding-npm-0.32.4-fb7271c6a5-9a2a1d87b7.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@cosmjs-json-rpc-npm-0.32.4-266f67496b-5153d7fbcc.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@cosmjs-math-npm-0.32.4-14d6ffe935-1269ad0c33.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@cosmjs-proto-signing-npm-0.32.4-077b4b4279-c027bfec39.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@cosmjs-socket-npm-0.32.4-beb4a3ed76-26125bbf26.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@cosmjs-stargate-npm-0.32.4-a1e47e3b70-0eace182eb.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@cosmjs-stream-npm-0.32.4-f3b459c4c7-fa55d3f29e.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@cosmjs-tendermint-rpc-npm-0.32.4-08520bcbd9-284e5ed3ed.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@cosmjs-utils-npm-0.32.4-c15e0a90b9-92f4d0878b.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@cosmostation-extension-client-npm-0.1.15-519e08170e-5c366fb647.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@cspotcode-source-map-consumer-npm-0.8.0-1f37e9e72b-c0c16ca3d2.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@cspotcode-source-map-support-npm-0.6.1-2e72b80534-da9fb4f640.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@dabh-diagnostics-npm-2.0.3-0f2cd64f24-4879600c55.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@dha-team-arbundles-npm-1.0.3-8aa28d1023-f546d3f100.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@eslint-community-eslint-utils-npm-4.4.0-d1791bd5a3-cdfe3ae42b.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@eslint-community-regexpp-npm-4.6.2-0fc083c210-a3c341377b.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@eslint-eslintrc-npm-2.1.1-ced87d94ab-bf909ea183.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@eslint-js-npm-8.46.0-3cfe1ee88b-7aed479832.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@ethersproject-abstract-provider-npm-5.8.0-ee06d0de27-4fd00d7705.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@ethersproject-abstract-signer-npm-5.8.0-8d0857234b-3f7a98caf7.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@ethersproject-address-npm-5.8.0-c023f600dc-fa48e16403.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@ethersproject-base64-npm-5.8.0-157d927fec-f0c2136c99.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@ethersproject-basex-npm-5.8.0-4ba3e8e56a-7b502b9101.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@ethersproject-bignumber-npm-5.8.0-7d806998f7-c87017f466.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@ethersproject-bytes-npm-5.8.0-514fe1141a-507e8ef1f1.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@ethersproject-constants-npm-5.8.0-d2733b7771-74830c44f4.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@ethersproject-hash-npm-5.8.0-3264ef5439-e1feb47a98.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@ethersproject-hdnode-npm-5.8.0-b10e494aa4-72cc6bd218.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@ethersproject-json-wallets-npm-5.8.0-1762f50572-8e0f8529f6.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@ethersproject-keccak256-npm-5.8.0-4fe7db6401-af3621d2b1.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@ethersproject-logger-npm-5.8.0-0bb82509bc-6249885a7f.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@ethersproject-networks-npm-5.8.0-faf793a741-b1d43fdab1.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@ethersproject-pbkdf2-npm-5.8.0-b720e81bcc-79e06ec606.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@ethersproject-properties-npm-5.8.0-7a04c80795-2bb0369a3c.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@ethersproject-providers-npm-5.8.0-1fc28e6a0b-2970ee03fe.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@ethersproject-random-npm-5.8.0-75071a3c45-c3bec10516.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@ethersproject-rlp-npm-5.8.0-2b93221145-9d6f646072.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@ethersproject-sha2-npm-5.8.0-2a9e2d637e-ef8916e303.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@ethersproject-signing-key-npm-5.8.0-fc5d8c7e1f-8c07741bc8.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@ethersproject-strings-npm-5.8.0-2b103a6d82-997396cf1b.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@ethersproject-transactions-npm-5.8.0-c13e1034fc-e867516ccc.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@ethersproject-wallet-npm-5.8.0-680c3d5fb1-d2921c3212.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@ethersproject-web-npm-5.8.0-77cf3bc993-d8ca89bde8.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@ethersproject-wordlists-npm-5.8.0-a9d38cc3f9-ba24300927.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@fastify-busboy-npm-2.1.1-455d8b6bf5-42c32ef75e.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@humanwhocodes-config-array-npm-0.11.10-7b63df9e7f-1b1302e240.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@humanwhocodes-module-importer-npm-1.0.1-9d07ed2e4a-0fd22007db.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@humanwhocodes-object-schema-npm-1.2.1-eb622b5d0e-a824a1ec31.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@istanbuljs-load-nyc-config-npm-1.1.0-42d17c9cb1-d578da5e2e.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@istanbuljs-nyc-config-typescript-npm-1.0.1-d1daa3ba46-b4106446f8.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@istanbuljs-schema-npm-0.1.3-466bd3eaaa-5282759d96.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@keplr-wallet-common-npm-0.12.245-f8416174e1-52430c5acb.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@keplr-wallet-cosmos-npm-0.12.245-88e8c91cd4-ce0099a08b.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@keplr-wallet-crypto-npm-0.12.245-0d7918f13a-62753a510f.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@keplr-wallet-proto-types-npm-0.12.245-11efe158f4-525eff035e.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@keplr-wallet-simple-fetch-npm-0.12.245-ae900c461d-795eb99247.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@keplr-wallet-types-npm-0.12.245-63d1733397-efe60c1f64.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@keplr-wallet-unit-npm-0.12.245-8a4de0933f-2bb3421e10.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@kyvejs-sdk-npm-1.4.5-333cd8300b-67546d235d.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@kyvejs-types-npm-1.5.0-2db96edc3d-72d990f88c.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@lordvlad-asn1.js-npm-5.1.1-4f1ad9d487-f2a6d873cc.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@multiformats-base-x-npm-4.0.1-a1a1c51d61-ecbf84bdd7.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@noble-ciphers-npm-2.0.1-d74d5502c9-4530241711.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@noble-curves-npm-1.2.0-9b40ee1239-bb798d7a66.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@noble-curves-npm-1.7.0-2a0c471726-e220b704f1.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@noble-curves-npm-1.9.2-2584df26a7-bac582aefe.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@noble-ed25519-npm-1.7.5-72530b4cd7-008835178b.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@noble-hashes-npm-1.3.2-1e619f9da0-fe23536b43.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@noble-hashes-npm-1.6.0-b738c576d5-07729b8010.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@noble-hashes-npm-1.6.1-a090811848-57c62f65ee.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@noble-hashes-npm-1.8.0-a397449e64-c94e98b941.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@noble-hashes-npm-2.0.1-3deaaa8c92-aea67a671c.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@nodelib-fs.scandir-npm-2.1.4-6f6ddb2372-18c2150ab5.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@nodelib-fs.scandir-npm-2.1.5-89c67370dd-a970d595bd.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@nodelib-fs.stat-npm-2.0.4-0b2acf9d70-d0d9745f87.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@nodelib-fs.stat-npm-2.0.5-01f4dd3030-012480b5ca.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@nodelib-fs.walk-npm-1.2.6-b686194e9d-d156901823.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@nodelib-fs.walk-npm-1.2.8-b4a89da548-190c643f15.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@permaweb-ao-scheduler-utils-npm-0.0.25-b71346460a-6ead6b8c03.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@permaweb-aoconnect-npm-0.0.57-6b28f98a8b-d14427f451.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@protobufjs-aspromise-npm-1.1.2-71d00b938f-011fe7ef08.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@protobufjs-base64-npm-1.1.2-cd8ca6814a-67173ac34d.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@protobufjs-codegen-npm-2.0.4-36e188bbe6-59240c850b.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@protobufjs-eventemitter-npm-1.1.0-029cc7d431-0369163a3d.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@protobufjs-fetch-npm-1.1.0-ca857b7df4-3fce7e09eb.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@protobufjs-float-npm-1.0.2-5678f64d08-5781e12412.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@protobufjs-inquire-npm-1.1.0-3c7759e9ce-ca06f02eaf.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@protobufjs-path-npm-1.1.2-641d08de76-856eeb532b.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@protobufjs-pool-npm-1.1.0-47a76f96a1-d6a34fbbd2.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@protobufjs-utf8-npm-1.1.0-02c590807c-f9bf3163d1.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@randlabs-communication-bridge-npm-1.0.1-0b97ea5173-9573e7f848.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@randlabs-myalgo-connect-npm-1.4.2-3c81cdc9c9-2328adc8f4.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@scure-base-npm-1.2.1-f0f39b0c0b-061e04e4f6.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@scure-starknet-npm-1.1.0-bc7c3145b9-7aa08f272c.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@sinonjs-commons-npm-1.8.3-30cf78d93f-6159726db5.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@sinonjs-fake-timers-npm-6.0.1-cebf4d0bfb-8e331aa141.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@sinonjs-fake-timers-npm-7.1.2-2a6b119ac7-c84773d797.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@sinonjs-samsam-npm-5.3.1-deedfea087-1c2c49d51b.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@sinonjs-samsam-npm-6.0.2-5e8e8897e2-bc1514edf1.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@sinonjs-text-encoding-npm-0.7.1-865b0079b5-130de0bb56.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@solana-buffer-layout-npm-4.0.1-4100001d9d-bf846888e8.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@solana-codecs-core-npm-2.1.1-9ac32900e2-7791c890bc.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@solana-codecs-numbers-npm-2.1.1-0c92170445-5838cd7c2e.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@solana-errors-npm-2.1.1-78e787d6fd-902f36a53b.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@solana-web3.js-npm-1.98.2-fec7ea9097-23b8165cf6.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@starknet-io-types-js-npm-0.7.10-b99b5cb73a-8f71c57d0f.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@swc-helpers-npm-0.5.17-53974f71e8-085e13b536.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@tsconfig-node10-npm-1.0.8-90a8cce25d-b8d5fffbc6.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@tsconfig-node12-npm-1.0.9-780563856d-a01b2400ab.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@tsconfig-node14-npm-1.0.1-3ecac58e68-976345e896.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@tsconfig-node16-npm-1.0.2-1f43ab567a-ca94d36397.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@types-chai-npm-4.2.21-22c1ed2cef-dbd852dfea.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@types-chai-npm-5.2.2-175f762512-386887bd55.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@types-cli-color-npm-2.0.6-c58c4397a2-f465c728b0.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@types-clui-npm-0.3.4-08024972bb-9808b38cfa.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@types-color-name-npm-1.1.1-00b0925070-b71fcad728.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@types-connect-npm-3.4.38-a8a4c38337-7eb1bc5342.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@types-deep-eql-npm-4.0.2-e6bc68cc92-249a27b0bb.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@types-inquirer-npm-8.2.11-0788c7c7d0-22733d5b7e.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@types-json-schema-npm-7.0.12-f05cfc0e99-00239e9723.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@types-jwk-to-pem-npm-2.0.1-783b4dc2e2-4fb0e1918c.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@types-lodash-npm-4.14.176-34dca4acb8-9e949704df.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@types-long-npm-4.0.1-022c8b6e77-ff9653c33f.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@types-minimist-npm-1.2.2-a445de65da-b8da83c66e.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@types-mocha-npm-9.0.0-cd77a42cf3-73e6edaba0.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@types-node-fetch-npm-2.6.4-3e5a54c325-f3e1d881bb.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@types-node-npm-10.12.18-7c6aeb4e07-333cedae77.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@types-node-npm-11.11.6-40abad0842-075f1c011c.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@types-node-npm-12.20.55-88487587a4-e4f86785f4.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@types-node-npm-14.17.15-9cfdb3e8eb-e0840304db.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@types-node-npm-16.7.13-08a1515fa1-15dc28aa44.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@types-node-npm-18.17.2-471d3f5212-2e08acaeb3.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@types-node-npm-22.7.5-0428b60a8c-1a8bbb504e.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@types-normalize-package-data-npm-2.4.1-c31c56ae6a-e87bccbf11.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@types-parse-json-npm-4.0.0-298522afa6-fd6bce2b67.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@types-prompts-npm-2.4.0-5b5caba459-ec75655f07.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@types-semver-npm-7.5.0-4823ff34be-0a64b9b9c7.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@types-sinon-chai-npm-3.2.5-1d6490532a-ac332b8f2c.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@types-sinon-npm-10.0.2-2a54516cee-442e62fe19.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@types-sinon-npm-9.0.11-231734b808-2074490973.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@types-sinonjs__fake-timers-npm-6.0.3-7a45cf3bad-6def7829e1.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@types-source-map-support-npm-0.5.4-1c4eb2be20-160ff77e8a.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@types-through-npm-0.0.33-000c353976-fd0b73f873.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@types-triple-beam-npm-1.3.5-0f1b823630-519b6a1b30.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@types-uuid-npm-8.3.4-7547f4402c-6f11f3ff70.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@types-ws-npm-7.4.7-d0c95c0958-b4c9b8ad20.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@types-ws-npm-8.18.1-61dc106ff0-0331b14cde.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@typescript-eslint-eslint-plugin-npm-6.2.1-0d36314f04-e73f3fe365.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@typescript-eslint-parser-npm-6.2.1-5eca572243-cf4768cbfc.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@typescript-eslint-scope-manager-npm-6.2.1-50be37182a-3bb461678c.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@typescript-eslint-type-utils-npm-6.2.1-c2052dd97a-7f8d80f03e.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@typescript-eslint-types-npm-6.2.1-45ff46aaf3-388d32f15a.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@typescript-eslint-typescript-estree-npm-6.2.1-bb98926d47-3d9beeb5e3.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@typescript-eslint-utils-npm-6.2.1-deb8def7e9-d16356a633.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@typescript-eslint-visitor-keys-npm-6.2.1-6a12bb9525-c05a1c4512.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@weavery-clarity-npm-0.1.5-4059231b5b-d2d9d49417.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/abbrev-npm-1.1.1-3659247eab-a4a97ec07d.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/abi-wan-kanabi-npm-2.2.4-f9d11ae16a-6d7cbb424f.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/acorn-jsx-npm-5.3.2-d7594599ea-c3d3b2a89c.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/acorn-npm-8.10.0-2230c9e83e-538ba38af0.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/acorn-npm-8.5.0-faed0ea119-2e4c1dbed3.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/acorn-walk-npm-8.2.0-2f2cac3177-1715e76c01.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/aes-js-npm-3.0.0-fdf135c6be-251e26d533.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/aes-js-npm-4.0.0-beta.5-c70da65547-cc2ea969d7.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/agentkeepalive-npm-4.6.0-6b61ca2a37-b3cdd10efc.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/aggregate-error-npm-3.1.0-415a406f4e-1101a33f21.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/ajv-npm-6.12.6-4b5105e2b2-874972efe5.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/algo-msgpack-with-bigint-npm-2.1.1-346854fabb-81645fc124.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/algosdk-npm-1.24.1-ca013ea8b1-3b6960ddde.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/ansi-colors-npm-4.1.1-97ad42f223-138d04a510.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/ansi-escapes-npm-4.3.2-3ad173702f-93111c4218.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/ansi-regex-npm-2.1.1-ddd24d102b-190abd03e4.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/ansi-regex-npm-3.0.0-be0b845911-2ad11c416f.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/ansi-regex-npm-5.0.0-9c076068d9-b1bb4e992a.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/ansi-regex-npm-5.0.1-c963a48615-2aa4bb54ca.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/ansi-styles-npm-3.2.1-8cb8107983-d85ade01c1.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/ansi-styles-npm-4.2.1-de50ec308d-7c74dbc7ec.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/ansicolors-npm-0.3.2-cc35882814-e84fae7ebc.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/anymatch-npm-3.1.2-1d5471acfa-985163db22.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/apparatus-npm-0.0.10-11747878b3-ab0bf67889.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/append-transform-npm-2.0.0-99bd7d69ed-f26f393bf7.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/aproba-npm-1.2.0-34129f0778-0fca141966.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/archy-npm-1.0.0-7db8bfdc3b-504ae7af65.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/arconnect-npm-0.2.9-a276136014-19b0a7f62d.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/arconnect-npm-0.4.2-c912da9e86-5b2f262a93.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/ardrive-core-js-npm-3.1.0-9dbb775a45-fa325d3bb6.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/are-we-there-yet-npm-1.1.5-b8418908b0-9a746b1dbc.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/arg-npm-4.1.3-1748b966a8-544af8dd3f.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/argparse-npm-1.0.10-528934e59d-7ca6e45583.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/argparse-npm-2.0.1-faff7999e6-83644b5649.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/array-union-npm-2.1.0-4e4852b221-5bee12395c.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/arrify-npm-1.0.1-affafba9fe-745075dd4a.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/articles-npm-0.2.2-6731b8aafe-6aebde650e.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/arweave-npm-1.10.16-559acf76f7-4801807818.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/arweave-npm-1.15.7-63a8ed4eb2-ebb28e6e05.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/arweave-stream-tx-npm-1.2.2-e142510769-7db2ef3078.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/asn1-npm-0.2.4-219dd49411-aa5d6f77b1.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/asn1.js-npm-5.4.1-37c7edbcb0-3786a101ac.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/assert-plus-npm-1.0.0-cac95ef098-19b4340cb8.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/assertion-error-npm-1.1.0-66b893015e-fd9429d3a3.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/astral-regex-npm-2.0.0-f30d866aab-876231688c.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/async-npm-3.2.6-aa4f5aa081-ee6eb8cd8a.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/asynckit-npm-0.4.0-c718858525-7b78c451df.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/available-typed-arrays-npm-1.0.7-e5e5d79687-1aa3ffbfe6.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/aws-sign2-npm-0.7.0-656c6cb84d-b148b0bb07.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/aws4-npm-1.10.1-c15d26e3d7-290a22fc11.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/axios-npm-0.21.1-d192f6b3b3-c87915fa0b.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/axios-npm-0.27.2-dbe3a48aea-38cb754046.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/axios-npm-1.10.0-0c877f1ea6-b5fd840d49.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/axios-retry-npm-3.9.1-6665aba9d3-44e574ad55.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/balanced-match-npm-1.0.0-951a2ad706-9b67bfe558.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/base-x-npm-3.0.11-3798da0834-c2e3c443fd.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/base-x-npm-4.0.1-50d20f9e5b-c9061e576f.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/base64-js-npm-1.5.1-b2f7275641-669632eb37.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/base64url-npm-3.0.1-4c171c4917-a77b2a3a52.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/bcrypt-pbkdf-npm-1.0.2-80db8b16ed-4edfc9fe7d.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/bech32-npm-1.1.4-87b69922f7-0e98db6191.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/bech32-npm-2.0.0-ad98b7dd79-fa15acb270.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/big-integer-npm-1.6.52-4bec75720c-6e86885787.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/bignumber.js-npm-9.0.1-270d0c8a55-6e72f6069d.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/bignumber.js-npm-9.0.2-583f690302-8637b71d0a.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/bignumber.js-npm-9.1.2-c2228c6a4a-582c03af77.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/bignumber.js-npm-9.3.0-bbfdbd6dc8-580d783d60.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/binary-extensions-npm-2.1.0-0681d7e2ce-16ef0ca9b8.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/bindings-npm-1.5.0-77ce1d213c-65b6b48095.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/bip174-npm-2.1.1-d9fcaf36f9-bc5b99e7d1.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/bip32-npm-2.0.6-e2304169e2-1c654a9383.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/bip39-npm-3.0.2-32369862f4-71798582b4.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/bip39-npm-3.1.0-03958ed434-1224e763ff.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/bitcoinjs-lib-npm-6.1.7-31b0bb4f5c-2fbac2bffc.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/bl-npm-4.1.0-7f94cdcf3f-9e8521fa7e.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/bl-npm-5.0.0-cd18f87fd8-5dbbcf9cbc.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/blakejs-npm-1.2.1-b1ff783529-d699ba116c.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/bn.js-npm-4.12.0-3ec6c884f6-39afb4f15f.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/bn.js-npm-4.12.2-c97b742b8d-dd224afda6.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/bn.js-npm-5.2.1-dc952b1965-3dd8c8d380.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/bn.js-npm-5.2.2-a1a52ffece-4384d35fef.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/borsh-npm-0.7.0-c3e1c21bb3-e98bfb5f7c.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/brace-expansion-npm-1.1.11-fb95eb05ad-faf34a7bb0.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/brace-expansion-npm-2.0.1-17aa2616f9-a61e7cd2e8.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/braces-npm-3.0.2-782240b28a-e2a8e769a8.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/brorand-npm-1.1.0-ea86634c4b-8a05c9f3c4.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/browser-stdout-npm-1.3.1-6b2376bf3f-b717b19b25.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/browserslist-npm-4.17.0-98801cc7f5-9b45ec283d.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/bs58-npm-4.0.1-8d2a7822b1-b3c5365bb9.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/bs58-npm-5.0.0-da02537b92-2475cb0684.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/bs58check-npm-2.1.2-4e87e40195-43bdf08a5d.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/bs58check-npm-3.0.1-be32851e5e-dbbecc7a09.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/buffer-from-npm-1.1.1-22917b8ed8-ccc53b6973.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/buffer-npm-5.7.1-513ef8259e-e2cf8429e1.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/buffer-npm-6.0.3-cd90dfedfe-5ad23293d9.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/bufferutil-npm-4.0.9-956b9c83fa-51ce9ee19b.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/caching-transform-npm-4.0.0-d619d562ea-c4db693953.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/call-bind-apply-helpers-npm-1.0.2-3eedbea3bb-b2863d74fc.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/call-bind-npm-1.0.8-4145a20621-aa2899bce9.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/call-bound-npm-1.0.4-359cfa32c7-2f6399488d.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/callsites-npm-3.1.0-268f989910-072d17b6ab.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/camelcase-keys-npm-6.2.2-d13777ec12-43c9af1adf.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/camelcase-npm-5.3.1-5db8af62c5-e6effce26b.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/camelcase-npm-6.2.0-69f8c130ac-8335cfd0ec.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/caniuse-lite-npm-1.0.30001723-b76b1ad4e4-0acd7f33f1.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/cardinal-npm-2.1.1-b77e7b28a7-e8d4ae4643.zipis excluded by!**/.yarn/**,!**/*.zip
📒 Files selected for processing (3)
.github/workflows/release.yml.github/workflows/test_and_build.yml.gitignore
| run: tar -czf deps-${{ github.event.release.tag_name }}.tar.gz .yarn/cache | ||
|
|
||
| - name: Attach archive to release | ||
| env: | ||
| GH_TOKEN: ${{ github.token }} | ||
| run: gh release upload "${{ github.event.release.tag_name }}" deps-${{ github.event.release.tag_name }}.tar.gz --clobber |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
cat -n .github/workflows/release.ymlRepository: ardriveapp/ardrive-cli
Length of output: 1290
🌐 Web query:
GitHub release tag naming rules allowed characters valid format
💡 Result:
What characters/formats are valid for GitHub release tags?
GitHub release tags are Git tag refs, so the tag name must be a valid Git ref name (per git check-ref-format) and also meet a couple of GitHub-specific restrictions.
Git (ref) rules (what Git itself allows/forbids)
A tag name must not:
- contain
..anywhere - contain ASCII control chars, space,
~,^,:,?,*,[, or\ - contain the sequence
@{, or be exactly@ - start or end with
/, or contain// - end with
. - have any path component (between slashes) that starts with
.or ends with.lock
(These are the coregit-check-ref-formatrules.) [1]
Note: Git allows many other characters (including many punctuation characters), as long as you don’t violate the rules above. [1]
GitHub-specific restrictions (beyond Git)
GitHub additionally blocks pushing tag/branch names that:
- look like a Git object ID (40 hex chars,
0-9andA-F) - begin with
refs/[2]
“Safe” recommended character set (practical best practice)
GitHub recommends a conservative set that avoids escaping/URL/shell issues:
A–Z a–z 0–9 . - _ / [2]
Common valid formats (examples)
v1.2.31.2.3release/2026-02-26v2.0.0-rc.1
Sources: Git ref naming rules (git-check-ref-format). [1] GitHub docs on tag/branch naming and GitHub restrictions. [2]
Sanitize and quote the release tag before using it in shell filenames.
GitHub release tags are Git refs and can contain / as a valid character (e.g., release/1.0.0). At Line 34, the tag is interpolated directly into the filename without quoting. If a tag contains /, the tar command would attempt to write to a non-existent subdirectory and fail. Line 39 has the same issue with the unquoted filename. While not exploitable in a dangerous way, this prevents releases with tags containing / from completing successfully.
Proposed hardening
- name: Archive dependency cache
- run: tar -czf deps-${{ github.event.release.tag_name }}.tar.gz .yarn/cache
+ env:
+ RELEASE_TAG: ${{ github.event.release.tag_name }}
+ run: |
+ SAFE_TAG="${RELEASE_TAG//\//-}"
+ tar -czf "deps-${SAFE_TAG}.tar.gz" .yarn/cache
- name: Attach archive to release
env:
GH_TOKEN: ${{ github.token }}
- run: gh release upload "${{ github.event.release.tag_name }}" deps-${{ github.event.release.tag_name }}.tar.gz --clobber
+ RELEASE_TAG: ${{ github.event.release.tag_name }}
+ run: |
+ SAFE_TAG="${RELEASE_TAG//\//-}"
+ gh release upload "$RELEASE_TAG" "deps-${SAFE_TAG}.tar.gz" --clobber📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| run: tar -czf deps-${{ github.event.release.tag_name }}.tar.gz .yarn/cache | |
| - name: Attach archive to release | |
| env: | |
| GH_TOKEN: ${{ github.token }} | |
| run: gh release upload "${{ github.event.release.tag_name }}" deps-${{ github.event.release.tag_name }}.tar.gz --clobber | |
| env: | |
| RELEASE_TAG: ${{ github.event.release.tag_name }} | |
| run: | | |
| SAFE_TAG="${RELEASE_TAG//\//-}" | |
| tar -czf "deps-${SAFE_TAG}.tar.gz" .yarn/cache | |
| - name: Attach archive to release | |
| env: | |
| GH_TOKEN: ${{ github.token }} | |
| RELEASE_TAG: ${{ github.event.release.tag_name }} | |
| run: | | |
| SAFE_TAG="${RELEASE_TAG//\//-}" | |
| gh release upload "$RELEASE_TAG" "deps-${SAFE_TAG}.tar.gz" --clobber |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In @.github/workflows/release.yml around lines 34 - 39, The release tag is
interpolated directly into shell filenames in the tar and gh upload steps (tar
-czf deps-${{ github.event.release.tag_name }}.tar.gz and gh release upload ...
deps-${{ github.event.release.tag_name }}.tar.gz), which breaks when tags
contain “/”; fix by computing a sanitized, quoted tag (e.g., replace slashes
with hyphens or otherwise escape unsafe chars into a new variable like safe_tag)
in the run step or env, then use the quoted "$safe_tag" when building the tar
filename and when calling gh release upload so filenames are safe and atomic.
Summary by CodeRabbit