feat: added scaffold eth 2 extension tutorial#705
Conversation
WalkthroughAdds new docs: a Scaffold-ETH 2 Envio extension tutorial, four supported-network pages (Chainweb Testnets 22–24 and Sentient Testnet), updates HyperRPC/HyperSync supported networks tables, extends supported-networks.json with new entries, and adds the tutorial to the HyperIndex sidebar. No code or public API changes. Changes
Sequence Diagram(s)Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Suggested reviewers
Poem
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
✨ Finishing touches
🧪 Generate unit tests
Tip 👮 Agentic pre-merge checks are now available in preview!Pro plan users can now enable pre-merge checks in their settings to enforce checklists before merging PRs.
Please see the documentation for more information. Example: reviews:
pre_merge_checks:
custom_checks:
- name: "Undocumented Breaking Changes"
mode: "warning"
instructions: |
Pass/fail criteria: All breaking changes to public APIs, CLI flags, environment variables, configuration keys, database schemas, or HTTP/GraphQL endpoints must be documented in the "Breaking Change" section of the PR description and in CHANGELOG.md. Exclude purely internal or private changes (e.g., code not exported from package entry points or explicitly marked as internal).Please share your feedback with us on this Discord post. 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: 8
🧹 Nitpick comments (5)
docs/HyperSync/HyperRPC/hyperrpc-supported-networks.md (1)
44-46: Fix markdownlint MD034: wrap bare URLs in angle bracketsWrap table URLs in <...> to satisfy MD034 without changing content.
-| Chainweb Testnet 22 | 5922 | https://chainweb-testnet-22.rpc.hypersync.xyz or https://5922.rpc.hypersync.xyz | | -| Chainweb Testnet 23 | 5923 | https://chainweb-testnet-23.rpc.hypersync.xyz or https://5923.rpc.hypersync.xyz | | -| Chainweb Testnet 24 | 5924 | https://chainweb-testnet-24.rpc.hypersync.xyz or https://5924.rpc.hypersync.xyz | | +| Chainweb Testnet 22 | 5922 | <https://chainweb-testnet-22.rpc.hypersync.xyz> or <https://5922.rpc.hypersync.xyz> | | +| Chainweb Testnet 23 | 5923 | <https://chainweb-testnet-23.rpc.hypersync.xyz> or <https://5923.rpc.hypersync.xyz> | | +| Chainweb Testnet 24 | 5924 | <https://chainweb-testnet-24.rpc.hypersync.xyz> or <https://5924.rpc.hypersync.xyz> | | @@ -| Sentient Testnet | 1184075182 | https://sentient-testnet.rpc.hypersync.xyz or https://1184075182.rpc.hypersync.xyz | | +| Sentient Testnet | 1184075182 | <https://sentient-testnet.rpc.hypersync.xyz> or <https://1184075182.rpc.hypersync.xyz> | |Also applies to: 92-92
docs/HyperSync/hypersync-supported-networks.md (1)
52-54: Fix markdownlint MD034: wrap bare URLs in angle bracketsApply the same <...> wrapping here for the added rows.
-| Chainweb Testnet 22 | 5922 | https://chainweb-testnet-22.hypersync.xyz or https://5922.hypersync.xyz | 🪨 | | -| Chainweb Testnet 23 | 5923 | https://chainweb-testnet-23.hypersync.xyz or https://5923.hypersync.xyz | 🪨 | | -| Chainweb Testnet 24 | 5924 | https://chainweb-testnet-24.hypersync.xyz or https://5924.hypersync.xyz | 🪨 | | +| Chainweb Testnet 22 | 5922 | <https://chainweb-testnet-22.hypersync.xyz> or <https://5922.hypersync.xyz> | 🪨 | | +| Chainweb Testnet 23 | 5923 | <https://chainweb-testnet-23.hypersync.xyz> or <https://5923.hypersync.xyz> | 🪨 | | +| Chainweb Testnet 24 | 5924 | <https://chainweb-testnet-24.hypersync.xyz> or <https://5924.hypersync.xyz> | 🪨 | | @@ -| Sentient Testnet | 1184075182 | https://sentient-testnet.hypersync.xyz or https://1184075182.hypersync.xyz | 🪨 | | +| Sentient Testnet | 1184075182 | <https://sentient-testnet.hypersync.xyz> or <https://1184075182.hypersync.xyz> | 🪨 | |Also applies to: 100-100
docs/HyperIndex/Tutorials/tutorial-scaffold-eth-2.md (3)
3-4: Standardize naming to “Scaffold-ETH 2”.Use the canonical capitalization consistently across title, sidebar label, and H1.
-title: Scaffold-Eth-2 Envio Extension -sidebar_label: Scaffold-Eth-2 Extension +title: Scaffold-ETH 2 Envio Extension +sidebar_label: Scaffold-ETH 2 Extension @@ -# Scaffold-Eth-2 Envio Extension +# Scaffold-ETH 2 Envio ExtensionAlso applies to: 8-8
72-73: Tighten wording and fix tense.Minor grammar and clarity improvement.
-Navigate to the Envio page in your Scaffold-ETH frontend at `http://localhost:3000/envio` and click the **"Generate"** button. This should only be done once you've created a smart contract and ran `yarn deploy`. This will create the boilerplate indexer from your deployed contracts. +Navigate to the Envio page in your Scaffold-ETH frontend at `http://localhost:3000/envio` and click **Generate**. Do this after you have created a smart contract and run `yarn deploy`. This creates the boilerplate indexer from your deployed contracts.
83-87: Add a note to ensure Docker is running.Starting the indexer typically relies on Docker services; calling this out avoids common setup hiccups.
pnpm dev-This will begin indexing your contract events.
+This will begin indexing your contract events. Ensure Docker Desktop is running; the first startup may take a few minutes while images are pulled.</blockquote></details> </blockquote></details> <details> <summary>📜 Review details</summary> **Configuration used**: CodeRabbit UI **Review profile**: CHILL **Plan**: Pro <details> <summary>📥 Commits</summary> Reviewing files that changed from the base of the PR and between d0c8445b8a6e9565251b9ff7d678bac409ec6ba9 and a22f77d09b2fac01cba1ba29604ee4334a4c134d. </details> <details> <summary>⛔ Files ignored due to path filters (1)</summary> * `static/img/scaffold-eth-2-envio-page.png` is excluded by `!**/*.png` </details> <details> <summary>📒 Files selected for processing (9)</summary> * `docs/HyperIndex/Tutorials/tutorial-scaffold-eth-2.md` (1 hunks) * `docs/HyperIndex/supported-networks/chainweb-testnet-22.md` (1 hunks) * `docs/HyperIndex/supported-networks/chainweb-testnet-23.md` (1 hunks) * `docs/HyperIndex/supported-networks/chainweb-testnet-24.md` (1 hunks) * `docs/HyperIndex/supported-networks/sentient-testnet.md` (1 hunks) * `docs/HyperSync/HyperRPC/hyperrpc-supported-networks.md` (2 hunks) * `docs/HyperSync/hypersync-supported-networks.md` (2 hunks) * `sidebarsHyperIndex.js` (1 hunks) * `supported-networks.json` (1 hunks) </details> <details> <summary>🧰 Additional context used</summary> <details> <summary>🧠 Learnings (1)</summary> <details> <summary>📚 Learning: 2025-07-29T14:30:03.677Z</summary>Learnt from: DenhamPreen
PR: #673
File: docs/HyperIndex/supported-networks/chainweb-testnet-21.md:14-16
Timestamp: 2025-07-29T14:30:03.677Z
Learning: Chainweb Testnet 20 (ID: 5920) and Chainweb Testnet 21 (ID: 5921) have non-functional HyperSync endpoints that return HTTP 404, indicating these networks are not properly supported and should be removed from documentation.**Applied to files:** - `docs/HyperIndex/supported-networks/chainweb-testnet-24.md` - `docs/HyperIndex/supported-networks/chainweb-testnet-23.md` - `docs/HyperIndex/supported-networks/chainweb-testnet-22.md` - `docs/HyperSync/hypersync-supported-networks.md` - `docs/HyperSync/HyperRPC/hyperrpc-supported-networks.md` </details> </details><details> <summary>🪛 markdownlint-cli2 (0.18.1)</summary> <details> <summary>docs/HyperSync/hypersync-supported-networks.md</summary> 52-52: Bare URL used (MD034, no-bare-urls) --- 52-52: Bare URL used (MD034, no-bare-urls) --- 53-53: Bare URL used (MD034, no-bare-urls) --- 53-53: Bare URL used (MD034, no-bare-urls) --- 54-54: Bare URL used (MD034, no-bare-urls) --- 54-54: Bare URL used (MD034, no-bare-urls) --- 100-100: Bare URL used (MD034, no-bare-urls) --- 100-100: Bare URL used (MD034, no-bare-urls) </details> <details> <summary>docs/HyperSync/HyperRPC/hyperrpc-supported-networks.md</summary> 44-44: Bare URL used (MD034, no-bare-urls) --- 44-44: Bare URL used (MD034, no-bare-urls) --- 45-45: Bare URL used (MD034, no-bare-urls) --- 45-45: Bare URL used (MD034, no-bare-urls) --- 46-46: Bare URL used (MD034, no-bare-urls) --- 46-46: Bare URL used (MD034, no-bare-urls) --- 92-92: Bare URL used (MD034, no-bare-urls) --- 92-92: Bare URL used (MD034, no-bare-urls) </details> </details> </details> <details> <summary>🔇 Additional comments (3)</summary><blockquote> <details> <summary>docs/HyperSync/HyperRPC/hyperrpc-supported-networks.md (1)</summary><blockquote> `44-46`: **Sanity‑check new endpoints (and consider removing Chainweb 20/21 if still 404s)** Please verify 5922/5923/5924 and Sentient endpoints resolve. Prior note indicated Chainweb 20/21 HyperSync endpoints returned 404—if still true for HyperRPC/HyperSync, consider gating or removing those rows to avoid misleading users. Also applies to: 92-92 </blockquote></details> <details> <summary>docs/HyperIndex/Tutorials/tutorial-scaffold-eth-2.md (2)</summary><blockquote> `10-19`: **Clear, focused intro and feature bullets.** Good concise value proposition and feature list. --- `99-102`: **Remove `pnpm update` — do not bump dependencies during codegen** `pnpm update` can unintentionally upgrade deps/lockfile; run only the package's codegen/regeneration script. File: docs/HyperIndex/Tutorials/tutorial-scaffold-eth-2.md (lines 99–102) ```diff cd packages/envio -pnpm update pnpm codegenIf the extension exposes a specific script (e.g.,
pnpm regenerate,pnpm update-indexer, orpnpm envioc codegen), use that instead — confirm the exact script name in packages/envio/package.json.
| id: chainweb-testnet-22 | ||
| title: Chainweb Testnet 22 | ||
| sidebar_label: Chainweb Testnet 22 | ||
| slug: /chainweb-testnet-22 | ||
| --- |
There was a problem hiding this comment.
Align id/slug with supported-networks convention
Match the expected doc id and URL path to ensure sidebar linking works.
-id: chainweb-testnet-22
+id: supported-networks/chainweb-testnet-22
@@
-slug: /chainweb-testnet-22
+slug: /supported-networks/chainweb-testnet-22📝 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.
| id: chainweb-testnet-22 | |
| title: Chainweb Testnet 22 | |
| sidebar_label: Chainweb Testnet 22 | |
| slug: /chainweb-testnet-22 | |
| --- | |
| id: supported-networks/chainweb-testnet-22 | |
| title: Chainweb Testnet 22 | |
| sidebar_label: Chainweb Testnet 22 | |
| slug: /supported-networks/chainweb-testnet-22 | |
| --- |
🤖 Prompt for AI Agents
In docs/HyperIndex/supported-networks/chainweb-testnet-22.md lines 2-6, the
frontmatter id and slug don't follow the supported-networks convention; change
the id to supported-networks-chainweb-testnet-22 and the slug to
/supported-networks/chainweb-testnet-22 (keep title and sidebar_label as-is) so
the doc path and sidebar linking match the repository convention.
| id: chainweb-testnet-23 | ||
| title: Chainweb Testnet 23 | ||
| sidebar_label: Chainweb Testnet 23 | ||
| slug: /chainweb-testnet-23 | ||
| --- |
There was a problem hiding this comment.
Align id/slug with supported-networks convention
Same issue as 22/24 pages; fix id and slug.
-id: chainweb-testnet-23
+id: supported-networks/chainweb-testnet-23
@@
-slug: /chainweb-testnet-23
+slug: /supported-networks/chainweb-testnet-23📝 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.
| id: chainweb-testnet-23 | |
| title: Chainweb Testnet 23 | |
| sidebar_label: Chainweb Testnet 23 | |
| slug: /chainweb-testnet-23 | |
| --- | |
| id: supported-networks/chainweb-testnet-23 | |
| title: Chainweb Testnet 23 | |
| sidebar_label: Chainweb Testnet 23 | |
| slug: /supported-networks/chainweb-testnet-23 | |
| --- |
🤖 Prompt for AI Agents
In docs/HyperIndex/supported-networks/chainweb-testnet-23.md lines 2-6, the
frontmatter id and slug don't follow the supported-networks convention; update
id to "supported-networks/chainweb-testnet-23" and slug to
"/supported-networks/chainweb-testnet-23" (leave title/sidebar_label as-is) so
they match the pattern used by the 22/24 pages.
| id: chainweb-testnet-24 | ||
| title: Chainweb Testnet 24 | ||
| sidebar_label: Chainweb Testnet 24 | ||
| slug: /chainweb-testnet-24 | ||
| --- |
There was a problem hiding this comment.
Doc id/slug likely mismatched with sidebar generator
supported-networks.json/sidebars expect doc ids like "supported-networks/chainweb-testnet-24". Current frontmatter sets id to "chainweb-testnet-24" and slug to top-level, which will break sidebar linking and URL consistency.
Apply:
-id: chainweb-testnet-24
+id: supported-networks/chainweb-testnet-24
@@
-slug: /chainweb-testnet-24
+slug: /supported-networks/chainweb-testnet-24📝 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.
| id: chainweb-testnet-24 | |
| title: Chainweb Testnet 24 | |
| sidebar_label: Chainweb Testnet 24 | |
| slug: /chainweb-testnet-24 | |
| --- | |
| id: supported-networks/chainweb-testnet-24 | |
| title: Chainweb Testnet 24 | |
| sidebar_label: Chainweb Testnet 24 | |
| slug: /supported-networks/chainweb-testnet-24 | |
| --- |
🤖 Prompt for AI Agents
In docs/HyperIndex/supported-networks/chainweb-testnet-24.md around lines 2 to
6, the frontmatter id and slug are top-level values and should be namespaced to
match the sidebar generator; update id to
"supported-networks/chainweb-testnet-24" and change slug to
"/supported-networks/chainweb-testnet-24" (leave title and sidebar_label as-is)
so the sidebar and URL generation use the correct namespaced doc id and path.
| id: sentient-testnet | ||
| title: Sentient Testnet | ||
| sidebar_label: Sentient Testnet | ||
| slug: /sentient-testnet | ||
| --- |
There was a problem hiding this comment.
Align id/slug with supported-networks convention
Update to ensure the networks sidebar item "supported-networks/sentient-testnet" resolves and URL lives under /supported-networks/.
-id: sentient-testnet
+id: supported-networks/sentient-testnet
@@
-slug: /sentient-testnet
+slug: /supported-networks/sentient-testnet📝 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.
| id: sentient-testnet | |
| title: Sentient Testnet | |
| sidebar_label: Sentient Testnet | |
| slug: /sentient-testnet | |
| --- | |
| id: supported-networks/sentient-testnet | |
| title: Sentient Testnet | |
| sidebar_label: Sentient Testnet | |
| slug: /supported-networks/sentient-testnet | |
| --- |
🤖 Prompt for AI Agents
In docs/HyperIndex/supported-networks/sentient-testnet.md around lines 2 to 6,
the frontmatter id and slug do not follow the supported-networks convention;
change the id to "supported-networks/sentient-testnet" and the slug to
"/supported-networks/sentient-testnet" so the sidebar item resolves under
/supported-networks/ (keep title and sidebar_label as-is).
| - **[Node.js v20](https://nodejs.org/en/download/current)** _(v20 or newer required)_ | ||
| - **[pnpm](https://pnpm.io/installation)** _(for Envio indexer)_ | ||
| - **[Docker Desktop](https://www.docker.com/products/docker-desktop/)** _(required to run the Envio indexer locally)_ | ||
| - **[Yarn](https://yarnpkg.com/getting-started/install)** _(for Scaffold-ETH)_ | ||
|
|
There was a problem hiding this comment.
Add Foundry (Anvil/Forge) to prerequisites.
Steps use yarn chain and yarn deploy which, in Scaffold‑ETH 2 defaults, rely on Foundry (anvil/forge). Without it, the tutorial will fail.
- **[Yarn](https://yarnpkg.com/getting-started/install)** _(for Scaffold-ETH)_
+
+Recommended (if using the default Scaffold‑ETH 2 setup):
+- **[Foundry (anvil & forge)](https://book.getfoundry.sh/getting-started/installation)** _(required for `yarn chain` and `yarn deploy` in the default template)_📝 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.
| - **[Node.js v20](https://nodejs.org/en/download/current)** _(v20 or newer required)_ | |
| - **[pnpm](https://pnpm.io/installation)** _(for Envio indexer)_ | |
| - **[Docker Desktop](https://www.docker.com/products/docker-desktop/)** _(required to run the Envio indexer locally)_ | |
| - **[Yarn](https://yarnpkg.com/getting-started/install)** _(for Scaffold-ETH)_ | |
| - **[Node.js v20](https://nodejs.org/en/download/current)** _(v20 or newer required)_ | |
| - **[pnpm](https://pnpm.io/installation)** _(for Envio indexer)_ | |
| - **[Docker Desktop](https://www.docker.com/products/docker-desktop/)** _(required to run the Envio indexer locally)_ | |
| - **[Yarn](https://yarnpkg.com/getting-started/install)** _(for Scaffold-ETH)_ | |
| Recommended (if using the default Scaffold-ETH 2 setup): | |
| - **[Foundry (anvil & forge)](https://book.getfoundry.sh/getting-started/installation)** _(required for `yarn chain` and `yarn deploy` in the default template)_ |
🤖 Prompt for AI Agents
In docs/HyperIndex/Tutorials/tutorial-scaffold-eth-2.md around lines 24 to 28,
the prerequisites list omits Foundry (Anvil/Forge) which Scaffold‑ETH steps use
via `yarn chain` and `yarn deploy`; update the list to add Foundry (Anvil/Forge)
as a required prerequisite, mention that Anvil is needed to run the local chain
and Forge for deployments, and include a link to Foundry installation docs
(https://book.getfoundry.sh/) and a short note that Foundry must be installed
and in PATH before running the tutorial.
| ```bash | ||
| npx create-eth@latest -e enviodev/scaffold-eth-2-extension | ||
| ``` |
There was a problem hiding this comment.
🧩 Analysis chain
Verify create-eth template flag syntax.
Confirm that passing a GitHub template via -e enviodev/scaffold-eth-2-extension is valid and whether a -- separator is needed (some setups require npx create-eth@latest -- -e ...).
🌐 Web query:
What is the correct syntax for using `npx create-eth@latest` with the `-e` flag to pass a GitHub template repo? Is `--` required before flags, and does `-e enviodev/scaffold-eth-2-extension` work?
💡 Result:
Short answer: Use the -e flag directly — no leading "--" required. Syntax:
npx create-eth@latest -e /[:branch]
Example (from the docs): npx create-eth@latest -e ChangoMan/charts-extension. [1][2]
Notes:
- The :branch part is optional (defaults to the repo's default branch). [2][3]
- You only need -- if you must stop npx/npm from parsing further arguments and forward them to the created CLI; for passing the extension name itself the documented form above is correct (no --). [1][2]
About your specific repo: -e enviodev/scaffold-eth-2-extension will only work if that exact GitHub repo exists. I could not find a repo with that exact name; enviodev has a scaffold-eth-2-envio repo (enviodev/scaffold-eth-2-envio). Use the real repo name, e.g.:
npx create-eth@latest -e enviodev/scaffold-eth-2-envio
If you want, tell me the exact GitHub repo name and I’ll verify it. [4][1]
Sources:
[1] create-eth-extensions README / usage.
[2] Scaffold-ETH 2 docs — How to install extensions (examples showing -e user/repo[:branch]).
[3] Scaffold-ETH docs / Available extensions list.
[4] Example enviodev repo (scaffold-eth-2-envio) on GitHub.
Update create-eth example: use -e (no --) and correct repo name
npx create-eth@latest -e <user>/<repo>[:branch]is the correct form — no--is required to pass the-etemplate flag.- The example repo
enviodev/scaffold-eth-2-extensionappears incorrect; replace with the actual repo (e.g.,enviodev/scaffold-eth-2-envio) so the command works. - Location: docs/HyperIndex/Tutorials/tutorial-scaffold-eth-2.md lines 33–35.
🤖 Prompt for AI Agents
In docs/HyperIndex/Tutorials/tutorial-scaffold-eth-2.md around lines 33 to 35,
the create-eth example uses an incorrect flag form and repo name; update the
command to use the short template flag syntax (-e) without a leading -- and
replace the incorrect repo "enviodev/scaffold-eth-2-extension" with the correct
repo name (for example "enviodev/scaffold-eth-2-envio") so the command reads in
the form: npx create-eth@latest -e <user>/<repo>[:branch].
| "Tutorials/tutorial-scaffold-eth-2", | ||
| ], |
There was a problem hiding this comment.
🧩 Analysis chain
Tutorial added to sidebar — verify doc id matches
Looks good. Please confirm the doc exists and its Docusaurus id resolves to "Tutorials/tutorial-scaffold-eth-2" so the link doesn't 404.
🏁 Script executed:
#!/bin/bash
# Check the tutorial file presence and frontmatter id
set -euo pipefail
fd -HI --type f 'tutorial-scaffold-eth-2.md' docs | sed 's/^/Found: /'
# Show frontmatter id/slug if present
rg -nC2 -e '^\s*id\s*:' -e '^\s*slug\s*:' -- docs | rg -nC2 'tutorial-scaffold-eth-2'Length of output: 752
Sidebar entry doesn't match doc id — fix to avoid 404
docs/HyperIndex/Tutorials/tutorial-scaffold-eth-2.md exists; frontmatter id = tutorial-scaffold-eth-2 (slug /scaffold-eth-2-extension-tutorial). Sidebar lists "Tutorials/tutorial-scaffold-eth-2" (sidebarsHyperIndex.js lines 95–96) — change the sidebar entry to tutorial-scaffold-eth-2 or update the doc's frontmatter id to Tutorials/tutorial-scaffold-eth-2.
🤖 Prompt for AI Agents
In sidebarsHyperIndex.js around lines 95 to 96, the sidebar entry
"Tutorials/tutorial-scaffold-eth-2" does not match the doc's frontmatter id
tutorial-scaffold-eth-2 and causes 404s; update the sidebar entry to
"tutorial-scaffold-eth-2" (or alternatively update the doc's frontmatter id to
"Tutorials/tutorial-scaffold-eth-2" if you prefer keeping the folder-based id)
so the sidebar key exactly matches the document id/slug.
| "supported-networks/local-anvil", | ||
| "supported-networks/local-hardhat", | ||
| "supported-networks/0g-newton-testnet","supported-networks/abstract","supported-networks/aleph-zero-evm","supported-networks/altlayer-op-demo-testnet","supported-networks/ancient8","supported-networks/arbitrum","supported-networks/arbitrum-blueberry","supported-networks/arbitrum-nova","supported-networks/arbitrum-sepolia","supported-networks/artela-testnet","supported-networks/arthera-mainnet","supported-networks/asset-chain-mainnet","supported-networks/astar-zkevm","supported-networks/astar-zkyoto","supported-networks/aurora","supported-networks/aurora-turbo","supported-networks/avalanche","supported-networks/b2-hub-testnet","supported-networks/b3","supported-networks/b3-sepolia-testnet","supported-networks/base","supported-networks/base-sepolia","supported-networks/beam","supported-networks/berachain","supported-networks/berachain-artio-testnet","supported-networks/berachain-bartio","supported-networks/bevm-mainnet","supported-networks/bevm-testnet","supported-networks/bitfinity-mainnet","supported-networks/bitfinity-testnet","supported-networks/bitgert-mainnet","supported-networks/bitlayer","supported-networks/blast","supported-networks/blast-sepolia","supported-networks/bob-mainnet","supported-networks/boba","supported-networks/boba-bnb-mainnet","supported-networks/botanix-testnet","supported-networks/bsc","supported-networks/bsc-testnet","supported-networks/canto","supported-networks/canto-testnet","supported-networks/celo","supported-networks/celo-alfajores-testnet","supported-networks/chainweb-testnet-20","supported-networks/chainweb-testnet-21","supported-networks/chiliz","supported-networks/chiliz-testnet-spicy","supported-networks/citrea-devnet","supported-networks/citrea-testnet","supported-networks/core","supported-networks/creator-testnet","supported-networks/cronos-zkevm","supported-networks/cronos-zkevm-testnet","supported-networks/crossfi-mainnet","supported-networks/crossfi-mainnet","supported-networks/crossfi-testnet","supported-networks/curtis","supported-networks/cyber","supported-networks/damon","supported-networks/degen-chain","supported-networks/dfk-chain","supported-networks/dogechain-mainnet","supported-networks/dogechain-testnet","supported-networks/dos-chain","supported-networks/energy-web","supported-networks/eos","supported-networks/eth","supported-networks/etherlink-testnet","supported-networks/exosama","supported-networks/fantom","supported-networks/fantom-testnet","supported-networks/flare","supported-networks/flare-songbird","supported-networks/flow","supported-networks/flow-testnet","supported-networks/fraxtal","supported-networks/fuel-mainnet","supported-networks/fuel-testnet","supported-networks/fuji","supported-networks/galadriel-devnet","supported-networks/gnosis","supported-networks/gnosis-chiado","supported-networks/gravity-alpha-mainnet","supported-networks/harmony-shard-0","supported-networks/heco-chain","supported-networks/holesky","supported-networks/hyperliquid","supported-networks/immutable-zkevm","supported-networks/immutable-zkevm-testnet","supported-networks/ink","supported-networks/iotex-network","supported-networks/japan-open-chain","supported-networks/kaia","supported-networks/kakarot-starknet-sepolia","supported-networks/kroma","supported-networks/layeredge-testnet","supported-networks/lightlink-pegasus-testnet","supported-networks/lightlink-phoenix","supported-networks/linea","supported-networks/lisk","supported-networks/lukso","supported-networks/lukso-testnet","supported-networks/manta","supported-networks/manta-pacific-sepolia","supported-networks/mantle","supported-networks/megaeth-testnet","supported-networks/merlin","supported-networks/metall2","supported-networks/meter-mainnet","supported-networks/meter-testnet","supported-networks/mev-commit","supported-networks/mint-mainnet","supported-networks/mode","supported-networks/monad-testnet","supported-networks/moonbase-alpha","supported-networks/moonbeam","supported-networks/morph","supported-networks/nautilus","supported-networks/neo-x-testnet","supported-networks/nibiru-testnet","supported-networks/now-chaint","supported-networks/oasis-emerald","supported-networks/oasis-sapphire","supported-networks/onigiri-subnet","supported-networks/onigiri-test-subnet","supported-networks/ontology-mainnet","supported-networks/ontology-testnet","supported-networks/op-celestia-raspberry","supported-networks/opbnb","supported-networks/optimism","supported-networks/optimism-sepolia","supported-networks/optopia","supported-networks/peaq","supported-networks/plume","supported-networks/polygon","supported-networks/polygon-amoy","supported-networks/polygon-zkevm","supported-networks/polygon-zkevm-cardona-testnet","supported-networks/public-goods-network","supported-networks/pulsechain","supported-networks/puppynet-shibarium","supported-networks/ronin","supported-networks/rootstock","supported-networks/saakuru","supported-networks/satoshivm","supported-networks/scroll","supported-networks/scroll-sepolia","supported-networks/sepolia","supported-networks/shibarium","supported-networks/shimmer-evm","supported-networks/skale-europa","supported-networks/soneium","supported-networks/sonic","supported-networks/sophon","supported-networks/sophon-testnet","supported-networks/stratovm-testnet","supported-networks/superseed","supported-networks/superseed-sepolia-testnet","supported-networks/swell","supported-networks/taiko","supported-networks/tangle","supported-networks/tanssi-demo","supported-networks/taraxa","supported-networks/telos-evm-mainnet","supported-networks/telos-evm-testnet","supported-networks/torus-mainnet","supported-networks/torus-testnet","supported-networks/unichain","supported-networks/unichain-sepolia","supported-networks/unicorn-ultra-nebulas-testnet","supported-networks/velas-mainnet","supported-networks/viction","supported-networks/worldchain","supported-networks/x-layer-mainnet","supported-networks/x-layer-testnet","supported-networks/xdc","supported-networks/xdc-testnet","supported-networks/zeta","supported-networks/zeta-testnet","supported-networks/zircuit","supported-networks/zklink-nova-mainnet","supported-networks/zksync","supported-networks/zksync-sepolia-testnet","supported-networks/zora","supported-networks/zora-sepolia"]} No newline at end of file | ||
| "supported-networks/0g-newton-testnet","supported-networks/abstract","supported-networks/aleph-zero-evm","supported-networks/altlayer-op-demo-testnet","supported-networks/ancient8","supported-networks/arbitrum","supported-networks/arbitrum-blueberry","supported-networks/arbitrum-nova","supported-networks/arbitrum-sepolia","supported-networks/artela-testnet","supported-networks/arthera-mainnet","supported-networks/asset-chain-mainnet","supported-networks/astar-zkevm","supported-networks/astar-zkyoto","supported-networks/aurora","supported-networks/aurora-turbo","supported-networks/avalanche","supported-networks/b2-hub-testnet","supported-networks/b3","supported-networks/b3-sepolia-testnet","supported-networks/base","supported-networks/base-sepolia","supported-networks/beam","supported-networks/berachain","supported-networks/berachain-artio-testnet","supported-networks/berachain-bartio","supported-networks/bevm-mainnet","supported-networks/bevm-testnet","supported-networks/bitfinity-mainnet","supported-networks/bitfinity-testnet","supported-networks/bitgert-mainnet","supported-networks/bitlayer","supported-networks/blast","supported-networks/blast-sepolia","supported-networks/bob-mainnet","supported-networks/boba","supported-networks/boba-bnb-mainnet","supported-networks/botanix-testnet","supported-networks/bsc","supported-networks/bsc-testnet","supported-networks/canto","supported-networks/canto-testnet","supported-networks/celo","supported-networks/celo-alfajores-testnet","supported-networks/chainweb-testnet-20","supported-networks/chainweb-testnet-21","supported-networks/chainweb-testnet-22","supported-networks/chainweb-testnet-23","supported-networks/chainweb-testnet-24","supported-networks/chiliz","supported-networks/chiliz-testnet-spicy","supported-networks/citrea-devnet","supported-networks/citrea-testnet","supported-networks/core","supported-networks/creator-testnet","supported-networks/cronos-zkevm","supported-networks/cronos-zkevm-testnet","supported-networks/crossfi-mainnet","supported-networks/crossfi-mainnet","supported-networks/crossfi-testnet","supported-networks/curtis","supported-networks/cyber","supported-networks/damon","supported-networks/degen-chain","supported-networks/dfk-chain","supported-networks/dogechain-mainnet","supported-networks/dogechain-testnet","supported-networks/dos-chain","supported-networks/energy-web","supported-networks/eos","supported-networks/eth","supported-networks/etherlink-testnet","supported-networks/exosama","supported-networks/fantom","supported-networks/fantom-testnet","supported-networks/flare","supported-networks/flare-songbird","supported-networks/flow","supported-networks/flow-testnet","supported-networks/fraxtal","supported-networks/fuel-mainnet","supported-networks/fuel-testnet","supported-networks/fuji","supported-networks/galadriel-devnet","supported-networks/gnosis","supported-networks/gnosis-chiado","supported-networks/gravity-alpha-mainnet","supported-networks/harmony-shard-0","supported-networks/heco-chain","supported-networks/holesky","supported-networks/hyperliquid","supported-networks/immutable-zkevm","supported-networks/immutable-zkevm-testnet","supported-networks/ink","supported-networks/iotex-network","supported-networks/japan-open-chain","supported-networks/kaia","supported-networks/kakarot-starknet-sepolia","supported-networks/kroma","supported-networks/layeredge-testnet","supported-networks/lightlink-pegasus-testnet","supported-networks/lightlink-phoenix","supported-networks/linea","supported-networks/lisk","supported-networks/lukso","supported-networks/lukso-testnet","supported-networks/manta","supported-networks/manta-pacific-sepolia","supported-networks/mantle","supported-networks/megaeth-testnet","supported-networks/merlin","supported-networks/metall2","supported-networks/meter-mainnet","supported-networks/meter-testnet","supported-networks/mev-commit","supported-networks/mint-mainnet","supported-networks/mode","supported-networks/monad-testnet","supported-networks/moonbase-alpha","supported-networks/moonbeam","supported-networks/morph","supported-networks/nautilus","supported-networks/neo-x-testnet","supported-networks/nibiru-testnet","supported-networks/now-chaint","supported-networks/oasis-emerald","supported-networks/oasis-sapphire","supported-networks/onigiri-subnet","supported-networks/onigiri-test-subnet","supported-networks/ontology-mainnet","supported-networks/ontology-testnet","supported-networks/op-celestia-raspberry","supported-networks/opbnb","supported-networks/optimism","supported-networks/optimism-sepolia","supported-networks/optopia","supported-networks/peaq","supported-networks/plume","supported-networks/polygon","supported-networks/polygon-amoy","supported-networks/polygon-zkevm","supported-networks/polygon-zkevm-cardona-testnet","supported-networks/public-goods-network","supported-networks/pulsechain","supported-networks/puppynet-shibarium","supported-networks/ronin","supported-networks/rootstock","supported-networks/saakuru","supported-networks/satoshivm","supported-networks/scroll","supported-networks/scroll-sepolia","supported-networks/sentient-testnet","supported-networks/sepolia","supported-networks/shibarium","supported-networks/shimmer-evm","supported-networks/skale-europa","supported-networks/soneium","supported-networks/sonic","supported-networks/sophon","supported-networks/sophon-testnet","supported-networks/stratovm-testnet","supported-networks/superseed","supported-networks/superseed-sepolia-testnet","supported-networks/swell","supported-networks/taiko","supported-networks/tangle","supported-networks/tanssi-demo","supported-networks/taraxa","supported-networks/telos-evm-mainnet","supported-networks/telos-evm-testnet","supported-networks/torus-mainnet","supported-networks/torus-testnet","supported-networks/unichain","supported-networks/unichain-sepolia","supported-networks/unicorn-ultra-nebulas-testnet","supported-networks/velas-mainnet","supported-networks/viction","supported-networks/worldchain","supported-networks/x-layer-mainnet","supported-networks/x-layer-testnet","supported-networks/xdc","supported-networks/xdc-testnet","supported-networks/zeta","supported-networks/zeta-testnet","supported-networks/zircuit","supported-networks/zklink-nova-mainnet","supported-networks/zksync","supported-networks/zksync-sepolia-testnet","supported-networks/zora","supported-networks/zora-sepolia"]} No newline at end of file |
There was a problem hiding this comment.
🛠️ Refactor suggestion
🧩 Analysis chain
Duplicate entry in supportedNetworks ("crossfi-mainnet")
The array includes "supported-networks/crossfi-mainnet" twice. This can duplicate items in the sidebar.
🏁 Script executed:
#!/bin/bash
# Report duplicate entries in supported-networks.json
set -euo pipefail
jq -r '.supportedNetworks[]' supported-networks.json | sort | uniq -d | sed 's/^/DUP: /' || trueLength of output: 39
Remove duplicate "supported-networks/crossfi-mainnet" from supported-networks.json
supported-networks.json contains "supported-networks/crossfi-mainnet" twice — remove one occurrence to avoid duplicated sidebar items.
🤖 Prompt for AI Agents
In supported-networks.json around line 5 there is a duplicated entry
"supported-networks/crossfi-mainnet"; remove one of the two occurrences so the
string appears only once, and after deletion ensure the JSON array remains valid
(no stray double commas or missing commas) and that the file still parses.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Added a tutorial page for the scaffold eth 2 extension. Seems like the supported networks also got updated automatically.
Summary by CodeRabbit