Migrate documentation to HyperIndex V3 API and terminology#911
Conversation
Add a second @docusaurus/plugin-content-docs instance (HyperIndexV2) that mounts docs/HyperIndex at /docs/HyperIndex/v2, alongside the existing v3 mount at /docs/HyperIndex. Both versions share the same source content for now. Add a navbar dropdown to switch between v3 and v2, and swizzle @theme/DocItem/Layout to render version-specific banners pointing users at the migration guide. Drop the stale HyperIndex_versions.json — native Docusaurus versioning is not used.
Three fixes after the initial commit failed Vercel: 1. Drop disableVersioning:true on both HyperIndex plugins — that flag is invalid once HyperIndex_versions.json is gone. 2. The two plugin instances cannot share the same path (webpack tries to apply two MDX loader pipelines to the same file and chokes with ~300 "Unexpected FunctionDeclaration" errors). Add a docs/HyperIndexV2 symlink to docs/HyperIndex and point the v2 plugin at it — single source, distinct webpack module path. 3. Move v2 from /docs/HyperIndex/v2/* to /docs/v2/HyperIndex/* so the route depth matches v3. Existing relative links like ../HyperIndex/getting-started now resolve within v2 instead of leaking back into v3. Banner link and navbar dropdown updated to match.
Per request, v2 is now a physical copy of docs/HyperIndex rather than a symlink. Two adjustments needed for the build to stay green: - Rewrite /docs/HyperIndex/ absolute links inside the copy to /docs/v2/HyperIndex/ so v2 pages reference v2 routes. - Three absolute .md links target pages that use a frontmatter `slug:` to flatten their URL (Advanced/hypersync.md -> /hypersync, Advanced/rpc-sync.md -> /rpc-sync, fuel/fuel.md -> /fuel). Docusaurus' linkify doesn't rewrite these absolute paths in the v2 plugin context, so point them directly at the slug-based route.
Update all envio init command invocations across the HyperIndex V2 docs to use pnpx envio@2 init so users on the v2 docs install the v2 CLI explicitly instead of picking up newer majors by default.
The static type:"dropdown" navbar item kept the label fixed on "v3" even when the user was browsing v2 pages, so the trigger label never matched the active version. Replace it with a small custom navbar item that reads useLocation() and renders the right label (v3 or v2) based on whether the path starts with /docs/v2/HyperIndex or /docs/HyperIndex. Items are registered via a swizzled NavbarItem/ComponentTypes so the rest of Docusaurus' navbar machinery is reused.
The header dropdown label was hardcoded to 'v3', so visiting v2 docs still showed 'v3' in the navbar. Swizzle NavbarItem/ComponentTypes to register a custom-versionDropdown that reads the current pathname and renders the underlying DropdownNavbarItem with 'v2' or 'v3' accordingly.
…g-66hsG' into claude/update-hyperindex-docs-CoJrb # Conflicts: # docusaurus.config.js # src/theme/NavbarItem/ComponentTypes.js
Update all envio init command invocations across the HyperIndex V3 docs to use pnpx envio@3.0.0-rc.0 init so users on the v3 docs install the v3 release candidate explicitly instead of picking up whatever's published as latest.
Place it after the Feature Roadmap section in the V3 overview and reword to reflect that an API token is now required (no longer 'soon'). Point users at the Envio Cloud portal to generate a token.
Replace the previous roadmap items with isolated multichain mode, polished Solana support, and indexing 1,000,000+ events per second.
Drop the 'rate limits for requests without API tokens' phrasing since unauthenticated requests aren't possible. State that an API token is required for all requests.
Update prerequisite lists across the V3 quickstart, getting-started, and tutorials so they no longer require pnpm v8+. pnpm is now recommended but other package managers are supported.
pnpm is no longer a hard requirement, so the 'requires pnpm v8 or newer' troubleshooting entry is obsolete.
- Move Prerequisites and the third 'Getting Started Guide' video into the Quickstart page (docs/HyperIndex/contract-import.md), and add a small 'Other ways to start' callout pointing at templates and examples. - Rename the page slug from /contract-import to /quickstart so the URL matches its sidebar label (the file id is unchanged so all relative ./contract-import links still resolve). - Delete docs/HyperIndex/getting-started.md and drop it from the HyperIndex sidebar. - Repoint inbound prose links (quickstart-with-ai, migrate-from-alchemy, migrate-from-ponder, migration-guide, two Examples) at the Quickstart. - Rewrite every absolute /docs/HyperIndex/contract-import URL across V3 docs (overview + supported-networks + tutorials) to /docs/HyperIndex/ quickstart. - Add client redirects from /docs/HyperIndex/getting-started and /docs/HyperIndex/contract-import to the new Quickstart slug, and repoint the existing /docs/getting-started and /docs/hyperindex-basics redirects. - Drop the stale Getting Started entry from the LLM context block.
The slug rename to /quickstart left a few stragglers that broke the docusaurus build: - docusaurus.config.js redirect /docs/contract-import still pointed at the now-removed /docs/HyperIndex/contract-import target. - scripts/update-endpoints.js auto-generates supported-networks pages from a template that hardcoded /docs/HyperIndex/contract-import. - quickstart-with-ai.md still relatively linked ./contract-import. - common-issues.md TOC referenced #using-the-correct-version-of-pnpm, whose section was removed earlier. Verified locally with yarn build (exit 0).
V3 introduced an auto-discovered src/handlers directory (see migrate-to-v3.md) that replaces the explicit src/EventHandlers.<ext> file path. This commit reflects that rename across: - All HyperIndex V3 prose, code blocks, and config snippets. - The supported-networks template in scripts/update-endpoints.js, so newly generated network pages use src/handlers.
V3 auto-discovers handler files under src/handlers, so the explicit handler: src/handlers field in config.yaml examples is no longer needed. Stripped from all V3 config snippets across docs/HyperIndex/ and from the supported-networks template in update-endpoints.js. Also tightened the dynamic-contracts.md prose to point at src/handlers/<ContractName>.ts (the per-contract file) instead of the ambiguous bare directory.
Move the "New Features", "Fixes", and "Release Notes" content out of the migration guide into a new top-level "What's New in V3" page (placed right after the Quickstart in the sidebar) and rewrite migrate-to-v3 as a plain, ordered list of changes required to upgrade — easier for AI assistants to consume. Mirrors the same split into HyperIndexV2 docs and regenerates the HyperIndex LLM aggregator.
Drops the HyperIndexV2 plugin from the site config, deletes the docs/HyperIndexV2/ tree, and adds a wildcard Vercel redirect from /docs/v2/HyperIndex/:path* to /docs/HyperIndex/:path* so existing v2 links continue to land on the equivalent v3 page. Also removes the now-unused version dropdown navbar item and the v2/v3 banner in the doc layout.
Reverts the V2 removal so the V2 sidebar and pages keep their original content, then replaces docs/HyperIndexV2/whats-new-in-v3.md and docs/HyperIndexV2/migrate-to-v3.md with symlinks to their V3 counterparts so those two migration pages have a single source of truth.
Adds a dedicated sidebarsHyperIndexV2.js that wraps the V3 sidebar and rewrites the `migrate-to-v3` doc reference to an external link pointing at /docs/HyperIndex/migrate-to-v3, so users on V2 jump straight to the canonical V3 migration guide instead of the /docs/v2/HyperIndex/ mirror.
Inlines the full sidebar configuration so V2 no longer depends on the V3 sidebar file, and rewrites the whats-new-in-v3 entry to an external link to the V3 page (mirroring the existing migrate-to-v3 redirect).
The runtime LLM-output plugin walks every registered plugin-content-docs plugin, so V2 pages were being indexed into llms.txt / llms-full.txt and emitted as .md copies under /docs/v2/HyperIndex/ in the build. Add an `excludePluginIds` option and skip `HyperIndexV2`, leaving only V3 docs in the LLM-targeted outputs.
- Refresh docs/HyperIndex/Guides/cli-commands.md for V3:
* Remove the V2 `-o, --output-directory` global option (types live in
.envio/ in V3).
* Document `envio dev` as the local development entrypoint; note that
handler edits no longer trigger codegen and add the `-r/--restart`
and `-b/--bench` flags.
* Mark `envio start` as production-only and move `--restart` over to
`envio dev`.
* Refresh the command reference table and the benchmark example.
* Note that the page is regenerated by scripts/update-cli-help.js and
that DOC_URL should be repointed at a V3 release tag/branch when
one is published.
- Strip stale "Starting from envio@2.X" / "Available from envio@2.X"
availability notes that are no longer relevant in V3 docs:
Guides/event-handlers.mdx, Guides/configuration-file.mdx,
Guides/navigating-hasura.md, Guides/schema-file.md,
Advanced/wildcard-indexing.mdx, Advanced/preload-optimization.md,
Advanced/rpc-sync.md, Advanced/metadata-query.md,
Advanced/effect-api.md.
scripts/generate-config-schema-doc.js now reads static/schemas/config.evm.json and produces: - V2: docs/HyperIndexV2/Advanced/config-schema-reference.md, directly from the source schema (unchanged behaviour). - V3: docs/HyperIndex/Advanced/config-schema-reference.md, produced by applying a toV3() transform to the same schema before rendering. toV3() encodes the published V2 → V3 changes: - Top-level: drop output / unordered_multichain_mode / event_decoder / preload_handlers; rename networks → chains (preserving order); add full_batch_size and storage. - Chain (renamed from Network): drop rpc_config; rename confirmed_block_threshold → max_reorg_depth; add block_lag; reshape rpc to accept string | Rpc | array<Rpc>; rewrite "network" prose as "chain". - $defs: drop RpcConfig / NetworkRpc / EventDecoder; add Storage; extend the For enum with realtime; rewrite Rpc/HypersyncConfig descriptions. - Contract defs: handler is no longer required (auto-discovered from src/handlers/) and its description is rewritten accordingly. - TransactionField enum: kind → type. - Append a "Removed in V3" appendix listing the dropped V2 fields. Each version gets its own example snippets (V2 uses networks/rpc_config/ preload_handlers; V3 uses chains/rpc/storage/full_batch_size).
Add a "What about Ordered Multichain Mode?" section to Advanced/multichain-indexing.mdx covering: - The reasoning: ordered mode paused every chain until the slowest chain caught up, so the indexer's reliability and head-latency were bounded by its worst-performing chain. - The recommended workaround: model cross-chain relationships in the schema by writing a temporary entity from the chain whose event arrives first, then completing it when the other chain's event arrives. Each chain keeps progressing independently. - A worked GraphQL + handler example for the common bridge-message-sent / message-delivered pattern.
scripts/update-endpoints.js now writes each supported-network page into
both doc trees:
- docs/HyperIndex/supported-networks/<name>.md (V3): `chains:` /
`rpc: <url>`, links pointing at /docs/HyperIndex/...
- docs/HyperIndexV2/supported-networks/<name>.md (V2): `networks:` /
`rpc_config: { url }`, links pointing at /docs/v2/HyperIndex/...
generateHyperSyncMarkdownContent and generateRPCMarkdownContent now
take a `variant` ("v2" | "v3") and branch on the chains key, RPC
shape, docs base URL, and the quickstart link slug
(contract-import on V2, quickstart on V3).
This fixes a local-build failure: when the upstream endpoint added
katana, prebuild generated docs/HyperIndex/supported-networks/katana.md
and added katana to supported-networks.json, but
docs/HyperIndexV2/supported-networks/katana.md was never created — so
the V2 sidebar (which reads the same JSON) failed with
"supported-networks/katana doc id does not exist". Each version now
gets its own file on every regeneration.
Also fix a broken anchor in Guides/event-handlers.mdx: the
"different filters per network" link now points at the renamed
#different-filters-per-chain anchor in wildcard-indexing.mdx.
…o-v3-d5Cvt # Conflicts: # docs/HyperIndex/Examples/example-ens.md # docs/HyperIndex/Examples/example-liquidation-metrics.md # docs/HyperIndex/Guides/testing.mdx
There was a problem hiding this comment.
Actionable comments posted: 11
Note
Due to the large number of review comments, Critical, Major severity comments were prioritized as inline comments.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (4)
docs/HyperIndex/Guides/running-locally.md (1)
35-35:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winUse V3 terminology in restart guidance (
chains, notnetworks).Line 35 still references
networks, but this page is otherwise V3-aligned (chains). This can mislead users editingconfig.yaml.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/HyperIndex/Guides/running-locally.md` at line 35, Update the restart guidance in the running-locally documentation so it uses the V3 term "chains" instead of "networks": search for the mention of `networks` in the sentence that lists changes to `config.yaml` and replace it with `chains` (ensuring the phrase reads like "Changes to `config.yaml` (adding contracts, events, or chains)"). Also confirm any nearby references or examples in the same paragraph use `chains` consistently.docs/HyperIndex/supported-networks/fuel-testnet.md (1)
15-15:⚠️ Potential issue | 🔴 Critical | ⚡ Quick winCritical: Chain ID is "undefined" instead of numeric value 0.
The Fuel Testnet chain ID is set to
undefinedthroughout this document (line 15 in the table, line 43 in the YAML config, and lines 16-17 in the URLs). Replace with the correct chain ID:0.Also applies to: 43-43
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/HyperIndex/supported-networks/fuel-testnet.md` at line 15, Replace every occurrence of the literal "undefined" for the Fuel Testnet chain ID with the numeric value 0: update the table cell labeled "Fuel Testnet Chain ID" (the table row showing undefined), change the YAML key value for chainId (currently set to undefined) to 0, and fix any URLs that embed the chain id (lines showing .../chain/undefined/... ) to use 0 instead; ensure all three places use the numeric 0 consistently.docs/HyperIndex/Tutorials/greeter-tutorial.md (1)
87-102:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winStandardize config format: greeter-tutorial.md uses non-standard
envio_nodewrapper withnamefields.The YAML in greeter-tutorial.md at lines 88-102 uses:
envio_node: chains: - name: polygonHowever, all supported-network files (fraxtal.md, x-layer.md, plasma.md, fantom.md, and 60+ other network docs) use:
chains: - id: 196 # X LayerThe
envio_nodewrapper andnameidentifier pattern appear nowhere else in the HyperIndex documentation. Update greeter-tutorial.md to use the standardchains+idformat to match all other examples and avoid confusing users about the correct configuration structure.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/HyperIndex/Tutorials/greeter-tutorial.md` around lines 87 - 102, Replace the non-standard top-level wrapper and keys used in the YAML snippet: remove the "envio_node" wrapper and change the per-chain "name" entries to the standard "chains" list with numeric "id" fields (e.g., replace "envio_node: chains: - name: polygon" with "chains: - id: <polygon_chain_id>") while preserving the Greeter contract entries (contract "name": Greeter and "address" values) so the example matches the other docs that use "chains" and "id" instead of "envio_node" and "name".docs/HyperIndex/Advanced/rpc-sync.md (1)
126-134:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winUse chain-consistent fallback RPC URLs in the Polygon example.
The sample sets
id: 137(Polygon) but useseth-mainnetendpoints, which is confusing for copy/paste users.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/HyperIndex/Advanced/rpc-sync.md` around lines 126 - 134, The Polygon example currently sets id: 137 but lists eth-mainnet RPC endpoints; update the rpc entries under the block with id: 137 to use chain-consistent Polygon mainnet endpoints (e.g., polygon RPC URLs and an ENVIO_POLYGON_API_KEY placeholder) and ensure any multi-endpoint list (the rpc: - url: ... entries and their for: fallback tags) reference Polygon providers instead of eth-mainnet to avoid confusion for copy/paste users.
🟡 Minor comments (44)
docs/HyperIndex/supported-networks/zksync-sepolia-testnet.md-39-40 (1)
39-40:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winUse
rpc:in alternative examples to match the V3 schema.These comments still show
url:while the active field is nowrpc:. Keeping mixed keys in the same snippet can cause invalid copy-paste configs.Suggested doc fix
- # url: https://zksync-sepolia.drpc.org # alternative, - # url: https://sepolia.era.zksync.dev # alternative + # rpc: https://zksync-sepolia.drpc.org # alternative + # rpc: https://sepolia.era.zksync.dev # alternative🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/HyperIndex/supported-networks/zksync-sepolia-testnet.md` around lines 39 - 40, Replace the deprecated key `url:` with `rpc:` in the alternative examples so the snippet matches the V3 schema; specifically update the commented lines that currently read `# url: https://zksync-sepolia.drpc.org` and `# url: https://sepolia.era.zksync.dev` to use `# rpc: ...` instead, ensuring all examples in the `zksync-sepolia-testnet` doc consistently use `rpc:` and avoid mixed keys that can break copy-paste configs.docs/HyperIndex/supported-networks/japan-open-chain.md-38-40 (1)
38-40:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winUse
rpcin the commented alternative endpoints as well.
Line 39andLine 40still showurl, which conflicts with the V3 key shown onLine 38and can cause bad copy/paste configs.Suggested doc fix
- # url: https://rpc-2.japanopenchain.org:8545 # alternative, - # url: https://rpc-3.japanopenchain.org # alternative + # rpc: https://rpc-2.japanopenchain.org:8545 # alternative + # rpc: https://rpc-3.japanopenchain.org # alternative🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/HyperIndex/supported-networks/japan-open-chain.md` around lines 38 - 40, The commented alternative endpoints use the wrong key `url:` which conflicts with the active `rpc:` key on the first line; update the commented lines that currently read `# url: https://rpc-2.japanopenchain.org:8545 # alternative,` and `# url: https://rpc-3.japanopenchain.org # alternative` to use `# rpc:` instead (preserve the comment markers and spacing) so all examples consistently use the `rpc` key.docs/HyperIndex/supported-networks/telos-evm-mainnet.md-39-40 (1)
39-40:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winUpdate commented alternatives to use V3 field name.
The commented alternative RPC URLs use
url:instead ofrpc:, which is inconsistent with the V3 configuration format shown on line 38. If users uncomment these lines, they would use the incorrect field name and encounter configuration errors.📝 Proposed fix to align with V3 field naming
- # url: https://telos.drpc.org # alternative, - # url: https://mainnet.telos.net/evm # alternative + # rpc: https://telos.drpc.org # alternative + # rpc: https://mainnet.telos.net/evm # alternative🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/HyperIndex/supported-networks/telos-evm-mainnet.md` around lines 39 - 40, Update the two commented alternative RPC entries that currently use the V2 field name "url:" to the V3 field name "rpc:" so they match the V3 configuration shown earlier; locate the lines that read "# url: https://telos.drpc.org # alternative," and "# url: https://mainnet.telos.net/evm # alternative" and change "url:" to "rpc:" in those commented lines to prevent users from uncommenting an invalid field name.docs/HyperIndex/supported-networks/oasis-sapphire.md-39-39 (1)
39-39:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winUpdate commented alternative to V3 syntax.
The commented alternative RPC URL still uses V2 syntax (
url:). For consistency with the V3 migration, it should use therpc:field name instead.📝 Proposed fix
- # url: https://sapphire.oasis.io # alternative + # rpc: https://sapphire.oasis.io # alternative🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/HyperIndex/supported-networks/oasis-sapphire.md` at line 39, Replace the commented V2-style alternative that uses "url:" with the V3 "rpc:" field; specifically change the comment containing "url: https://sapphire.oasis.io # alternative" to use "rpc: https://sapphire.oasis.io # alternative" so the commented alternative matches V3 syntax.docs/HyperIndex/supported-networks/boba.md-48-49 (1)
48-49:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winFix YAML indentation for address list items.
The list items under
address:are indented with 9 spaces but should use 10 spaces to follow YAML's standard 2-space indentation convention. While some parsers may tolerate 9 spaces (since it's greater than the parent's 8), the inconsistent indentation violates best practices and could confuse users copying this example.📝 Proposed fix
- name: ContractName address: - - "0xYourContractAddress1" - - "0xYourContractAddress2" + - "0xYourContractAddress1" + - "0xYourContractAddress2" events:🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/HyperIndex/supported-networks/boba.md` around lines 48 - 49, The YAML example under the address key has its list items indented with 9 spaces; update the indentation so the bolts list items under the address: key use 10 spaces (i.e., follow the 2-space-per-level convention) so "0xYourContractAddress1" and "0xYourContractAddress2" align properly under address:. Locate the address: key in the Boba network example and increase the leading spaces for those list entries to match the parent indentation level.docs/HyperIndex/supported-networks/metall2.md-47-49 (1)
47-49:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winFix non-standard YAML indentation in the address list.
The
address:list items on lines 48-49 use only 1 space of relative indentation instead of the standard 2 spaces. While the YAML parses correctly, this inconsistency diverges from YAML best practices and may confuse users following the documentation example.Suggested fix for consistent indentation
address: - - "0xYourContractAddress1" - - "0xYourContractAddress2" + - "0xYourContractAddress1" + - "0xYourContractAddress2" events:🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/HyperIndex/supported-networks/metall2.md` around lines 47 - 49, The YAML sample under the address key uses non-standard 1-space relative indentation for the list items; update the list so the items under the address key ("0xYourContractAddress1", "0xYourContractAddress2") are indented with 2 spaces (consistent with other YAML examples) so the address: key and its dash-prefixed items follow standard YAML indentation and visual style.docs/HyperIndex/supported-networks/mosaic-matrix.md-20-22 (1)
20-22:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winThe "HIDDEN 🔒" text marker won't actually hide this page.
Adding "HIDDEN 🔒" as markdown body text won't affect page visibility in Docusaurus navigation, sidebars, or search. If the intention is to hide this page, you need to add frontmatter metadata at the top of the file:
--- unlisted: true # or draft: true ---If this is just an informational tier label for readers (not meant to programmatically hide the page), consider clarifying the language, e.g., "Tier: Private/Limited Access 🔒".
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/HyperIndex/supported-networks/mosaic-matrix.md` around lines 20 - 22, The "HIDDEN 🔒" body text under the "Tier" heading does not hide the page; replace or augment it by adding Docusaurus frontmatter at the top of this document (e.g., set unlisted: true or draft: true) to actually hide the page from navigation/search, or if it’s intended as a reader-facing label, change the copy under the "Tier" heading from "HIDDEN 🔒" to a clearer label like "Tier: Private / Limited Access 🔒" so intent is explicit; update the markdown file containing the "Tier" heading accordingly.docs/HyperIndex/supported-networks/bob-mainnet.md-39-39 (1)
39-39:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winUse
rpcin the commented alternative endpoint.Line 39 still says
# url: ...even though this doc now usesrpc. Keeping legacy key in comments can lead to invalid copy/paste config.Suggested doc fix
- # url: https://bob.drpc.org # alternative + # rpc: https://bob.drpc.org # alternative🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/HyperIndex/supported-networks/bob-mainnet.md` at line 39, Update the commented alternative endpoint in the docs so it uses the current key name `rpc` instead of the legacy `url`: replace the comment text that currently reads "# url: https://bob.drpc.org # alternative" with a comment using "rpc" (e.g., "# rpc: https://bob.drpc.org # alternative") to prevent invalid copy/paste configs; verify the change in the bob-mainnet.md comment block containing that exact string.docs/HyperIndex/supported-networks/immutable-zkevm.md-39-40 (1)
39-40:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winUpdate stale alternative key names to
rpcfor consistency.Line 39 and Line 40 still show
# url: ...while the active V3 field isrpc. This is easy to copy incorrectly from the docs.Suggested doc fix
- # url: https://rpc.immutable.com # alternative, - # url: https://immutable.gateway.tenderly.co # alternative + # rpc: https://rpc.immutable.com # alternative + # rpc: https://immutable.gateway.tenderly.co # alternative🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/HyperIndex/supported-networks/immutable-zkevm.md` around lines 39 - 40, Replace the stale commented alternative keys that use "url:" with the active V3 key "rpc:" in the examples — specifically change occurrences of "# url: https://rpc.immutable.com" and "# url: https://immutable.gateway.tenderly.co" to "# rpc: https://rpc.immutable.com" and "# rpc: https://immutable.gateway.tenderly.co" so copy-paste uses the correct key name.docs/HyperIndex/supported-networks/mint-mainnet.md-39-40 (1)
39-40:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winUpdate commented alternative RPC URLs to use
rpc:field.The commented alternative URLs still use
url:instead ofrpc:. Since the V3 config structure usesrpc:directly under each chain, users who uncomment these lines will have invalid configuration.📝 Suggested fix
- # url: https://global.rpc.mintchain.io # alternative, - # url: https://rpc.mintchain.io # alternative + # rpc: https://global.rpc.mintchain.io # alternative + # rpc: https://rpc.mintchain.io # alternative🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/HyperIndex/supported-networks/mint-mainnet.md` around lines 39 - 40, Change the commented alternative RPC entries that currently use "url:" to use the V3 config key "rpc:" so uncommenting them produces valid config; specifically replace occurrences of the commented lines containing "# url: https://global.rpc.mintchain.io" and "# url: https://rpc.mintchain.io" with "# rpc: https://global.rpc.mintchain.io" and "# rpc: https://rpc.mintchain.io" (preserving comments/formatting and placement under the Mint chain block) so the config uses the correct "rpc:" field.docs/HyperIndex/supported-networks/bitgert-mainnet.md-39-40 (1)
39-40:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winUpdate commented alternative RPC URLs to use
rpc:field.The commented alternative URLs still use
url:instead ofrpc:. Since the V3 config structure usesrpc:directly under each chain, users who uncomment these lines will have invalid configuration.📝 Suggested fix
- # url: https://serverrpc.com # alternative, - # url: https://chainrpc.com # alternative + # rpc: https://serverrpc.com # alternative + # rpc: https://chainrpc.com # alternative🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/HyperIndex/supported-networks/bitgert-mainnet.md` around lines 39 - 40, The commented alternative RPC entries use "url:" but the V3 config expects "rpc:" under each chain; update the commented lines that read "# url: https://serverrpc.com" and "# url: https://chainrpc.com" to use "# rpc: https://serverrpc.com" and "# rpc: https://chainrpc.com" so that when users uncomment them the configuration is valid.docs/HyperIndex/Troubleshoot/error-codes.md-111-115 (1)
111-115:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winAlign RPC configuration format across V3 examples.
This snippet uses
rpc: { url: ... }(object format), but the majority of network configuration examples insupported-networks/*.mduserpc: https://...(scalar format). Both patterns appear inwhats-new-in-v3.mdas well. Consolidate to a single format or explicitly document when each form applies to avoid user confusion during migration.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/HyperIndex/Troubleshoot/error-codes.md` around lines 111 - 115, The RPC field formatting is inconsistent across V3 docs: some examples use rpc: { url: "..." } while most use rpc: "https://...". Update the examples under the chains block so all use a single consistent format (prefer the scalar form rpc: "https://..." used in supported-networks/*.md) by replacing occurrences of rpc: { url: ... } with rpc: "https://..."; alternatively, if both forms are valid, add a short note explaining the two accepted shapes and show both examples. Ensure references to the chains and rpc keys (and the nested url key) are updated so all V3 examples are aligned.docs/HyperIndex/supported-networks/dogechain-mainnet.md-39-40 (1)
39-40:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winFix commented alternative RPC keys to V3 field name.
Line 39 and Line 40 still show
url, but this snippet now usesrpc. Keepingurlin alternatives is misleading for copy/paste.Suggested patch
- # url: https://rpc-us.dogechain.dog # alternative, - # url: https://rpc.dogechain.dog # alternative + # rpc: https://rpc-us.dogechain.dog # alternative + # rpc: https://rpc.dogechain.dog # alternative🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/HyperIndex/supported-networks/dogechain-mainnet.md` around lines 39 - 40, The commented alternative RPC entries still use the old key name "url" but the snippet now expects "rpc"; update the two commented lines that read "# url: https://rpc-us.dogechain.dog" and "# url: https://rpc.dogechain.dog" to use the "rpc" field name (e.g., "# rpc: https://rpc-us.dogechain.dog" and "# rpc: https://rpc.dogechain.dog") so the examples match the current configuration format.docs/HyperIndex/Tutorials/tutorial-erc20-token-transfers.md-115-118 (1)
115-118:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winUse “directory” wording for
src/handlers.Line 115 names a folder, but Line 117 says “This file contains…”. Update to “This directory contains…” for correctness.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/HyperIndex/Tutorials/tutorial-erc20-token-transfers.md` around lines 115 - 118, Update the wording for the `src/handlers` entry in the tutorial: change the sentence currently saying "This file contains the business logic for processing events:" to "This directory contains the business logic for processing events:" so it correctly refers to the `src/handlers` directory; search for the `src/handlers` heading and update the accompanying sentence accordingly.docs/HyperIndexV2/Advanced/performance/historical-sync.md-28-30 (1)
28-30:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winReword the “Future Improvements (v2)” sentence to avoid stale/future-tense ambiguity.
“In version 2, we are restructuring…” reads like an active roadmap item and can confuse V2 readers. Consider past tense or explicit status (planned/archived).
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/HyperIndexV2/Advanced/performance/historical-sync.md` around lines 28 - 30, Update the “Future Improvements (v2)” wording to remove present/future-tense ambiguity by making the status explicit and using past or status language: replace the sentence that starts “In version 2, we are restructuring the way loaders work into pre-handlers.” with a clear statement such as “In v2, loaders were restructured into preHandlers to enable batching of entity loading before handlers,” or “Planned for v2: restructure loaders into preHandlers to enable batching of entity loading before handlers,” and keep references to preHandlers and preHandler functions so readers can locate the feature.docs/HyperIndex/Tutorials/tutorial-erc20-token-transfers.md-32-32 (1)
32-32:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winDo not pin tutorials to RC versions like
3.0.0-rc.0.The
3.0.0-rc.0release candidate is not recommended for tutorials per official Envio docs. If V3 features are required, use the latest documented pre-release (e.g.,3.0.0-alpha.21) with a note explaining the V3 dependency. Otherwise, use stable v2.32.11 or wait for V3 to reach stable status.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/HyperIndex/Tutorials/tutorial-erc20-token-transfers.md` at line 32, Change the pinned command "pnpx envio@3.0.0-rc.0 init" to use a supported version; replace it with either the stable v2 release (e.g., "pnpx envio@2.32.11 init") or the documented latest pre-release if V3 behaviour is required (e.g., "pnpx envio@3.0.0-alpha.21 init"), and add a short inline note near that command explaining why a pre-release is used (that V3 features are required) or recommending waiting for stable V3.docs/HyperIndex/Advanced/effect-api.md-67-75 (1)
67-75:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winRemove legacy
loaderwording in the Effect API intro text.Right above this example, the doc still says effects can be called from a “handler, loader, or another effect.” Since V3 removed loader API terminology in this migration, please update that sentence to avoid mixed guidance.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/HyperIndex/Advanced/effect-api.md` around lines 67 - 75, Update the intro sentence above the example so it no longer references the removed "loader" term; replace the phrase "handler, loader, or another effect" with something like "handler, job, or another effect" (or whichever current API term you use for scheduled/background work) so guidance matches V3; locate the text near the example that contains the indexer.onEvent snippet and update the wording accordingly.docs/HyperIndexV2/Advanced/metadata-query.md-65-65 (1)
65-65:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winFix user-facing typos and phrasing in the new V2 metadata page.
Line 65 has a typo (
actuall), Line 82 should usereorg-resistant, and Line 86 can be tightened tooutside the batch transactionfor clarity.✍️ Suggested patch
-You can use this query to track the indexing progress for each chain. For example, wait until the block data is ready before querying actuall data, building custom dashboards, health checks or sending notifications. +You can use this query to track indexing progress for each chain. For example, wait until the block data is ready before querying actual data, building custom dashboards, running health checks, or sending notifications. ... -- `eventsProcessed` - Number of processed events and written to the DB. (not reorg resistant) +- `eventsProcessed` - Number of processed events written to the DB. (not reorg-resistant) ... -The fields are updated outside of the batch transaction and throttled to avoid performance overhead. +The fields are updated outside the batch transaction and throttled to avoid performance overhead.Also applies to: 82-82, 86-86
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/HyperIndexV2/Advanced/metadata-query.md` at line 65, Fix three user-facing text issues in the metadata page: change the word "actuall" to "actual" in the sentence that begins "You can use this query to track the indexing progress...", replace the phrase "reorg safe" (or similar) with "reorg-resistant" where Line 82 references reorg safety, and tighten the wording at Line 86 to read "outside the batch transaction" instead of the existing, longer phrase; update the exact phrases in the document so they read cleanly and consistently.docs/HyperIndex/Tutorials/tutorial-op-bridge-deposits.md-11-11 (1)
11-11:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winUse canonical internal docs path instead of absolute URL.
Line 11 links to
https://docs.envio.dev/docs/HyperIndex/quickstart; prefer/docs/HyperIndex/quickstartto keep routing consistent across environments and avoid hardcoding host/base URL.🔧 Suggested patch
-This tutorial will guide you through indexing Optimism Standard Bridge deposits in under 5 minutes using Envio HyperIndex's no-code [contract import](https://docs.envio.dev/docs/HyperIndex/quickstart) feature. +This tutorial will guide you through indexing Optimism Standard Bridge deposits in under 5 minutes using Envio HyperIndex's no-code [contract import](/docs/HyperIndex/quickstart) feature.Based on learnings: in this repo, HyperIndex links should use canonical
/docs/HyperIndex/<slug>paths to avoid redirect/route issues.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/HyperIndex/Tutorials/tutorial-op-bridge-deposits.md` at line 11, The link in the tutorial text currently uses an absolute URL "https://docs.envio.dev/docs/HyperIndex/quickstart"; change it to the canonical internal docs path "/docs/HyperIndex/quickstart" so routing is consistent across environments and avoids hardcoding the host (update the string in the tutorial text where the URL appears).docs/HyperIndexV2/Advanced/websockets.md-37-57 (1)
37-57:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winAdd language identifiers to fenced code blocks.
The URL example code fences at Line 37, Line 43, Line 49, and Line 55 are missing languages (
MD040). Addtext(orbashwhere appropriate) to keep markdown lint-clean.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/HyperIndexV2/Advanced/websockets.md` around lines 37 - 57, Add language identifiers to the four fenced code blocks that contain the URL examples to satisfy MD040: change the blocks containing "https://indexer.hyperindex.xyz/123abcd/graphql", "wss://indexer.hyperindex.xyz/123abcd/graphql", "http://localhost:8080/v1/graphql", and "ws://localhost:8080/v1/graphql" to use fenced code languages (use "text" for plain URLs or "bash" if you prefer shell context) so each triple-backtick fence becomes ```text (or ```bash) followed by the URL and closed with ``` to keep the markdown lint clean.docs/HyperIndexV2/Advanced/config-schema-reference.md-291-293 (1)
291-293:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winClean up grammar/spelling in EventConfig field docs.
Please fix wording in this section:
human-readable(hyphenated),omitted(spelling), and convert “Should be unique per contract” into a full sentence for clarity.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/HyperIndexV2/Advanced/config-schema-reference.md` around lines 291 - 293, Update the EventConfig field docs: hyphenate "human-readable" in the `event` description, correct the spelling of "omitted" in the `name` description, and rewrite "Should be unique per contract" as a full sentence (e.g., "The name must be unique per contract."); ensure the `event`, `name`, and `field_selection` lines remain the same identifiers and that `EventConfig` is referenced consistently.docs/HyperIndex/supported-networks/b2-testnet.md-22-22 (1)
22-22:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winReplace placeholder tier text before publish.
Line 22 still shows
undefined 🏗️, which reads like an unresolved placeholder in public docs. Please set the actual tier or remove the section until known.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/HyperIndex/supported-networks/b2-testnet.md` at line 22, Replace the unresolved placeholder text "undefined 🏗️" in the B2 testnet documentation section with the correct tier label or remove that line/section until the tier is known; locate the markdown segment containing the literal string "undefined 🏗️" in the B2 testnet docs and update it to the actual tier (e.g., "Tier: X") or delete the placeholder so no unresolved text appears in the published docs.docs/HyperIndexV2/Advanced/rpc-sync.md-108-131 (1)
108-131:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winInconsistency: Address should be quoted per PR objectives.
Similar to the hypersync.md file, line 126 shows an unquoted address:
address: 0x9D02A17dE4E68545d3a58D3a20BbBE0399E05c9cFor consistency with the PR's stated approach of quoting contract address values, this should be:
address: "0x9D02A17dE4E68545d3a58D3a20BbBE0399E05c9c"📋 Proposed fix
contracts: - name: PolygonGreeter abi_file_path: abis/greeter-abi.json - address: 0x9D02A17dE4E68545d3a58D3a20BbBE0399E05c9c + address: "0x9D02A17dE4E68545d3a58D3a20BbBE0399E05c9c" handler: ./src/EventHandlers.bs.js🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/HyperIndexV2/Advanced/rpc-sync.md` around lines 108 - 131, The contract address under the Greeter indexer (contract name PolygonGreeter) is unquoted; update the address value for PolygonGreeter in the YAML block (the address: field) to be a quoted string (e.g., "0x9D02A17dE4E68545d3a58D3a20BbBE0399E05c9c") to match the PR's quoting convention for contract addresses and maintain consistency with other files like hypersync.md.docs/HyperIndexV2/Advanced/hypersync.md-49-63 (1)
49-63:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winInconsistency: Address should be quoted per PR objectives.
The PR summary states that config examples "quotes contract
addressvalues," but line 58 shows an unquoted address:address: 0x9D02A17dE4E68545d3a58D3a20BbBE0399E05c9cFor consistency with the PR's stated V3 migration approach, this should be:
address: "0x9D02A17dE4E68545d3a58D3a20BbBE0399E05c9c"📋 Proposed fix
- name: PolygonGreeter abi_file_path: abis/greeter-abi.json - address: 0x9D02A17dE4E68545d3a58D3a20BbBE0399E05c9c + address: "0x9D02A17dE4E68545d3a58D3a20BbBE0399E05c9c" handler: ./src/EventHandlers.bs.js🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/HyperIndexV2/Advanced/hypersync.md` around lines 49 - 63, The YAML example for the Greeter indexer has an unquoted contract address value under the contracts -> address key; update the address value to be a quoted string (e.g., "0x9D02A17...") to match the PR objective of quoting contract addresses and ensure the contracts block in the Greeter example uses a string for address rather than a bare token; search for other instances in the same hypersync examples and apply the same quoting convention to any contract.address fields to maintain consistency.docs/HyperIndexV2/Advanced/dynamic-contracts.md-130-130 (1)
130-130:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winUpdate migration guide link to use correct V2 path.
Line 130 references
/docs/v2/HyperIndex/migration-guide, but the actual file isdocs/HyperIndexV2/migration-guide.md. Change the link to/docs/HyperIndexV2/migration-guideto point to the correct V2 migration guide.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/HyperIndexV2/Advanced/dynamic-contracts.md` at line 130, Update the markdown link target in docs/HyperIndexV2/Advanced/dynamic-contracts.md: replace the current destination "/docs/v2/HyperIndex/migration-guide" for the link text "Migrating from a Subgraph" with the correct V2 path "/docs/HyperIndexV2/migration-guide" so it points to docs/HyperIndexV2/migration-guide.md.docs/HyperIndexV2/Advanced/preload-optimization.md-197-197 (1)
197-197:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winFix the loaders documentation link to point to the V2 version.
The link
/docs/v2/HyperIndex/loadersreferences the V1 loaders documentation. Since this file is part of HyperIndexV2 docs and a V2 loaders page exists atdocs/HyperIndexV2/Advanced/loaders.md, update the link to ensure it points to the correct V2 documentation.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/HyperIndexV2/Advanced/preload-optimization.md` at line 197, Update the "Loaders" hyperlink in the Preload Optimization paragraph so it points to the V2 loaders page (docs/HyperIndexV2/Advanced/loaders.md) instead of /docs/v2/HyperIndex/loaders; locate the anchor text "Loaders" in the preload-optimization.md content and replace the href target with the V2 path so the link directs to the correct HyperIndexV2 loaders documentation.docs/HyperIndex/supported-networks/gravity-alpha-mainnet.md-39-39 (1)
39-39:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winAlign the alternative endpoint comment with the V3 key name.
Please change
# url: ...to# rpc: ...to match the migrated schema and avoid copy/paste mistakes.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/HyperIndex/supported-networks/gravity-alpha-mainnet.md` at line 39, Update the inline comment for the alternative endpoint so it uses the V3 key name: replace the comment prefix `# url:` with `# rpc:` in the existing alternative endpoint line (`# url: https://rpc.ankr.com/gravity`) so it reads `# rpc: https://rpc.ankr.com/gravity`, ensuring the migrated schema key name is used and preventing copy/paste mistakes.docs/HyperIndex/supported-networks/x-layer-testnet.md-39-40 (1)
39-40:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winUpdate alternative endpoint comments to
rpc:for V3 consistency.These alternatives still use
url, which conflicts with the new config shape and can confuse readers.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/HyperIndex/supported-networks/x-layer-testnet.md` around lines 39 - 40, The commented alternative endpoints in docs/HyperIndex/supported-networks/x-layer-testnet.md use the outdated key "url"; update those comment lines to use "rpc:" instead (e.g., change "# url: https://xlayertestrpc.okx.com" and "# url: https://testrpc.xlayer.tech" to "# rpc: ...") so the examples match the V3 config shape and avoid confusion for readers.docs/HyperIndex/supported-networks/telos-evm-testnet.md-39-39 (1)
39-39:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winUse
rpcin the alternative comment as well.The sample now uses
rpc:; keeping the commented alternative asurl:introduces avoidable confusion.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/HyperIndex/supported-networks/telos-evm-testnet.md` at line 39, The commented alternative line currently reads "# url: https://telos-testnet.drpc.org # alternative" and should use the same key as the sample above; update that comment to "# rpc: https://telos-testnet.drpc.org # alternative" so the example consistently uses "rpc" instead of "url" (locate and edit the commented line containing "https://telos-testnet.drpc.org").docs/HyperIndex/supported-networks/berachain-artio-testnet.md-39-39 (1)
39-39:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winKeep the alternative endpoint key consistent with V3 (
rpc, noturl).The commented alternative currently shows
# url: ..., which conflicts with the migratedrpc:field and can cause copy/paste errors.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/HyperIndex/supported-networks/berachain-artio-testnet.md` at line 39, The commented alternative line currently uses "url" instead of the V3-consistent key "rpc"; update the commented line that reads "# url: https://rpc.ankr.com/berachain_testnet" to use "# rpc: https://rpc.ankr.com/berachain_testnet" so the example matches the migrated `rpc:` field and avoids copy/paste errors.docs/HyperIndex/supported-networks/altlayer-op-demo-testnet.md-39-40 (1)
39-40:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winUpdate commented alternatives to V3 syntax.
The commented alternative RPC URLs use
url:instead ofrpc:, creating inconsistency with the V3 schema.✏️ Proposed fix
- # url: https://rpc-testnet-altlayer.com # alternative, - # url: https://altlayer-rpc.io # alternative + # rpc: https://rpc-testnet-altlayer.com # alternative, + # rpc: https://altlayer-rpc.io # alternative🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/HyperIndex/supported-networks/altlayer-op-demo-testnet.md` around lines 39 - 40, The commented alternative RPC lines use the old "url:" key; update both commented lines "# url: https://rpc-testnet-altlayer.com" and "# url: https://altlayer-rpc.io" to use the V3 schema key "rpc:" (i.e., replace "url:" with "rpc:") so the commented alternatives match the V3 format and remain consistent with the rest of the document.docs/HyperIndex/supported-networks/scroll-sepolia.md-39-40 (1)
39-40:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winUpdate commented alternatives to V3 syntax.
The commented alternative RPC endpoints use the V2
url:field instead of V3'srpc:field.✏️ Proposed fix
- # url: https://sepolia-rpc.scroll.io # alternative, - # url: https://scroll-sepolia-rpc.publicnode.com # alternative + # rpc: https://sepolia-rpc.scroll.io # alternative, + # rpc: https://scroll-sepolia-rpc.publicnode.com # alternative🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/HyperIndex/supported-networks/scroll-sepolia.md` around lines 39 - 40, Update the commented alternative RPC endpoints so they use V3 syntax by replacing the V2 `url:` field with the V3 `rpc:` field in the commented lines (the two commented alternatives shown as "# url: https://sepolia-rpc.scroll.io" and "# url: https://scroll-sepolia-rpc.publicnode.com"); ensure the comments now read with `rpc:` and preserve the URLs and comment formatting exactly otherwise.docs/HyperIndex/supported-networks/iotex-network.md-39-40 (1)
39-40:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winUpdate commented alternatives to use V3 syntax.
The commented alternative RPC URLs still use
url:instead ofrpc:, which is inconsistent with the V3 schema. Users who uncomment these lines would be using incorrect V2 syntax.✏️ Proposed fix
- # url: https://iotex-network.rpc.thirdweb.com # alternative, - # url: https://babel-api.mainnet.iotex.one # alternative + # rpc: https://iotex-network.rpc.thirdweb.com # alternative, + # rpc: https://babel-api.mainnet.iotex.one # alternative🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/HyperIndex/supported-networks/iotex-network.md` around lines 39 - 40, Update the commented alternative RPC entries in the document so they use V3 schema key "rpc:" instead of the old "url:"; locate the commented lines containing "url: https://iotex-network.rpc.thirdweb.com" and "url: https://babel-api.mainnet.iotex.one" and change the key to "rpc:" so uncommenting will produce valid V3 syntax.docs/HyperIndex/supported-networks/bitlayer.md-38-39 (1)
38-39:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winKeep alternative endpoint key consistent with V3 (
rpc).Line 39 still uses
urlwhile Line 38 migrated torpc. Aligning the commented alternative avoids schema confusion.Suggested fix
- # url: https://ws.bitlayer-rpc.com # alternative + # rpc: https://ws.bitlayer-rpc.com # alternative🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/HyperIndex/supported-networks/bitlayer.md` around lines 38 - 39, Update the commented alternative endpoint key to match the V3 key used above: change the commented line that currently reads "url: https://ws.bitlayer-rpc.com # alternative" to use "rpc" instead of "url" so it reads "rpc: https://ws.bitlayer-rpc.com # alternative", ensuring the keys are consistent with the existing "rpc" entry.docs/HyperIndex/supported-networks/ontology-mainnet.md-38-40 (1)
38-40:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winUse
rpcfor commented alternatives too.Line 39 and Line 40 still use
url, which conflicts with the V3 key introduced on Line 38. This can mislead copy/paste users.Suggested fix
- # url: https://dappnode2.ont.io:10339 # alternative, - # url: https://dappnode3.ont.io:10339 # alternative + # rpc: https://dappnode2.ont.io:10339 # alternative + # rpc: https://dappnode3.ont.io:10339 # alternative🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/HyperIndex/supported-networks/ontology-mainnet.md` around lines 38 - 40, The commented alternative keys still use "url:" which conflicts with the V3 "rpc:" key; update the commented lines that read "url: https://dappnode2.ont.io:10339" and "url: https://dappnode3.ont.io:10339" to use "rpc:" instead so all entries consistently use the "rpc" key.docs/HyperIndex/supported-networks/taiko.md-38-40 (1)
38-40:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winUpdate commented alternatives to
rpckey.After migrating Line 38 to
rpc, Line 39 and Line 40 usingurlare inconsistent with V3 schema.Suggested fix
- # url: https://rpc.ankr.com/taiko # alternative, - # url: https://taiko.drpc.org # alternative + # rpc: https://rpc.ankr.com/taiko # alternative + # rpc: https://taiko.drpc.org # alternative🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/HyperIndex/supported-networks/taiko.md` around lines 38 - 40, The commented alternative endpoints under the existing rpc entry are using the deprecated key name "url"; update those commented lines to use the "rpc" key to match the V3 schema (e.g., change occurrences of "# url:" to "# rpc:" so they align with the active "rpc: https://taiko-mainnet.gateway.tenderly.co" entry and maintain consistent formatting for the commented alternatives).docs/HyperIndex/supported-networks/canto.md-38-40 (1)
38-40:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winAlign commented alternatives with the V3
rpcfield.Line 39 and Line 40 still use
# url:comments, which conflicts with the V3rpc:field shown on Line 38.Suggested fix
- # url: https://canto.slingshot.finance # alternative, - # url: https://canto-rpc.ansybl.io # alternative + # rpc: https://canto.slingshot.finance # alternative, + # rpc: https://canto-rpc.ansybl.io # alternative🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/HyperIndex/supported-networks/canto.md` around lines 38 - 40, The commented alternative RPC entries use the wrong key ("# url:") which conflicts with the V3 "rpc:" field; update the commented lines (the entries after the line with rpc: https://canto.dexrouting.com) to use "# rpc:" instead of "# url:" so they align with the "rpc" field naming (i.e., change each "# url: https://..." comment to "# rpc: https://...").docs/HyperIndex/supported-networks/xdc-network.md-37-39 (1)
37-39:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winUse
rpcin commented fallback endpoints for V3 consistency.Line 38 and Line 39 still show
# url:while the V3 example usesrpc:. This can cause copy/paste misconfiguration.Suggested fix
- # url: https://erpc.xdcrpc.com # alternative, - # url: https://rpc.xdcrpc.com # alternative + # rpc: https://erpc.xdcrpc.com # alternative, + # rpc: https://rpc.xdcrpc.com # alternative🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/HyperIndex/supported-networks/xdc-network.md` around lines 37 - 39, The commented fallback endpoints use “# url:” but the V3 examples use “rpc:”, causing inconsistent config examples; update the commented lines that read “# url: https://erpc.xdcrpc.com” and “# url: https://rpc.xdcrpc.com” to use “# rpc: …” so they match the active line “rpc: https://rpc.ankr.com/xdc” and prevent copy/paste misconfiguration.docs/HyperIndex/contract-import.md-23-25 (1)
23-25:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winFix heading level hierarchy.
The heading "Additionally for Windows Users:" is an h4 (
####) but follows an h2 section. Markdown best practices require heading levels to increment by only one level at a time.📝 Proposed fix
-#### Additionally for Windows Users: +### Additionally for Windows Users:🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/HyperIndex/contract-import.md` around lines 23 - 25, The "Additionally for Windows Users:" heading uses h4 (####) but follows an h2 section; change the heading markup for "Additionally for Windows Users:" from #### to ### so it increments by only one level after the preceding h2, and verify any nested subheadings under that block follow correct relative levels (e.g., lists or subheadings use one level deeper than ###).docs/HyperIndex/Advanced/wildcard-indexing.mdx-61-61 (1)
61-61:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winFix typo:
trully→truly.User-facing wording typo in Topic Filtering intro.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/HyperIndex/Advanced/wildcard-indexing.mdx` at line 61, Replace the typo "trully" with "truly" in the Topic Filtering intro sentence that reads "Indexing all ERC20 `Transfer` events is a lot of events, so ideally to reduce it only to the ones you trully need with the Topic Filtering feature." — update that exact phrase in wildcard-indexing.mdx (or the paragraph titled/containing "Topic Filtering") so the sentence reads "...the ones you truly need..." to correct user-facing wording.docs/HyperIndex/Tutorials/price-data.md-351-364 (1)
351-364:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winFix
Orcaletypo in field/variable names.
Orcaleappears repeatedly and looks accidental; rename toOraclefor clarity.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/HyperIndex/Tutorials/price-data.md` around lines 351 - 364, There is a consistent typo "Orcale" in the variable and object field names; rename the variable ethDepositedUsdOrcale to ethDepositedUsdOracle and update the EthDeposited object field depositedOrcale to depositedOracle, and then update every reference to those identifiers (e.g., where ethDepositedUsdOrcale is passed to round(...) or assigned) to use the corrected names so all usages, exports, and any serialization keys match "Oracle".docs/HyperIndexV2/Advanced/reorgs-support.md-92-92 (1)
92-92:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winTighten wording:
outside of→outside.Small style cleanup in bullet text.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/HyperIndexV2/Advanced/reorgs-support.md` at line 92, Update the bullet text phrase "Custom caching mechanisms outside of HyperIndex" to use the tighter wording "Custom caching mechanisms outside HyperIndex"; locate the line containing that exact string in the reorgs-support.md content and replace "outside of" with "outside" to perform the wording cleanup.docs/HyperIndex/Tutorials/tutorial-indexing-fuel.md-250-250 (1)
250-250:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winFix typo in handler comment (
intial→initial).Tiny docs typo in the example comment.
Suggested patch
- // Set the Player entity in the DB with the intial values + // Set the Player entity in the DB with the initial values🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/HyperIndex/Tutorials/tutorial-indexing-fuel.md` at line 250, Update the inline comment that reads "Set the Player entity in the DB with the intial values" to correct the typo — change "intial" to "initial" in the example comment referring to the Player entity; ensure the comment now reads "Set the Player entity in the DB with the initial values" wherever that exact comment appears in the tutorial-indexing-fuel.md file.docs/HyperIndex/migrate-to-v3.md-237-239 (1)
237-239:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winAdd language specification to the fenced code block.
The code block at line 237 is missing a language identifier. Add
bashorenvafter the opening fence for proper syntax highlighting and to satisfy markdownlint.📝 Proposed fix
- ``` + ```env ENVIO_API_TOKEN=your_token_here ```🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/HyperIndex/migrate-to-v3.md` around lines 237 - 239, The fenced code block containing the ENVIO_API_TOKEN example is missing a language identifier; update the opening triple-backtick so it specifies a language (e.g., add "env" or "bash" after ```), for example change the block that currently begins with ``` to ```env to enable proper syntax highlighting and satisfy markdownlint; target the fenced block that encloses the line "ENVIO_API_TOKEN=your_token_here".
| ## Starting the Indexer | ||
|
|
||
| Remember to `cd` into your project directory if you have defined one during `pnpx envio init`. | ||
| Remember to `cd` into your project directory if you have defined one during `pnpx envio@3.0.0-rc.0 init`. |
There was a problem hiding this comment.
🛠️ Refactor suggestion | 🟠 Major | ⚡ Quick win
🧩 Analysis chain
🌐 Web query:
What is the currently recommended HyperIndex/Envio CLI init command for V3 docs: pnpx envio init, pnpx envio@3 init, or a specific pinned version?
💡 Result:
For general HyperIndex projects, the currently recommended CLI init command in the official docs is pnpx envio init [1][2][3][4]. This uses the latest stable version (currently 2.32.11 as of 2026-05-12) [5].
Citations:
- 1: https://docs.envio.dev/docs/HyperIndex/cli-commands
- 2: https://docs.envio.dev/docs/HyperIndex/contract-import
- 3: https://docs.envio.dev/docs/HyperIndex/running-locally
- 4: https://docs.envio.dev/docs/HyperIndex/getting-started
- 5: https://www.npmjs.com/package/envio
🏁 Script executed:
cat -n docs/HyperIndex/Guides/running-locally.md | head -20Repository: enviodev/docs
Length of output: 760
🏁 Script executed:
rg "pnpx envio@" --type mdRepository: enviodev/docs
Length of output: 8585
Update V3 docs to use @3 instead of pinned RC version for forward compatibility.
The pinning to pnpx envio@3.0.0-rc.0 is systematic across all V3 documentation, but the official Envio docs recommend unpinned (pnpx envio init) for production use. Using @3 maintains intent (V3-specific) while ensuring compatibility with future V3 releases and reducing maintenance burden as RC versions become outdated. This change should be applied consistently across all HyperIndex V3 guide files.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@docs/HyperIndex/Guides/running-locally.md` at line 11, Update the pinned pnpx
command in the docs: replace occurrences of the exact string "pnpx
envio@3.0.0-rc.0 init" with the unpinned V3 form "pnpx envio@3 init" (or simply
"pnpx envio init" where V3 context is already clear) across HyperIndex V3 guide
files so the examples use the `@3` version specifier for forward compatibility;
ensure the sentence mentioning cd into the project directory is updated to
reference the new command string consistently.
| Migrating from Ponder to HyperIndex is straightforward — both frameworks use TypeScript, index EVM events, and expose a GraphQL API. The key differences are the config format, schema syntax, and entity operation API. | ||
|
|
||
| If you are new to HyperIndex, start with the [Getting Started](/docs/HyperIndex/getting-started) guide first. | ||
| If you are new to HyperIndex, start with the [Quickstart](/docs/HyperIndex/quickstart) guide first. |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Verify the quickstart page exists
fd -t f -e md -e mdx "quickstart" docs/HyperIndex/Repository: enviodev/docs
Length of output: 95
🏁 Script executed:
# Check all quickstart files in the entire docs directory
find docs -name "*quickstart*" -type fRepository: enviodev/docs
Length of output: 164
🏁 Script executed:
# Check the migrate-from-ponder.md file to see the exact link
cat -n docs/HyperIndex/migrate-from-ponder.md | sed -n '10,20p'Repository: enviodev/docs
Length of output: 743
🏁 Script executed:
# List all files in docs/HyperIndex/ to understand the structure
ls -la docs/HyperIndex/ | grep -E "\.md$|\.mdx$"Repository: enviodev/docs
Length of output: 959
Fix broken link: quickstart page does not exist.
Line 15 links to /docs/HyperIndex/quickstart, but only quickstart-with-ai.md exists in the docs/HyperIndex/ directory. Update the link to point to /docs/HyperIndex/quickstart-with-ai or create the missing quickstart.md file.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@docs/HyperIndex/migrate-from-ponder.md` at line 15, Update the broken
quickstart link in migrate-from-ponder.md: replace the href
`/docs/HyperIndex/quickstart` with `/docs/HyperIndex/quickstart-with-ai` (or
alternatively create a new quickstart.md file) so the link points to the
existing page; locate the link text in the file where the line reads "If you are
new to HyperIndex, start with the [Quickstart](/docs/HyperIndex/quickstart)
guide first." and change the URL accordingly.
| address: | ||
| - "0xYourContractAddress1" | ||
| - "0xYourContractAddress2" |
There was a problem hiding this comment.
Fix YAML indentation for the address list.
The list items under address: have inconsistent indentation (9 spaces instead of the expected 8 or 10). YAML is whitespace-sensitive, and this non-standard spacing may cause parsing errors or unexpected behavior when users copy this example.
📝 Proposed fix for consistent indentation
address:
- - "0xYourContractAddress1"
- - "0xYourContractAddress2"
+ - "0xYourContractAddress1"
+ - "0xYourContractAddress2"🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@docs/HyperIndex/supported-networks/chainweb-testnet-24.md` around lines 46 -
48, The YAML list under the address key has inconsistent indentation; fix it by
aligning the list items directly under the address key so each dash has the same
indentation as the parent block (replace the current 9-space indent with the
consistent indent used elsewhere), i.e., ensure the two entries under the
address: key ("0xYourContractAddress1" and "0xYourContractAddress2") use the
same indentation level as each other and match the surrounding YAML style.
|
|
||
| - Compare Load, Handler, and DB Write durations to identify bottlenecks | ||
| - In this example, DB Write (135ms) and Load (80ms) operations dominate processing time | ||
| - If Load Duration is high, consider implementing [entity loaders](/docs/v2/HyperIndex/loaders) |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Check if V2 documentation pages exist and verify correct paths
echo "=== Checking for loader documentation ==="
fd -t f -e md -i loader docs/HyperIndexV2/
echo "=== Checking for HyperSync documentation ==="
fd -t f -e md -i hypersync docs/HyperIndexV2/
echo "=== Checking for database optimization documentation ==="
fd -t f -e md -i database docs/HyperIndexV2/
echo "=== Checking current file references ==="
rg -n "docs/v2/HyperIndex" docs/HyperIndexV2/Advanced/performance/benchmarking.mdRepository: enviodev/docs
Length of output: 811
🏁 Script executed:
# Check Docusaurus configuration to understand route mapping
fd -t f -e js -e json "docusaurus|sidebar" . | head -20Repository: enviodev/docs
Length of output: 310
🏁 Script executed:
# Check if there's a routing config for HyperIndex docs
rg -l "HyperIndexV2|v2.*HyperIndex" --type js --type json --type ts -A 3 -B 3Repository: enviodev/docs
Length of output: 257
🏁 Script executed:
# Look at the docs directory structure to understand organization
tree -L 2 docs/ | head -50Repository: enviodev/docs
Length of output: 1261
🏁 Script executed:
# Check Docusaurus configuration for HyperIndexV2 routing
cat docusaurus.config.js | grep -A 20 -B 5 "HyperIndexV2\|v2.*HyperIndex" | head -100Repository: enviodev/docs
Length of output: 2813
🏁 Script executed:
# Check the sidebarsHyperIndexV2.js for route structure
head -50 sidebarsHyperIndexV2.jsRepository: enviodev/docs
Length of output: 1171
🏁 Script executed:
# Check what the actual route base path is for HyperIndexV2
rg "routeBasePath|baseUrl|sidebars" docusaurus.config.js -A 3 -B 1 | head -80Repository: enviodev/docs
Length of output: 2170
🏁 Script executed:
# Check how the routes are configured in sidebarsHyperIndexV2.js for loaders and hypersync
rg -A 2 -B 2 "loaders|hypersync|database-performance-optimization" sidebarsHyperIndexV2.js | head -50Repository: enviodev/docs
Length of output: 768
🏁 Script executed:
# Verify the actual slug paths for these documents
cat sidebarsHyperIndexV2.js | grep -E "Advanced|loaders|hypersync|database" -A 5 -B 2Repository: enviodev/docs
Length of output: 1851
🏁 Script executed:
# Double-check the actual file locations to confirm route generation
find docs/HyperIndexV2/Advanced -name "*.md" -type f | xargs -I {} basename {} | sortRepository: enviodev/docs
Length of output: 383
🏁 Script executed:
# Verify if there are any routing aliases or special configurations for slug generation
rg "Advanced.*loaders|Advanced.*hypersync" sidebarsHyperIndexV2.js -B 5 -A 5Repository: enviodev/docs
Length of output: 829
Fix internal documentation links with missing /Advanced/ path segments.
The links at lines 156, 191, 199, and 200 are missing the /Advanced/ directory in their paths. In this Docusaurus configuration, the sidebar structure requires these intermediate segments. The correct paths should be:
- Line 156:
/docs/v2/HyperIndex/Advanced/loaders - Line 191:
/docs/v2/HyperIndex/Advanced/hypersync - Line 199:
/docs/v2/HyperIndex/Advanced/loaders - Line 200:
/docs/v2/HyperIndex/Advanced/performance/database-performance-optimization
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@docs/HyperIndexV2/Advanced/performance/benchmarking.md` at line 156, Update
the broken internal docs links that are missing the /Advanced/ segment: replace
the link in the text "If Load Duration is high, consider implementing [entity
loaders](/docs/v2/HyperIndex/loaders)" with [entity
loaders](/docs/v2/HyperIndex/Advanced/loaders); similarly fix the links
referenced by the reviewer to use /docs/v2/HyperIndex/Advanced/hypersync,
/docs/v2/HyperIndex/Advanced/loaders, and
/docs/v2/HyperIndex/Advanced/performance/database-performance-optimization so
all four problematic links include the /Advanced/ path segment.
Script + regen: - scripts/update-endpoints.js: in V3 supported-network templates, the commented alternative endpoints now use `# rpc:` instead of the V2 `# url:` key so uncommenting them stays valid. Also bump the YAML address-list indent in the HyperSync template from 9 spaces to the conventional 10 (parses identically; matches the RPC template). - Re-run the script to regenerate every supported-networks page in both doc trees. The Tier sections are dropped per upstream PR #912 intent (the committed pages were stale). V3 content fixes: - Guides/event-handlers.mdx (already): "different filters per chain" anchor was fixed by a prior commit. - Guides/running-locally.md: "networks" → "chains" in the V3 restart list. - Tutorials/tutorial-erc20-token-transfers.md: "This file contains" → "This directory contains" for `src/handlers`. - Tutorials/tutorial-op-bridge-deposits.md: absolute envio.dev URL → canonical /docs/HyperIndex/quickstart. - Tutorials/price-data.md: rename `Orcale` → `Oracle` everywhere; fix `BigInt(2 ** 192)` (Number overflow → RangeError) to `2n ** 192n`. - Tutorials/tutorial-indexing-fuel.md: typo `intial` → `initial`. - Tutorials/greeter-tutorial.md: replace non-standard `envio_node` wrapper with the standard `chains:` / `id` shape used everywhere else. - Advanced/wildcard-indexing.mdx: typo `trully` → `truly`. - Advanced/rpc-sync.md: in the Polygon (`id: 137`) RPC example use polygon-named URLs and `ENVIO_POLYGON_API_KEY` instead of eth-mainnet endpoints. - Advanced/effect-api.md: drop the "loader" mention in the effect callsite list (loaders were removed in V3). - Troubleshoot/error-codes.md: collapse the `rpc: { url: ... }` example to the scalar `rpc: <url>` form that matches the rest of the V3 docs. - contract-import.md: lift "Additionally for Windows Users" heading from h4 to h3 so heading levels increment by one. - migrate-to-v3.md: tag the .env example code fence with `env`. V2 content fixes (hand-authored pages only): - Advanced/terminology.md: render the multiplication commutativity example as inline code so the `*` characters don't get parsed as markdown emphasis. - Advanced/reorgs-support.md: "outside of HyperIndex" → "outside HyperIndex". - Advanced/hypersync.md, Advanced/rpc-sync.md: quote the contract address string in the Greeter example. - Advanced/preload-optimization.md: rewrite the "Configure" section so the v2.27-default and the "explicitly enable" wording no longer contradict each other. - Advanced/metadata-query.md: typos `actuall` → `actual`, `reorg resistant` → `reorg-resistant`, "outside of the batch transaction" → "outside the batch transaction". - Advanced/performance/historical-sync.md: rewrite the v2 preHandlers paragraph in past tense. - Advanced/websockets.md: tag the four URL example code fences as `text` to satisfy MD040.
There was a problem hiding this comment.
Actionable comments posted: 13
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (2)
docs/HyperIndex/supported-networks/xdc.md (1)
33-39:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winUpdate heading terminology to match V3 (
chains).The YAML is correctly migrated to
chains, but the section title still says “Network Configurations,” which is inconsistent with the V3 terminology update.Suggested edit
-### Defining Network Configurations +### Defining Chain Configurations🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/HyperIndex/supported-networks/xdc.md` around lines 33 - 39, Change the section heading "Defining Network Configurations" to use V3 terminology and reference "chains" (for example "Defining chains" or "Defining chain configurations") so it matches the migrated YAML snippet that uses the chains key; update the heading text near the YAML example to reference "chains" instead of "Network Configurations".docs/HyperIndex/supported-networks/manta.md (1)
33-33:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winUpdate heading to match V3 terminology.
The heading still uses "Network Configurations" while the content below correctly uses the V3
chainsstructure. For consistency with the V3 migration, update the heading to reflect the new terminology.📝 Proposed fix
-### Defining Network Configurations +### Defining Chain Configurations🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/HyperIndex/supported-networks/manta.md` at line 33, The heading "### Defining Network Configurations" should be updated to V3 terminology to match the content using the `chains` structure—replace that heading with something like "### Defining chains" (or "### Defining chains (V3)") so it aligns with the `chains` terminology used below; locate the heading text in the markdown and update it accordingly.
🧹 Nitpick comments (4)
docs/HyperIndex/supported-networks/merlin.md (1)
33-33: ⚡ Quick winUse V3 terminology in the section heading (
chainsinstead ofnetwork).To stay consistent with the V3 migration in this page (
chainsin config), consider renaming this heading to “Defining Chain Configurations”.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/HyperIndex/supported-networks/merlin.md` at line 33, The heading "Defining Network Configurations" should use V3 terminology; rename it to "Defining Chain Configurations" and update any nearby references that use "network" in this section to "chain" or "chains" to match the rest of the page (the page already uses `chains` in config examples), ensuring the heading and descriptive text align with the V3 migration terminology.docs/HyperIndex/supported-networks/rootstock.md (1)
33-33: ⚡ Quick winUpdate heading to match V3 terminology.
The section heading still references "Network Configurations" but the config example below now uses the V3 term
chains:instead ofnetworks:. For consistency with the V3 migration, this heading should be updated.📝 Suggested heading update
-### Defining Network Configurations +### Defining Chain Configurations🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/HyperIndex/supported-networks/rootstock.md` at line 33, Update the section heading "Defining Network Configurations" to use V3 terminology to match the example that uses the `chains:` key (e.g., change the heading to "Defining Chains" or "Defining Chain Configurations") so the heading and the example config (`chains:`) are consistent; locate the heading string "Defining Network Configurations" in the docs/HyperIndex/supported-networks/rootstock.md file and replace it accordingly.docs/HyperIndex/supported-networks/plasma.md (1)
33-33: ⚡ Quick winConsider updating heading to V3 terminology.
The heading "Defining Network Configurations" uses the old V2 term "Network" while the configuration below correctly uses the V3 term
chains:. Consider updating to "Defining Chain Configurations" for consistency with the V3 migration.📝 Suggested heading update
-### Defining Network Configurations +### Defining Chain Configurations🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/HyperIndex/supported-networks/plasma.md` at line 33, Update the section heading string "Defining Network Configurations" to use V3 terminology by renaming it to "Defining Chain Configurations" so it matches the configuration key `chains:` used below; locate the heading text in this document and replace the old term "Network" with "Chain" to maintain consistency across V3 docs.docs/HyperIndexV2/Advanced/terminology.md (1)
127-127: 💤 Low valueConsider hyphenating "command-line interface".
Style guides typically recommend hyphenating compound adjectives before nouns. While not incorrect as-is, "command-line interface" is the more conventional form.
✍️ Optional style improvement
-A command line interface tool for building and deploying Envio indexers. The CLI provides commands for initializing, developing, and managing your indexer projects. +A command-line interface tool for building and deploying Envio indexers. The CLI provides commands for initializing, developing, and managing your indexer projects.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/HyperIndexV2/Advanced/terminology.md` at line 127, Update the phrase "A command line interface tool for building and deploying Envio indexers." to use the conventional hyphenation for the compound adjective, i.e., change "command line interface" to "command-line interface" so the sentence reads "A command-line interface tool for building and deploying Envio indexers."; locate and edit that exact sentence in terminology.md.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@docs/HyperIndex/Advanced/wildcard-indexing.mdx`:
- Around line 61-63: Rewrite the two awkward sentences in the Topic Filtering
intro to improve clarity: replace "Indexing all ERC20 `Transfer` events is a lot
of events, so ideally to reduce it only to the ones you truly need with the
Topic Filtering feature." with a concise sentence explaining that indexing all
Transfer events can be high-volume and Topic Filtering should be used to limit
to relevant events, and change "When you register an event handler or a contract
register you can provide the `where` option (renamed from V2's `eventFilters`)."
to a clearer form such as "When registering an event handler or a contract,
provide the `where` option (formerly `eventFilters` in V2) to filter by each
`indexed` parameter by returning `{ params: [...] }`." Ensure the text
references `where` and `eventFilters` exactly as in the diff.
- Around line 120-145: The example's where callback uses
WHITELISTED_ADDRESSES[chain.id] which can be undefined and produce invalid
filters; update the where function in the indexer.onEvent example to guard the
per-chain lookup (e.g., check if WHITELISTED_ADDRESSES[chain.id] exists) and
fail fast or return a clear, valid fallback filter when missing (throw a
descriptive error or return an empty/NO_MATCH params array) so the example does
not pass undefined into params; reference the where callback, chain.id, and
WHITELISTED_ADDRESSES to locate and fix the code.
In `@docs/HyperIndex/supported-networks/bevm-mainnet.md`:
- Line 30: Update the broken relative link in bevm-mainnet.md so it points to
the actual doc location (Advanced/rpc-sync.md) instead of ./rpc-sync; replace
the existing link target with the canonical path to the RPC sync doc (e.g.,
../Advanced/rpc-sync.md or the repo's canonical
/HyperIndex/Advanced/rpc-sync.md) so the link resolves correctly.
In `@docs/HyperIndex/supported-networks/creator-testnet.md`:
- Line 30: The relative link `[rpc configuration](./rpc-sync)` in
creator-testnet.md is broken; update the link target to the canonical docs path
for the RPC sync page by replacing `./rpc-sync` with the full canonical slug
`/docs/HyperIndex/Advanced/rpc-sync` (so the `[rpc configuration]` link points
directly to the Advanced/rpc-sync doc and avoids redirects/404s).
In `@docs/HyperIndex/supported-networks/peaq.md`:
- Line 30: Update the broken relative link './rpc-sync' in the peaq.md content
to point to the correct RPC configuration document by replacing it with
'../Advanced/rpc-sync' so the link resolves to the Advanced RPC configuration
page.
In `@docs/HyperIndex/supported-networks/sepolia.md`:
- Line 29: The quickstart link in sepolia.md (and likewise in overview.md,
migration-guide.md, and all HyperIndex network files) points to a non-existent
/docs/HyperIndex/quickstart; either add a new quickstart.md under
docs/HyperIndex with the intended quickstart content, or update every reference
(e.g., the link in sepolia.md) to point to the existing quickstart-with-ai.md
instead; search for occurrences of "/docs/HyperIndex/quickstart" across the repo
and replace them or create the missing file so all links resolve.
In `@docs/HyperIndex/supported-networks/x-layer-testnet.md`:
- Line 30: The relative link "./rpc-sync" in the sentence "You may need to
adjust more parameters of the [rpc configuration](./rpc-sync) to support the
specific rpc provider." should be replaced with the canonical HyperIndex docs
path (e.g. "/docs/HyperIndex/rpc-sync"); update the markdown link target to use
the absolute/canonical URL so it reads "[rpc
configuration](/docs/HyperIndex/rpc-sync)" to avoid redirect hops and
relative-link drift.
In `@docs/HyperIndex/supported-networks/zeta-testnet.md`:
- Line 30: Replace the relative link target in the markdown link `[rpc
configuration](./rpc-sync)` with the canonical HyperIndex route by changing
`./rpc-sync` to `/docs/HyperIndex/rpc-sync` so the link uses the
absolute/canonical URL; update the link text occurrence `[rpc
configuration](./rpc-sync)` in the file to `[rpc
configuration](/docs/HyperIndex/rpc-sync)`.
In `@docs/HyperIndexV2/Advanced/hypersync.md`:
- Around line 47-53: The YAML example uses the V2 config key "networks" but the
repo standard migrated to V3 "chains"; update the snippet in hypersync.md so it
matches V3 by replacing the "networks:" block with an equivalent "chains:" block
(preserving the chain identifier like 137) or, if you intend to document V2
only, add an explicit label near the snippet saying "V2 config shape" and warn
readers that V3 uses "chains" to avoid copy/paste misconfiguration; edit the
section containing the HyperSync example and the YAML block that includes
"networks" and "id: 137" accordingly.
- Around line 85-89: Update the canonical HyperIndex links in the HyperSync
docs: replace the two occurrences of "/docs/v2/HyperIndex/rpc-sync" and
"/docs/v2/HyperIndex/rpc-sync#improving-resilience-with-rpc-fallback" with the
canonical routes under "/docs/HyperIndex" (e.g., "/docs/HyperIndex/rpc-sync" and
"/docs/HyperIndex/rpc-sync#improving-resilience-with-rpc-fallback") so the "RPC
Data Source" and "RPC Fallback" links use the HyperIndex base path and avoid
redirects.
- Line 15: Fix the user-facing prose by hyphenating and correcting the first
sentence: change the sentence that begins "HyperSync is a purpose built..." to
read "HyperSync is a purpose-built data node that powers the exceptional
performance of HyperIndex." (remove the incorrect "helps powers" and use
"powers", and use "purpose-built" and "data node" formatting). Also find the
later sentence that currently has a missing space after a period (the sentence
following that area) and add the missing space so sentences are properly
separated.
In `@docs/HyperIndexV2/Advanced/performance/historical-sync.md`:
- Around line 22-31: The documentation about "Loaders and Historical Sync"
incorrectly describes current runtime behavior: update the text to reflect that
V3 uses always-on preload optimizations rather than a loader API, and either
convert the section to describe V3 preload behavior (mentioning
"preload"/"preHandler" migration path and how historical sync benefits from
always-on preloads) or clearly mark the loaders/preHandler content as archived
legacy-only guidance; update references to the symbols "loaders", "preHandlers",
"V2", and "V3" accordingly and add a short migration note explaining how to move
from loader/preHandler usage to V3 preload semantics.
In `@docs/HyperIndexV2/Advanced/preload-optimization.md`:
- Line 165: Replace the incorrect phrase "table run nature" with "double-run
nature" (or "two-run nature") in the Preload Phase warning sentence to restore
the intended meaning; edit the sentence in preload-optimization.md where the
text currently reads "the Preload Phase gives a lot of benefits for the event
processing, but also it means that you must be aware of its table run nature" so
it instead reads "…aware of its double-run nature" (or "two-run nature") to
correct the typo.
---
Outside diff comments:
In `@docs/HyperIndex/supported-networks/manta.md`:
- Line 33: The heading "### Defining Network Configurations" should be updated
to V3 terminology to match the content using the `chains` structure—replace that
heading with something like "### Defining chains" (or "### Defining chains
(V3)") so it aligns with the `chains` terminology used below; locate the heading
text in the markdown and update it accordingly.
In `@docs/HyperIndex/supported-networks/xdc.md`:
- Around line 33-39: Change the section heading "Defining Network
Configurations" to use V3 terminology and reference "chains" (for example
"Defining chains" or "Defining chain configurations") so it matches the migrated
YAML snippet that uses the chains key; update the heading text near the YAML
example to reference "chains" instead of "Network Configurations".
---
Nitpick comments:
In `@docs/HyperIndex/supported-networks/merlin.md`:
- Line 33: The heading "Defining Network Configurations" should use V3
terminology; rename it to "Defining Chain Configurations" and update any nearby
references that use "network" in this section to "chain" or "chains" to match
the rest of the page (the page already uses `chains` in config examples),
ensuring the heading and descriptive text align with the V3 migration
terminology.
In `@docs/HyperIndex/supported-networks/plasma.md`:
- Line 33: Update the section heading string "Defining Network Configurations"
to use V3 terminology by renaming it to "Defining Chain Configurations" so it
matches the configuration key `chains:` used below; locate the heading text in
this document and replace the old term "Network" with "Chain" to maintain
consistency across V3 docs.
In `@docs/HyperIndex/supported-networks/rootstock.md`:
- Line 33: Update the section heading "Defining Network Configurations" to use
V3 terminology to match the example that uses the `chains:` key (e.g., change
the heading to "Defining Chains" or "Defining Chain Configurations") so the
heading and the example config (`chains:`) are consistent; locate the heading
string "Defining Network Configurations" in the
docs/HyperIndex/supported-networks/rootstock.md file and replace it accordingly.
In `@docs/HyperIndexV2/Advanced/terminology.md`:
- Line 127: Update the phrase "A command line interface tool for building and
deploying Envio indexers." to use the conventional hyphenation for the compound
adjective, i.e., change "command line interface" to "command-line interface" so
the sentence reads "A command-line interface tool for building and deploying
Envio indexers."; locate and edit that exact sentence in terminology.md.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: b06b80ec-c85c-41a6-a270-0af395d1293b
📒 Files selected for processing (211)
docs/HyperIndex/Advanced/effect-api.mddocs/HyperIndex/Advanced/rpc-sync.mddocs/HyperIndex/Advanced/wildcard-indexing.mdxdocs/HyperIndex/Guides/running-locally.mddocs/HyperIndex/Troubleshoot/error-codes.mddocs/HyperIndex/Tutorials/greeter-tutorial.mddocs/HyperIndex/Tutorials/price-data.mddocs/HyperIndex/Tutorials/tutorial-erc20-token-transfers.mddocs/HyperIndex/Tutorials/tutorial-indexing-fuel.mddocs/HyperIndex/Tutorials/tutorial-op-bridge-deposits.mddocs/HyperIndex/contract-import.mddocs/HyperIndex/migrate-to-v3.mddocs/HyperIndex/supported-networks/0g-newton-testnet.mddocs/HyperIndex/supported-networks/ab.mddocs/HyperIndex/supported-networks/abstract.mddocs/HyperIndex/supported-networks/aleph-zero-evm.mddocs/HyperIndex/supported-networks/altlayer-op-demo-testnet.mddocs/HyperIndex/supported-networks/ancient8.mddocs/HyperIndex/supported-networks/arbitrum-blueberry.mddocs/HyperIndex/supported-networks/arbitrum-nova.mddocs/HyperIndex/supported-networks/arbitrum-sepolia.mddocs/HyperIndex/supported-networks/arbitrum.mddocs/HyperIndex/supported-networks/arc-testnet.mddocs/HyperIndex/supported-networks/artela-testnet.mddocs/HyperIndex/supported-networks/arthera-mainnet.mddocs/HyperIndex/supported-networks/asset-chain-mainnet.mddocs/HyperIndex/supported-networks/astar-zkevm.mddocs/HyperIndex/supported-networks/astar-zkyoto.mddocs/HyperIndex/supported-networks/aurora.mddocs/HyperIndex/supported-networks/avalanche.mddocs/HyperIndex/supported-networks/b2-hub-testnet.mddocs/HyperIndex/supported-networks/b3-sepolia-testnet.mddocs/HyperIndex/supported-networks/b3.mddocs/HyperIndex/supported-networks/base-sepolia.mddocs/HyperIndex/supported-networks/base.mddocs/HyperIndex/supported-networks/beam.mddocs/HyperIndex/supported-networks/berachain-artio-testnet.mddocs/HyperIndex/supported-networks/berachain.mddocs/HyperIndex/supported-networks/bevm-mainnet.mddocs/HyperIndex/supported-networks/bevm-testnet.mddocs/HyperIndex/supported-networks/bitfinity-mainnet.mddocs/HyperIndex/supported-networks/bitfinity-testnet.mddocs/HyperIndex/supported-networks/bitgert-mainnet.mddocs/HyperIndex/supported-networks/bitlayer.mddocs/HyperIndex/supported-networks/blast-sepolia.mddocs/HyperIndex/supported-networks/blast.mddocs/HyperIndex/supported-networks/bob-mainnet.mddocs/HyperIndex/supported-networks/boba-bnb-mainnet.mddocs/HyperIndex/supported-networks/boba.mddocs/HyperIndex/supported-networks/botanix-testnet.mddocs/HyperIndex/supported-networks/bsc-testnet.mddocs/HyperIndex/supported-networks/bsc.mddocs/HyperIndex/supported-networks/canto-testnet.mddocs/HyperIndex/supported-networks/canto.mddocs/HyperIndex/supported-networks/celo-alfajores-testnet.mddocs/HyperIndex/supported-networks/celo.mddocs/HyperIndex/supported-networks/chiliz-testnet-spicy.mddocs/HyperIndex/supported-networks/chiliz.mddocs/HyperIndex/supported-networks/citrea-devnet.mddocs/HyperIndex/supported-networks/citrea-testnet.mddocs/HyperIndex/supported-networks/citrea.mddocs/HyperIndex/supported-networks/core.mddocs/HyperIndex/supported-networks/creator-testnet.mddocs/HyperIndex/supported-networks/cronos-zkevm-testnet.mddocs/HyperIndex/supported-networks/cronos-zkevm.mddocs/HyperIndex/supported-networks/crossfi-mainnet.mddocs/HyperIndex/supported-networks/crossfi-testnet.mddocs/HyperIndex/supported-networks/curtis.mddocs/HyperIndex/supported-networks/cyber.mddocs/HyperIndex/supported-networks/degen-chain.mddocs/HyperIndex/supported-networks/dfk-chain.mddocs/HyperIndex/supported-networks/dogechain-mainnet.mddocs/HyperIndex/supported-networks/dogechain-testnet.mddocs/HyperIndex/supported-networks/dos-chain.mddocs/HyperIndex/supported-networks/energy-web.mddocs/HyperIndex/supported-networks/eos.mddocs/HyperIndex/supported-networks/eth.mddocs/HyperIndex/supported-networks/etherlink-testnet.mddocs/HyperIndex/supported-networks/etherlink.mddocs/HyperIndex/supported-networks/exosama.mddocs/HyperIndex/supported-networks/fantom-testnet.mddocs/HyperIndex/supported-networks/fantom.mddocs/HyperIndex/supported-networks/flare-songbird.mddocs/HyperIndex/supported-networks/flare.mddocs/HyperIndex/supported-networks/flow-testnet.mddocs/HyperIndex/supported-networks/flow.mddocs/HyperIndex/supported-networks/fraxtal.mddocs/HyperIndex/supported-networks/fuel-mainnet.mddocs/HyperIndex/supported-networks/fuel-testnet.mddocs/HyperIndex/supported-networks/fuji.mddocs/HyperIndex/supported-networks/gnosis-chiado.mddocs/HyperIndex/supported-networks/gnosis.mddocs/HyperIndex/supported-networks/gravity-alpha-mainnet.mddocs/HyperIndex/supported-networks/harmony-shard-0.mddocs/HyperIndex/supported-networks/heco-chain.mddocs/HyperIndex/supported-networks/holesky.mddocs/HyperIndex/supported-networks/hoodi.mddocs/HyperIndex/supported-networks/hyperliquid.mddocs/HyperIndex/supported-networks/immutable-zkevm-testnet.mddocs/HyperIndex/supported-networks/immutable-zkevm.mddocs/HyperIndex/supported-networks/injective.mddocs/HyperIndex/supported-networks/ink.mddocs/HyperIndex/supported-networks/iotex-network.mddocs/HyperIndex/supported-networks/japan-open-chain.mddocs/HyperIndex/supported-networks/kaia.mddocs/HyperIndex/supported-networks/kakarot-starknet-sepolia.mddocs/HyperIndex/supported-networks/katana.mddocs/HyperIndex/supported-networks/kroma.mddocs/HyperIndex/supported-networks/layeredge-testnet.mddocs/HyperIndex/supported-networks/lightlink-pegasus-testnet.mddocs/HyperIndex/supported-networks/lightlink-phoenix.mddocs/HyperIndex/supported-networks/linea.mddocs/HyperIndex/supported-networks/lisk.mddocs/HyperIndex/supported-networks/lukso-testnet.mddocs/HyperIndex/supported-networks/lukso.mddocs/HyperIndex/supported-networks/manta-pacific-sepolia.mddocs/HyperIndex/supported-networks/manta.mddocs/HyperIndex/supported-networks/mantle.mddocs/HyperIndex/supported-networks/megaeth-testnet.mddocs/HyperIndex/supported-networks/megaeth-testnet2.mddocs/HyperIndex/supported-networks/megaeth.mddocs/HyperIndex/supported-networks/merlin.mddocs/HyperIndex/supported-networks/metall2.mddocs/HyperIndex/supported-networks/meter-mainnet.mddocs/HyperIndex/supported-networks/meter-testnet.mddocs/HyperIndex/supported-networks/mint-mainnet.mddocs/HyperIndex/supported-networks/mode.mddocs/HyperIndex/supported-networks/monad-testnet.mddocs/HyperIndex/supported-networks/monad.mddocs/HyperIndex/supported-networks/moonbeam.mddocs/HyperIndex/supported-networks/morph.mddocs/HyperIndex/supported-networks/nautilus.mddocs/HyperIndex/supported-networks/neo-x-testnet.mddocs/HyperIndex/supported-networks/nibiru-testnet.mddocs/HyperIndex/supported-networks/now-chaint.mddocs/HyperIndex/supported-networks/oasis-emerald.mddocs/HyperIndex/supported-networks/oasis-sapphire.mddocs/HyperIndex/supported-networks/onigiri-subnet.mddocs/HyperIndex/supported-networks/onigiri-test-subnet.mddocs/HyperIndex/supported-networks/ontology-mainnet.mddocs/HyperIndex/supported-networks/ontology-testnet.mddocs/HyperIndex/supported-networks/op-celestia-raspberry.mddocs/HyperIndex/supported-networks/opbnb.mddocs/HyperIndex/supported-networks/optimism-sepolia.mddocs/HyperIndex/supported-networks/optimism.mddocs/HyperIndex/supported-networks/optopia.mddocs/HyperIndex/supported-networks/peaq.mddocs/HyperIndex/supported-networks/plasma.mddocs/HyperIndex/supported-networks/plume.mddocs/HyperIndex/supported-networks/polygon-amoy.mddocs/HyperIndex/supported-networks/polygon-zkevm-cardona-testnet.mddocs/HyperIndex/supported-networks/polygon-zkevm.mddocs/HyperIndex/supported-networks/polygon.mddocs/HyperIndex/supported-networks/public-goods-network.mddocs/HyperIndex/supported-networks/pulsechain.mddocs/HyperIndex/supported-networks/puppynet-shibarium.mddocs/HyperIndex/supported-networks/ronin.mddocs/HyperIndex/supported-networks/rootstock.mddocs/HyperIndex/supported-networks/saakuru.mddocs/HyperIndex/supported-networks/satoshivm.mddocs/HyperIndex/supported-networks/scroll-sepolia.mddocs/HyperIndex/supported-networks/scroll.mddocs/HyperIndex/supported-networks/sei-testnet.mddocs/HyperIndex/supported-networks/sei.mddocs/HyperIndex/supported-networks/sepolia.mddocs/HyperIndex/supported-networks/shibarium.mddocs/HyperIndex/supported-networks/shimmer-evm.mddocs/HyperIndex/supported-networks/skale-europa.mddocs/HyperIndex/supported-networks/soneium.mddocs/HyperIndex/supported-networks/sonic-testnet.mddocs/HyperIndex/supported-networks/sonic.mddocs/HyperIndex/supported-networks/sophon-testnet.mddocs/HyperIndex/supported-networks/sophon.mddocs/HyperIndex/supported-networks/status-sepolia.mddocs/HyperIndex/supported-networks/stratovm-testnet.mddocs/HyperIndex/supported-networks/superseed-sepolia-testnet.mddocs/HyperIndex/supported-networks/superseed.mddocs/HyperIndex/supported-networks/swell.mddocs/HyperIndex/supported-networks/taiko.mddocs/HyperIndex/supported-networks/tanssi-demo.mddocs/HyperIndex/supported-networks/taraxa.mddocs/HyperIndex/supported-networks/telos-evm-mainnet.mddocs/HyperIndex/supported-networks/telos-evm-testnet.mddocs/HyperIndex/supported-networks/tempo-testnet.mddocs/HyperIndex/supported-networks/tempo.mddocs/HyperIndex/supported-networks/torus-mainnet.mddocs/HyperIndex/supported-networks/torus-testnet.mddocs/HyperIndex/supported-networks/unichain.mddocs/HyperIndex/supported-networks/unicorn-ultra-nebulas-testnet.mddocs/HyperIndex/supported-networks/velas-mainnet.mddocs/HyperIndex/supported-networks/viction.mddocs/HyperIndex/supported-networks/worldchain.mddocs/HyperIndex/supported-networks/x-layer-mainnet.mddocs/HyperIndex/supported-networks/x-layer-testnet.mddocs/HyperIndex/supported-networks/xdc-testnet.mddocs/HyperIndex/supported-networks/xdc.mddocs/HyperIndex/supported-networks/zeta-testnet.mddocs/HyperIndex/supported-networks/zeta.mddocs/HyperIndex/supported-networks/zircuit.mddocs/HyperIndex/supported-networks/zklink-nova-mainnet.mddocs/HyperIndex/supported-networks/zksync-sepolia-testnet.mddocs/HyperIndex/supported-networks/zksync.mddocs/HyperIndex/supported-networks/zora-sepolia.mddocs/HyperIndex/supported-networks/zora.mddocs/HyperIndexV2/Advanced/hypersync.mddocs/HyperIndexV2/Advanced/metadata-query.mddocs/HyperIndexV2/Advanced/performance/historical-sync.mddocs/HyperIndexV2/Advanced/preload-optimization.mddocs/HyperIndexV2/Advanced/reorgs-support.mddocs/HyperIndexV2/Advanced/rpc-sync.mddocs/HyperIndexV2/Advanced/terminology.md
✅ Files skipped from review due to trivial changes (129)
- docs/HyperIndex/supported-networks/fuel-mainnet.md
- docs/HyperIndex/supported-networks/gravity-alpha-mainnet.md
- docs/HyperIndex/supported-networks/saakuru.md
- docs/HyperIndex/supported-networks/moonbeam.md
- docs/HyperIndexV2/Advanced/metadata-query.md
- docs/HyperIndex/supported-networks/blast.md
- docs/HyperIndex/supported-networks/arbitrum-sepolia.md
- docs/HyperIndex/supported-networks/asset-chain-mainnet.md
- docs/HyperIndex/supported-networks/polygon-amoy.md
- docs/HyperIndex/supported-networks/botanix-testnet.md
- docs/HyperIndex/supported-networks/shimmer-evm.md
- docs/HyperIndex/supported-networks/harmony-shard-0.md
- docs/HyperIndex/supported-networks/bitgert-mainnet.md
- docs/HyperIndex/supported-networks/arbitrum-nova.md
- docs/HyperIndex/supported-networks/fuel-testnet.md
- docs/HyperIndex/supported-networks/celo-alfajores-testnet.md
- docs/HyperIndex/supported-networks/blast-sepolia.md
- docs/HyperIndex/supported-networks/zksync-sepolia-testnet.md
- docs/HyperIndex/supported-networks/bsc-testnet.md
- docs/HyperIndex/supported-networks/bsc.md
- docs/HyperIndex/supported-networks/status-sepolia.md
- docs/HyperIndex/supported-networks/dogechain-testnet.md
- docs/HyperIndex/supported-networks/citrea-testnet.md
- docs/HyperIndex/supported-networks/berachain-artio-testnet.md
- docs/HyperIndex/supported-networks/eth.md
- docs/HyperIndex/supported-networks/avalanche.md
- docs/HyperIndex/supported-networks/gnosis-chiado.md
- docs/HyperIndex/supported-networks/oasis-emerald.md
- docs/HyperIndex/supported-networks/base.md
- docs/HyperIndex/supported-networks/sophon-testnet.md
- docs/HyperIndex/supported-networks/energy-web.md
- docs/HyperIndex/supported-networks/bob-mainnet.md
- docs/HyperIndex/supported-networks/zklink-nova-mainnet.md
- docs/HyperIndex/supported-networks/sophon.md
- docs/HyperIndex/supported-networks/lightlink-pegasus-testnet.md
- docs/HyperIndex/supported-networks/curtis.md
- docs/HyperIndex/supported-networks/zora-sepolia.md
- docs/HyperIndex/supported-networks/bitlayer.md
- docs/HyperIndex/supported-networks/telos-evm-mainnet.md
- docs/HyperIndex/supported-networks/megaeth-testnet2.md
- docs/HyperIndex/supported-networks/cyber.md
- docs/HyperIndex/Troubleshoot/error-codes.md
- docs/HyperIndex/supported-networks/canto.md
- docs/HyperIndex/supported-networks/megaeth.md
- docs/HyperIndex/supported-networks/pulsechain.md
- docs/HyperIndex/supported-networks/mint-mainnet.md
- docs/HyperIndex/supported-networks/ab.md
- docs/HyperIndex/supported-networks/plume.md
- docs/HyperIndex/supported-networks/crossfi-mainnet.md
- docs/HyperIndex/supported-networks/fraxtal.md
- docs/HyperIndex/supported-networks/astar-zkyoto.md
- docs/HyperIndex/supported-networks/lukso-testnet.md
- docs/HyperIndex/supported-networks/citrea.md
- docs/HyperIndex/supported-networks/kakarot-starknet-sepolia.md
- docs/HyperIndex/supported-networks/bitfinity-testnet.md
- docs/HyperIndex/supported-networks/zircuit.md
- docs/HyperIndex/supported-networks/dfk-chain.md
- docs/HyperIndex/supported-networks/holesky.md
- docs/HyperIndex/supported-networks/arbitrum-blueberry.md
- docs/HyperIndex/supported-networks/cronos-zkevm.md
- docs/HyperIndex/supported-networks/flare-songbird.md
- docs/HyperIndex/supported-networks/celo.md
- docs/HyperIndex/supported-networks/taiko.md
- docs/HyperIndex/Tutorials/tutorial-op-bridge-deposits.md
- docs/HyperIndex/supported-networks/now-chaint.md
- docs/HyperIndex/supported-networks/optimism.md
- docs/HyperIndex/supported-networks/satoshivm.md
- docs/HyperIndex/supported-networks/ink.md
- docs/HyperIndex/supported-networks/sonic-testnet.md
- docs/HyperIndex/Guides/running-locally.md
- docs/HyperIndex/supported-networks/dogechain-mainnet.md
- docs/HyperIndex/supported-networks/unichain.md
- docs/HyperIndex/supported-networks/polygon.md
- docs/HyperIndex/supported-networks/sei-testnet.md
- docs/HyperIndex/supported-networks/layeredge-testnet.md
- docs/HyperIndex/supported-networks/skale-europa.md
- docs/HyperIndex/supported-networks/shibarium.md
- docs/HyperIndex/supported-networks/artela-testnet.md
- docs/HyperIndex/supported-networks/beam.md
- docs/HyperIndex/supported-networks/injective.md
- docs/HyperIndex/supported-networks/tempo-testnet.md
- docs/HyperIndex/supported-networks/nautilus.md
- docs/HyperIndex/supported-networks/public-goods-network.md
- docs/HyperIndex/supported-networks/onigiri-test-subnet.md
- docs/HyperIndex/supported-networks/japan-open-chain.md
- docs/HyperIndex/supported-networks/abstract.md
- docs/HyperIndex/supported-networks/citrea-devnet.md
- docs/HyperIndex/contract-import.md
- docs/HyperIndex/supported-networks/base-sepolia.md
- docs/HyperIndex/supported-networks/fantom-testnet.md
- docs/HyperIndex/supported-networks/op-celestia-raspberry.md
- docs/HyperIndex/supported-networks/zora.md
- docs/HyperIndex/supported-networks/arthera-mainnet.md
- docs/HyperIndex/supported-networks/ontology-mainnet.md
- docs/HyperIndex/supported-networks/meter-testnet.md
- docs/HyperIndex/supported-networks/tanssi-demo.md
- docs/HyperIndex/supported-networks/canto-testnet.md
- docs/HyperIndex/supported-networks/b2-hub-testnet.md
- docs/HyperIndex/supported-networks/ontology-testnet.md
- docs/HyperIndex/supported-networks/onigiri-subnet.md
- docs/HyperIndex/supported-networks/polygon-zkevm-cardona-testnet.md
- docs/HyperIndex/supported-networks/neo-x-testnet.md
- docs/HyperIndex/supported-networks/flow.md
- docs/HyperIndex/supported-networks/iotex-network.md
- docs/HyperIndex/supported-networks/torus-testnet.md
- docs/HyperIndex/supported-networks/degen-chain.md
- docs/HyperIndex/supported-networks/bevm-testnet.md
- docs/HyperIndex/Tutorials/tutorial-erc20-token-transfers.md
- docs/HyperIndex/supported-networks/astar-zkevm.md
- docs/HyperIndex/supported-networks/lightlink-phoenix.md
- docs/HyperIndexV2/Advanced/reorgs-support.md
- docs/HyperIndex/Tutorials/greeter-tutorial.md
- docs/HyperIndex/supported-networks/monad-testnet.md
- docs/HyperIndex/supported-networks/immutable-zkevm-testnet.md
- docs/HyperIndex/supported-networks/eos.md
- docs/HyperIndex/supported-networks/b3-sepolia-testnet.md
- docs/HyperIndex/supported-networks/oasis-sapphire.md
- docs/HyperIndex/supported-networks/b3.md
- docs/HyperIndex/supported-networks/scroll-sepolia.md
- docs/HyperIndex/supported-networks/optopia.md
- docs/HyperIndex/supported-networks/ronin.md
- docs/HyperIndex/Advanced/rpc-sync.md
- docs/HyperIndex/supported-networks/viction.md
- docs/HyperIndex/supported-networks/aleph-zero-evm.md
- docs/HyperIndexV2/Advanced/rpc-sync.md
- docs/HyperIndex/supported-networks/heco-chain.md
- docs/HyperIndex/supported-networks/cronos-zkevm-testnet.md
- docs/HyperIndex/migrate-to-v3.md
- docs/HyperIndex/supported-networks/altlayer-op-demo-testnet.md
🚧 Files skipped from review as they are similar to previous changes (27)
- docs/HyperIndex/supported-networks/superseed-sepolia-testnet.md
- docs/HyperIndex/supported-networks/arc-testnet.md
- docs/HyperIndex/supported-networks/unicorn-ultra-nebulas-testnet.md
- docs/HyperIndex/supported-networks/crossfi-testnet.md
- docs/HyperIndex/supported-networks/taraxa.md
- docs/HyperIndex/supported-networks/ancient8.md
- docs/HyperIndex/supported-networks/flow-testnet.md
- docs/HyperIndex/supported-networks/nibiru-testnet.md
- docs/HyperIndex/supported-networks/chiliz-testnet-spicy.md
- docs/HyperIndex/supported-networks/bitfinity-mainnet.md
- docs/HyperIndex/supported-networks/puppynet-shibarium.md
- docs/HyperIndex/supported-networks/telos-evm-testnet.md
- docs/HyperIndex/supported-networks/core.md
- docs/HyperIndex/supported-networks/mantle.md
- docs/HyperIndex/supported-networks/etherlink-testnet.md
- docs/HyperIndex/supported-networks/dos-chain.md
- docs/HyperIndex/supported-networks/immutable-zkevm.md
- docs/HyperIndex/supported-networks/boba-bnb-mainnet.md
- docs/HyperIndex/supported-networks/torus-mainnet.md
- docs/HyperIndex/supported-networks/velas-mainnet.md
- docs/HyperIndex/Tutorials/price-data.md
- docs/HyperIndex/supported-networks/kaia.md
- docs/HyperIndex/Tutorials/tutorial-indexing-fuel.md
- docs/HyperIndex/supported-networks/0g-newton-testnet.md
- docs/HyperIndex/supported-networks/x-layer-mainnet.md
- docs/HyperIndex/supported-networks/manta-pacific-sepolia.md
- docs/HyperIndex/supported-networks/exosama.md
|
|
||
| :::info | ||
| You may need to adjust more parameters of the [rpc configuration](./rpc-sync) to support the specific rpc provider. | ||
| You may need to adjust more parameters of the [rpc configuration](./rpc-sync) to support the specific rpc provider. |
There was a problem hiding this comment.
Fix broken documentation link.
The relative link ./rpc-sync resolves to supported-networks/rpc-sync.md, but the actual file is located at Advanced/rpc-sync.md. This will result in a 404 error when users click the link.
Based on learnings, documentation links in this repository should use canonical paths to avoid redirects and ensure proper navigation.
🔗 Proposed fix
-You may need to adjust more parameters of the [rpc configuration](./rpc-sync) to support the specific rpc provider.
+You may need to adjust more parameters of the [rpc configuration](/docs/HyperIndex/Advanced/rpc-sync) to support the specific rpc provider.📝 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.
| You may need to adjust more parameters of the [rpc configuration](./rpc-sync) to support the specific rpc provider. | |
| You may need to adjust more parameters of the [rpc configuration](/docs/HyperIndex/Advanced/rpc-sync) to support the specific rpc provider. |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@docs/HyperIndex/supported-networks/bevm-mainnet.md` at line 30, Update the
broken relative link in bevm-mainnet.md so it points to the actual doc location
(Advanced/rpc-sync.md) instead of ./rpc-sync; replace the existing link target
with the canonical path to the RPC sync doc (e.g., ../Advanced/rpc-sync.md or
the repo's canonical /HyperIndex/Advanced/rpc-sync.md) so the link resolves
correctly.
|
|
||
| :::info | ||
| You may need to adjust more parameters of the [rpc configuration](./rpc-sync) to support the specific rpc provider. | ||
| You may need to adjust more parameters of the [rpc configuration](./rpc-sync) to support the specific rpc provider. |
There was a problem hiding this comment.
Fix broken link to RPC configuration documentation.
The relative link ./rpc-sync resolves to supported-networks/rpc-sync.md, but the RPC sync documentation is located at Advanced/rpc-sync.md. This will result in a 404 error.
🔗 Proposed fix
-You may need to adjust more parameters of the [rpc configuration](./rpc-sync) to support the specific rpc provider.
+You may need to adjust more parameters of the [rpc configuration](/docs/HyperIndex/Advanced/rpc-sync) to support the specific rpc provider.Based on learnings: In this Docusaurus setup, always link directly to the canonical /docs/HyperIndex/<slug> URL to avoid redirects and preserve SEO signal.
📝 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.
| You may need to adjust more parameters of the [rpc configuration](./rpc-sync) to support the specific rpc provider. | |
| You may need to adjust more parameters of the [rpc configuration](/docs/HyperIndex/Advanced/rpc-sync) to support the specific rpc provider. |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@docs/HyperIndex/supported-networks/creator-testnet.md` at line 30, The
relative link `[rpc configuration](./rpc-sync)` in creator-testnet.md is broken;
update the link target to the canonical docs path for the RPC sync page by
replacing `./rpc-sync` with the full canonical slug
`/docs/HyperIndex/Advanced/rpc-sync` (so the `[rpc configuration]` link points
directly to the Advanced/rpc-sync doc and avoids redirects/404s).
|
|
||
| :::info | ||
| You may need to adjust more parameters of the [rpc configuration](./rpc-sync) to support the specific rpc provider. | ||
| You may need to adjust more parameters of the [rpc configuration](./rpc-sync) to support the specific rpc provider. |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Description: Locate the rpc-sync documentation file to verify the relative link
# Search for rpc-sync documentation files
fd -e md -e mdx 'rpc-sync' docs/
# Also check what the link would resolve to from this file's location
echo "---"
echo "Current file: docs/HyperIndex/supported-networks/peaq.md"
echo "Relative link ./rpc-sync should resolve to: docs/HyperIndex/supported-networks/rpc-sync.md"
echo "or (if using slug): any file with slug: /rpc-sync or /supported-networks/rpc-sync"Repository: enviodev/docs
Length of output: 367
Fix the broken relative link to the RPC configuration documentation.
The relative link ./rpc-sync resolves to a non-existent file in the same directory. The RPC configuration documentation is located in the Advanced directory. Update the link to ../Advanced/rpc-sync to point to the correct target document.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@docs/HyperIndex/supported-networks/peaq.md` at line 30, Update the broken
relative link './rpc-sync' in the peaq.md content to point to the correct RPC
configuration document by replacing it with '../Advanced/rpc-sync' so the link
resolves to the Advanced RPC configuration page.
| To use HyperSync (the default), simply don't set an RPC for historical sync in your config. HyperIndex will automatically use HyperSync for supported networks: | ||
|
|
||
| ```yaml | ||
| name: Greeter | ||
| description: Greeter indexer | ||
| networks: | ||
| - id: 137 # Polygon |
There was a problem hiding this comment.
🛠️ Refactor suggestion | 🟠 Major | ⚡ Quick win
Clarify version scope for the config example (networks vs chains).
This page currently presents V2 config shape (networks) while the PR’s V3 migration standard is chains. Either switch this snippet to V3 shape or explicitly label the page/snippet as V2-only to prevent copy/paste misconfiguration.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@docs/HyperIndexV2/Advanced/hypersync.md` around lines 47 - 53, The YAML
example uses the V2 config key "networks" but the repo standard migrated to V3
"chains"; update the snippet in hypersync.md so it matches V3 by replacing the
"networks:" block with an equivalent "chains:" block (preserving the chain
identifier like 137) or, if you intend to document V2 only, add an explicit
label near the snippet saying "V2 config shape" and warn readers that V3 uses
"chains" to avoid copy/paste misconfiguration; edit the section containing the
HyperSync example and the YAML block that includes "networks" and "id: 137"
accordingly.
| HyperSync data source is vendorlock-free. While HyperSync is **recommended for optimal performance**, you can always switch to RPCs without the need to change your indexer code. For information on configuring RPC-based indexing, visit the [RPC Data Source](/docs/v2/HyperIndex/rpc-sync) documentation. | ||
|
|
||
| ### Improving Resilience with RPC fallback | ||
|
|
||
| For production deployments, it’s recommended to use HyperSync as the primary data source and have RPCs as fallback to improve reliability.You can read more about it in the [RPC Fallback](/docs/v2/HyperIndex/rpc-sync#improving-resilience-with-rpc-fallback) section. |
There was a problem hiding this comment.
Use canonical HyperIndex doc links instead of /docs/v2/... paths.
These links should point to canonical HyperIndex routes to avoid redirect hops and stale route coupling.
Suggested link update
- For information on configuring RPC-based indexing, visit the [RPC Data Source](/docs/v2/HyperIndex/rpc-sync) documentation.
+ For information on configuring RPC-based indexing, visit the [RPC Data Source](/docs/HyperIndex/rpc-sync) documentation.
- For production deployments, it’s recommended to use HyperSync as the primary data source and have RPCs as fallback to improve reliability.You can read more about it in the [RPC Fallback](/docs/v2/HyperIndex/rpc-sync#improving-resilience-with-rpc-fallback) section.
+ For production deployments, it’s recommended to use HyperSync as the primary data source and have RPCs as fallback to improve reliability. You can read more about it in the [RPC Fallback](/docs/HyperIndex/rpc-sync#improving-resilience-with-rpc-fallback) section.Based on learnings: the HyperIndex docs route base is docs/HyperIndex, and canonical links should use /docs/HyperIndex/<slug>.
📝 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.
| HyperSync data source is vendorlock-free. While HyperSync is **recommended for optimal performance**, you can always switch to RPCs without the need to change your indexer code. For information on configuring RPC-based indexing, visit the [RPC Data Source](/docs/v2/HyperIndex/rpc-sync) documentation. | |
| ### Improving Resilience with RPC fallback | |
| For production deployments, it’s recommended to use HyperSync as the primary data source and have RPCs as fallback to improve reliability.You can read more about it in the [RPC Fallback](/docs/v2/HyperIndex/rpc-sync#improving-resilience-with-rpc-fallback) section. | |
| HyperSync data source is vendorlock-free. While HyperSync is **recommended for optimal performance**, you can always switch to RPCs without the need to change your indexer code. For information on configuring RPC-based indexing, visit the [RPC Data Source](/docs/HyperIndex/rpc-sync) documentation. | |
| ### Improving Resilience with RPC fallback | |
| For production deployments, it's recommended to use HyperSync as the primary data source and have RPCs as fallback to improve reliability. You can read more about it in the [RPC Fallback](/docs/HyperIndex/rpc-sync#improving-resilience-with-rpc-fallback) section. |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@docs/HyperIndexV2/Advanced/hypersync.md` around lines 85 - 89, Update the
canonical HyperIndex links in the HyperSync docs: replace the two occurrences of
"/docs/v2/HyperIndex/rpc-sync" and
"/docs/v2/HyperIndex/rpc-sync#improving-resilience-with-rpc-fallback" with the
canonical routes under "/docs/HyperIndex" (e.g., "/docs/HyperIndex/rpc-sync" and
"/docs/HyperIndex/rpc-sync#improving-resilience-with-rpc-fallback") so the "RPC
Data Source" and "RPC Fallback" links use the HyperIndex base path and avoid
redirects.
| ### Loaders and Historical Sync | ||
|
|
||
| - **Improved Speed**: Using loaders can improve the speed of historical sync. However, the effectiveness of loaders varies: | ||
| - **Entity Reuse**: Loaders are more beneficial when the same entities are frequently reused and updated. | ||
| - **Performance Impact**: For many indexes, the performance difference with loaders is not very large. Loaders are not highly important unless performance is of the utmost importance. | ||
|
|
||
| ### Future Improvements (v2) | ||
|
|
||
| - **preHandlers**: In v2, loaders were restructured into pre-handlers. This change makes loading entities before the handler in batches more ergonomic using preHandler functions, further enhancing the performance and ease of use for historical sync. | ||
|
|
There was a problem hiding this comment.
🛠️ Refactor suggestion | 🟠 Major | ⚡ Quick win
Loader/preHandler guidance is stale and conflicts with current V3 behavior.
This section documents loaders as an optimization path, but V3 guidance is preload optimization (always-on) rather than loader API usage. Please update this section to current behavior or mark it explicitly as archived legacy-only content to avoid misleading implementation choices.
🧰 Tools
🪛 LanguageTool
[style] ~26-~26: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase.
Context: ...formance difference with loaders is not very large. Loaders are not highly important unles...
(EN_WEAK_ADJECTIVE)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@docs/HyperIndexV2/Advanced/performance/historical-sync.md` around lines 22 -
31, The documentation about "Loaders and Historical Sync" incorrectly describes
current runtime behavior: update the text to reflect that V3 uses always-on
preload optimizations rather than a loader API, and either convert the section
to describe V3 preload behavior (mentioning "preload"/"preHandler" migration
path and how historical sync benefits from always-on preloads) or clearly mark
the loaders/preHandler content as archived legacy-only guidance; update
references to the symbols "loaders", "preHandlers", "V2", and "V3" accordingly
and add a short migration note explaining how to move from loader/preHandler
usage to V3 preload semantics.
scripts/update-endpoints.js:
- Per-version "Defining {Network|Chain} Configurations" heading: V3
template now says "Chain Configurations" to match the migrated YAML;
V2 template stays "Network Configurations".
- RPC-sync link is now the canonical /docs/HyperIndex/rpc-sync (V3) or
/docs/v2/HyperIndex/rpc-sync (V2) instead of the relative ./rpc-sync,
so it doesn't rely on slug-resolution and removes redirect hops.
- Regenerate every supported-networks page in both doc trees.
V3 content:
- Advanced/wildcard-indexing.mdx: tighten the Topic Filtering intro
("can be noisy ... use Topic Filtering to keep only the events you
need"; "When registering an event handler or a contract registration
handler, provide the `where` option (formerly `eventFilters` in
V2)..."). Guard the per-chain whitelist example so an undefined entry
for a new chain id throws a clear error instead of falling through as
an invalid filter.
V2 content:
- Advanced/terminology.md: "command line interface" → "command-line
interface".
- Advanced/preload-optimization.md: "table run nature" → "double-run
nature" in the Preload Phase warning.
- Advanced/hypersync.md: "purpose built data-node that helps powers" →
"purpose-built data node that powers".
Deliberately skipped:
- "/docs/HyperIndex/quickstart broken" — false positive; that slug is
served by contract-import.md (`slug: /quickstart`).
- HyperIndexV2/Advanced/hypersync.md `networks` → `chains` and V2
rpc-sync links rewritten to /docs/HyperIndex/... — V2 docs use V2
syntax and the V2 route base (`/docs/v2/HyperIndex/...`); rewriting
them would break the build (already verified).
- HyperIndexV2/Advanced/performance/historical-sync.md being asked to
describe V3 preload behavior — this is the V2 perf guide; V2 loader
guidance is correct here.
Summary
This PR updates the documentation to reflect HyperIndex V3's new API design and terminology. The changes migrate all code examples and configuration references from V2 to V3, including the new
indexermodule, updated handler registration patterns, and renamed configuration fields.Key Changes
Contract.Event.handler()) to the new unifiedindexer.onEvent()APIgeneratedmodule toenviomodule forindexer, types, and utilitiesnetworkstochainsthroughout config examples and documentation{ contract, event, wildcard?, where? }) instead of method chainingcreateTestIndexer()andindexer.process()instead of mock database patternspreload_handlersflag (now always enabled in V3).envio/types.d.tsambient declarations instead of the/generateddirectoryonBlockAPI to useindexer.onBlock()with newwherecallback patterncontractRegisterAPI to useindexer.contractRegister()with new syntaxNotable Implementation Details
chains:instead ofnetworks:eventFilterstowherecallback returning{ params: [...] }https://claude.ai/code/session_015CS77Ds8aJDUv4tScUzrGN
Summary by CodeRabbit
Documentation
Configuration Changes