Skip to content

Update and improvements to the config-schema reference#710

Merged
JasoonS merged 2 commits intomainfrom
config-schema-update
Oct 2, 2025
Merged

Update and improvements to the config-schema reference#710
JasoonS merged 2 commits intomainfrom
config-schema-update

Conversation

@JasoonS
Copy link
Contributor

@JasoonS JasoonS commented Oct 2, 2025

Summary by CodeRabbit

  • New Features

    • Added address_format option (checksum or lowercase).
    • Added preload_handlers configuration.
    • Added per-contract start_block to control indexing start height.
  • Documentation

    • Updated config schema docs with clearer types, renamed anchors, and inline "Available values" for transaction/block fields.
    • Added Chainweb Testnet 21 to supported networks documentation.
  • Chores

    • Expanded supported networks list; ordering and duplication cleaned up.

@JasoonS JasoonS requested a review from DenhamPreen October 2, 2025 14:04
@vercel
Copy link

vercel bot commented Oct 2, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Comments Updated (UTC)
envio-docs Ready Ready Preview Comment Oct 2, 2025 2:41pm

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Oct 2, 2025

Walkthrough

Refactors schema anchors to def-* names, adds top-level properties preload_handlers and address_format, introduces start_block in contracts, updates network listings (adds Chainweb Testnet 21), and makes the schema-doc generator rootSchema-aware with inline enum value rendering.

Changes

Cohort / File(s) Summary
Config schema & docs
docs/HyperIndex/Advanced/config-schema-reference.md, static/schemas/config.evm.json
Adds top-level preload_handlers and address_format (enum); adds start_block to per-contract definition; renames many anchors to def-*; replaces ambiguous unknown types with explicit object<...> refs and updates nested refs to def-* variants.
Schema-doc generator
scripts/generate-config-schema-doc.js
Threads rootSchema into describeType and rendering calls to resolve $ref contextually; adds slugify(text, preserveUnderscores = false); switches anchor naming to def-*; inlines TransactionField/BlockField enum values in generated docs.
Supported networks (docs)
docs/HyperRPC/hyperrpc-supported-networks.md, docs/HyperSync/hypersync-supported-networks.md
Adds a row for Chainweb Testnet 21 (Network ID 5921) and corresponding URLs; table structure unchanged.
Supported networks (data)
supported-networks.json
Replaces/expands the supportedNetworks block, adds chainweb-testnet-21, and adjusts ordering/entries per diff.

Sequence Diagram(s)

sequenceDiagram
  participant CLI as docs generator CLI
  participant Gen as generate-config-schema-doc.js
  participant Root as root schema ($defs)
  participant MD as Markdown output

  CLI->>Gen: request doc generation
  Gen->>Root: load rootSchema
  loop traverse schema nodes
    Gen->>Root: resolve $ref (with rootSchema context)
    alt $ref -> TransactionField/BlockField
      Root-->>Gen: enum values
      Gen->>Gen: inline "Available values" list & emit `def-*` anchor
    else other $ref/object/array
      Root-->>Gen: resolved schema node
      Gen->>Gen: render type with `def-*` anchor
    end
  end
  Gen-->>MD: write updated Markdown with def-* anchors and inline enums
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

Possibly related PRs

Suggested reviewers

  • DenhamPreen
  • moose-code
  • DZakh

Poem

I nibble at defs and hop through refs,
RootSchema guides my careful steps.
New nets bloom, start blocks in view,
Address formats — checksum or lowercase too.
A tiny rabbit stamps and cheers, "Docs polished for brave engineers!" 🐇✨

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 28.57% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The pull request title specifically mentions updates and improvements to the config-schema reference, which accurately describes a substantial portion of the changeset; while the PR also includes script modifications, JSON schema updates, and supported-networks additions, the title remains a valid partial summary of a core aspect of this work.
✨ Finishing touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch config-schema-update

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between d3cd848 and 55557f1.

📒 Files selected for processing (2)
  • docs/HyperIndex/Advanced/config-schema-reference.md (19 hunks)
  • scripts/generate-config-schema-doc.js (10 hunks)

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Ecosystem of the project.

- **type**: `anyOf(unknown | null)`
- **type**: `anyOf(object<EcosystemTag> | null)`
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These 'unknown' fields were annoying, since we did actually have the type.

Comment on lines +28 to +29
- [preload_handlers](#preloadhandlers)
- [address_format](#addressformat)
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

New features

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between e47e8fb and d3cd848.

📒 Files selected for processing (6)
  • docs/HyperIndex/Advanced/config-schema-reference.md (19 hunks)
  • docs/HyperRPC/hyperrpc-supported-networks.md (1 hunks)
  • docs/HyperSync/hypersync-supported-networks.md (1 hunks)
  • scripts/generate-config-schema-doc.js (10 hunks)
  • static/schemas/config.evm.json (3 hunks)
  • supported-networks.json (1 hunks)
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2025-07-29T14:30:03.677Z
Learnt from: DenhamPreen
PR: enviodev/docs#673
File: docs/HyperIndex/supported-networks/chainweb-testnet-21.md:14-16
Timestamp: 2025-07-29T14:30:03.677Z
Learning: Chainweb Testnet 20 (ID: 5920) and Chainweb Testnet 21 (ID: 5921) have non-functional HyperSync endpoints that return HTTP 404, indicating these networks are not properly supported and should be removed from documentation.

Applied to files:

  • docs/HyperSync/hypersync-supported-networks.md
  • docs/HyperRPC/hyperrpc-supported-networks.md
🪛 markdownlint-cli2 (0.18.1)
docs/HyperSync/hypersync-supported-networks.md

51-51: Bare URL used

(MD034, no-bare-urls)


51-51: Bare URL used

(MD034, no-bare-urls)

🔇 Additional comments (1)
docs/HyperRPC/hyperrpc-supported-networks.md (1)

43-44: Chainweb Testnet 21 RPC is live (405 expected)
The 405 responses confirm the service is running (GET is disallowed on JSON-RPC endpoints). Keep the Chainweb Testnet 21 row as-is.

Comment on lines +51 to 52
| Chainweb Testnet 21 | 5921 | https://chainweb-testnet-21.hypersync.xyz or https://5921.hypersync.xyz | 🪨 | |
| Chainweb Testnet 22 | 5922 | https://chainweb-testnet-22.hypersync.xyz or https://5922.hypersync.xyz | 🪨 | |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

Verify Chainweb Testnet 21 before advertising support

We previously removed this row after confirming the HyperSync endpoint returned HTTP 404; unless the service is now live, re-adding it gives users a broken URL. Please confirm the endpoint is operational (e.g. simple curl -I https://chainweb-testnet-21.hypersync.xyz) before keeping it here.
Based on learnings


🏁 Script executed:

#!/bin/bash
curl -s -o /dev/null -w "%{http_code}\n" https://chainweb-testnet-21.hypersync.xyz
curl -s -o /dev/null -w "%{http_code}\n" https://5921.hypersync.xyz

Length of output: 7


Remove Chainweb Testnet 21 Both endpoints return HTTP 404; remove this row until support is restored.

🧰 Tools
🪛 markdownlint-cli2 (0.18.1)

51-51: Bare URL used

(MD034, no-bare-urls)


51-51: Bare URL used

(MD034, no-bare-urls)


52-52: Bare URL used

(MD034, no-bare-urls)


52-52: Bare URL used

(MD034, no-bare-urls)

🤖 Prompt for AI Agents
docs/HyperSync/hypersync-supported-networks.md around lines 51 to 52: remove the
entire table row for "Chainweb Testnet 21" (the row containing port 5921 and the
two endpoints) so the table no longer lists that network; ensure the table
remains syntactically valid (remove the line only, do not alter other rows or
table headers) and save the file.

Comment on lines 237 to 242
const prop = props[propName];
out +=
`- ${toInlineCode(propName)}: ${toInlineCode(describeType(prop))}${
prop.description ? ` – ${prop.description}` : ""
`- ${toInlineCode(propName)}: ${toInlineCode(describeType(prop))}${prop.description ? ` – ${prop.description}` : ""
}` + "\n";
});
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Pass root schema when listing nested property types

Inside the object “Properties” list we still call describeType(prop) without the new rootSchema context, so $ref-backed children now render as unknown (e.g. FieldSelection fields) instead of object<...>. Please thread the rootSchema argument through this call as well.

-          `- ${toInlineCode(propName)}: ${toInlineCode(describeType(prop))}${prop.description ? ` – ${prop.description}` : ""}` + "\n";
+          `- ${toInlineCode(propName)}: ${toInlineCode(describeType(prop, rootSchema))}${prop.description ? ` – ${prop.description}` : ""}` + "\n";
📝 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.

Suggested change
const prop = props[propName];
out +=
`- ${toInlineCode(propName)}: ${toInlineCode(describeType(prop))}${
prop.description ? ` – ${prop.description}` : ""
`- ${toInlineCode(propName)}: ${toInlineCode(describeType(prop))}${prop.description ? ` – ${prop.description}` : ""
}` + "\n";
});
}
const prop = props[propName];
out +=
`- ${toInlineCode(propName)}: ${toInlineCode(describeType(prop, rootSchema))}${prop.description ? ` – ${prop.description}` : ""
}` + "\n";
🤖 Prompt for AI Agents
In scripts/generate-config-schema-doc.js around lines 237 to 242, the call
describeType(prop) inside the Properties list needs the rootSchema context so
$ref-backed children render correctly; update the call to pass the same
rootSchema used elsewhere (e.g. describeType(prop, rootSchema)), ensuring
rootSchema is in scope or passed into the enclosing function/closure if
necessary, so nested property types resolve correctly.

"supported-networks/local-anvil",
"supported-networks/local-hardhat",
"supported-networks/0g-newton-testnet","supported-networks/abstract","supported-networks/aleph-zero-evm","supported-networks/altlayer-op-demo-testnet","supported-networks/ancient8","supported-networks/arbitrum","supported-networks/arbitrum-blueberry","supported-networks/arbitrum-nova","supported-networks/arbitrum-sepolia","supported-networks/artela-testnet","supported-networks/arthera-mainnet","supported-networks/asset-chain-mainnet","supported-networks/astar-zkevm","supported-networks/astar-zkyoto","supported-networks/aurora","supported-networks/aurora-turbo","supported-networks/avalanche","supported-networks/b2-hub-testnet","supported-networks/b3","supported-networks/b3-sepolia-testnet","supported-networks/base","supported-networks/base-sepolia","supported-networks/beam","supported-networks/berachain","supported-networks/berachain-artio-testnet","supported-networks/berachain-bartio","supported-networks/bevm-mainnet","supported-networks/bevm-testnet","supported-networks/bitfinity-mainnet","supported-networks/bitfinity-testnet","supported-networks/bitgert-mainnet","supported-networks/bitlayer","supported-networks/blast","supported-networks/blast-sepolia","supported-networks/bob-mainnet","supported-networks/boba","supported-networks/boba-bnb-mainnet","supported-networks/botanix-testnet","supported-networks/bsc","supported-networks/bsc-testnet","supported-networks/canto","supported-networks/canto-testnet","supported-networks/celo","supported-networks/celo-alfajores-testnet","supported-networks/chainweb-testnet-20","supported-networks/chainweb-testnet-22","supported-networks/chainweb-testnet-23","supported-networks/chainweb-testnet-24","supported-networks/chiliz","supported-networks/chiliz-testnet-spicy","supported-networks/citrea-devnet","supported-networks/citrea-testnet","supported-networks/core","supported-networks/creator-testnet","supported-networks/cronos-zkevm","supported-networks/cronos-zkevm-testnet","supported-networks/crossfi-mainnet","supported-networks/crossfi-mainnet","supported-networks/crossfi-testnet","supported-networks/curtis","supported-networks/cyber","supported-networks/damon","supported-networks/degen-chain","supported-networks/dfk-chain","supported-networks/dogechain-mainnet","supported-networks/dogechain-testnet","supported-networks/dos-chain","supported-networks/energy-web","supported-networks/eos","supported-networks/eth","supported-networks/etherlink-testnet","supported-networks/exosama","supported-networks/fantom","supported-networks/fantom-testnet","supported-networks/flare","supported-networks/flare-songbird","supported-networks/flow","supported-networks/flow-testnet","supported-networks/fraxtal","supported-networks/fuel-mainnet","supported-networks/fuel-testnet","supported-networks/fuji","supported-networks/galadriel-devnet","supported-networks/gnosis","supported-networks/gnosis-chiado","supported-networks/gravity-alpha-mainnet","supported-networks/harmony-shard-0","supported-networks/heco-chain","supported-networks/holesky","supported-networks/hyperliquid","supported-networks/immutable-zkevm","supported-networks/immutable-zkevm-testnet","supported-networks/ink","supported-networks/iotex-network","supported-networks/japan-open-chain","supported-networks/kaia","supported-networks/kakarot-starknet-sepolia","supported-networks/kroma","supported-networks/layeredge-testnet","supported-networks/lightlink-pegasus-testnet","supported-networks/lightlink-phoenix","supported-networks/linea","supported-networks/lisk","supported-networks/lukso","supported-networks/lukso-testnet","supported-networks/manta","supported-networks/manta-pacific-sepolia","supported-networks/mantle","supported-networks/megaeth-testnet","supported-networks/merlin","supported-networks/metall2","supported-networks/meter-mainnet","supported-networks/meter-testnet","supported-networks/mev-commit","supported-networks/mint-mainnet","supported-networks/mode","supported-networks/monad-testnet","supported-networks/moonbase-alpha","supported-networks/moonbeam","supported-networks/morph","supported-networks/nautilus","supported-networks/neo-x-testnet","supported-networks/nibiru-testnet","supported-networks/now-chaint","supported-networks/oasis-emerald","supported-networks/oasis-sapphire","supported-networks/onigiri-subnet","supported-networks/onigiri-test-subnet","supported-networks/ontology-mainnet","supported-networks/ontology-testnet","supported-networks/op-celestia-raspberry","supported-networks/opbnb","supported-networks/optimism","supported-networks/optimism-sepolia","supported-networks/optopia","supported-networks/peaq","supported-networks/plume","supported-networks/polygon","supported-networks/polygon-amoy","supported-networks/polygon-zkevm","supported-networks/polygon-zkevm-cardona-testnet","supported-networks/public-goods-network","supported-networks/pulsechain","supported-networks/puppynet-shibarium","supported-networks/ronin","supported-networks/rootstock","supported-networks/saakuru","supported-networks/satoshivm","supported-networks/scroll","supported-networks/scroll-sepolia","supported-networks/sentient-testnet","supported-networks/sepolia","supported-networks/shibarium","supported-networks/shimmer-evm","supported-networks/skale-europa","supported-networks/soneium","supported-networks/sonic","supported-networks/sophon","supported-networks/sophon-testnet","supported-networks/stratovm-testnet","supported-networks/superseed","supported-networks/superseed-sepolia-testnet","supported-networks/swell","supported-networks/taiko","supported-networks/tangle","supported-networks/tanssi-demo","supported-networks/taraxa","supported-networks/telos-evm-mainnet","supported-networks/telos-evm-testnet","supported-networks/torus-mainnet","supported-networks/torus-testnet","supported-networks/unichain","supported-networks/unichain-sepolia","supported-networks/unicorn-ultra-nebulas-testnet","supported-networks/velas-mainnet","supported-networks/viction","supported-networks/worldchain","supported-networks/x-layer-mainnet","supported-networks/x-layer-testnet","supported-networks/xdc","supported-networks/xdc-testnet","supported-networks/zeta","supported-networks/zeta-testnet","supported-networks/zircuit","supported-networks/zklink-nova-mainnet","supported-networks/zksync","supported-networks/zksync-sepolia-testnet","supported-networks/zora","supported-networks/zora-sepolia"]} No newline at end of file
"supported-networks/0g-newton-testnet","supported-networks/abstract","supported-networks/aleph-zero-evm","supported-networks/altlayer-op-demo-testnet","supported-networks/ancient8","supported-networks/arbitrum","supported-networks/arbitrum-blueberry","supported-networks/arbitrum-nova","supported-networks/arbitrum-sepolia","supported-networks/artela-testnet","supported-networks/arthera-mainnet","supported-networks/asset-chain-mainnet","supported-networks/astar-zkevm","supported-networks/astar-zkyoto","supported-networks/aurora","supported-networks/aurora-turbo","supported-networks/avalanche","supported-networks/b2-hub-testnet","supported-networks/b3","supported-networks/b3-sepolia-testnet","supported-networks/base","supported-networks/base-sepolia","supported-networks/beam","supported-networks/berachain","supported-networks/berachain-artio-testnet","supported-networks/berachain-bartio","supported-networks/bevm-mainnet","supported-networks/bevm-testnet","supported-networks/bitfinity-mainnet","supported-networks/bitfinity-testnet","supported-networks/bitgert-mainnet","supported-networks/bitlayer","supported-networks/blast","supported-networks/blast-sepolia","supported-networks/bob-mainnet","supported-networks/boba","supported-networks/boba-bnb-mainnet","supported-networks/botanix-testnet","supported-networks/bsc","supported-networks/bsc-testnet","supported-networks/canto","supported-networks/canto-testnet","supported-networks/celo","supported-networks/celo-alfajores-testnet","supported-networks/chainweb-testnet-20","supported-networks/chainweb-testnet-21","supported-networks/chainweb-testnet-22","supported-networks/chainweb-testnet-23","supported-networks/chainweb-testnet-24","supported-networks/chiliz","supported-networks/chiliz-testnet-spicy","supported-networks/citrea-devnet","supported-networks/citrea-testnet","supported-networks/core","supported-networks/creator-testnet","supported-networks/cronos-zkevm","supported-networks/cronos-zkevm-testnet","supported-networks/crossfi-mainnet","supported-networks/crossfi-mainnet","supported-networks/crossfi-testnet","supported-networks/curtis","supported-networks/cyber","supported-networks/damon","supported-networks/degen-chain","supported-networks/dfk-chain","supported-networks/dogechain-mainnet","supported-networks/dogechain-testnet","supported-networks/dos-chain","supported-networks/energy-web","supported-networks/eos","supported-networks/eth","supported-networks/etherlink-testnet","supported-networks/exosama","supported-networks/fantom","supported-networks/fantom-testnet","supported-networks/flare","supported-networks/flare-songbird","supported-networks/flow","supported-networks/flow-testnet","supported-networks/fraxtal","supported-networks/fuel-mainnet","supported-networks/fuel-testnet","supported-networks/fuji","supported-networks/galadriel-devnet","supported-networks/gnosis","supported-networks/gnosis-chiado","supported-networks/gravity-alpha-mainnet","supported-networks/harmony-shard-0","supported-networks/heco-chain","supported-networks/holesky","supported-networks/hyperliquid","supported-networks/immutable-zkevm","supported-networks/immutable-zkevm-testnet","supported-networks/ink","supported-networks/iotex-network","supported-networks/japan-open-chain","supported-networks/kaia","supported-networks/kakarot-starknet-sepolia","supported-networks/kroma","supported-networks/layeredge-testnet","supported-networks/lightlink-pegasus-testnet","supported-networks/lightlink-phoenix","supported-networks/linea","supported-networks/lisk","supported-networks/lukso","supported-networks/lukso-testnet","supported-networks/manta","supported-networks/manta-pacific-sepolia","supported-networks/mantle","supported-networks/megaeth-testnet","supported-networks/merlin","supported-networks/metall2","supported-networks/meter-mainnet","supported-networks/meter-testnet","supported-networks/mev-commit","supported-networks/mint-mainnet","supported-networks/mode","supported-networks/monad-testnet","supported-networks/moonbase-alpha","supported-networks/moonbeam","supported-networks/morph","supported-networks/nautilus","supported-networks/neo-x-testnet","supported-networks/nibiru-testnet","supported-networks/now-chaint","supported-networks/oasis-emerald","supported-networks/oasis-sapphire","supported-networks/onigiri-subnet","supported-networks/onigiri-test-subnet","supported-networks/ontology-mainnet","supported-networks/ontology-testnet","supported-networks/op-celestia-raspberry","supported-networks/opbnb","supported-networks/optimism","supported-networks/optimism-sepolia","supported-networks/optopia","supported-networks/peaq","supported-networks/plume","supported-networks/polygon","supported-networks/polygon-amoy","supported-networks/polygon-zkevm","supported-networks/polygon-zkevm-cardona-testnet","supported-networks/public-goods-network","supported-networks/pulsechain","supported-networks/puppynet-shibarium","supported-networks/ronin","supported-networks/rootstock","supported-networks/saakuru","supported-networks/satoshivm","supported-networks/scroll","supported-networks/scroll-sepolia","supported-networks/sentient-testnet","supported-networks/sepolia","supported-networks/shibarium","supported-networks/shimmer-evm","supported-networks/skale-europa","supported-networks/soneium","supported-networks/sonic","supported-networks/sophon","supported-networks/sophon-testnet","supported-networks/stratovm-testnet","supported-networks/superseed","supported-networks/superseed-sepolia-testnet","supported-networks/swell","supported-networks/taiko","supported-networks/tangle","supported-networks/tanssi-demo","supported-networks/taraxa","supported-networks/telos-evm-mainnet","supported-networks/telos-evm-testnet","supported-networks/torus-mainnet","supported-networks/torus-testnet","supported-networks/unichain","supported-networks/unichain-sepolia","supported-networks/unicorn-ultra-nebulas-testnet","supported-networks/velas-mainnet","supported-networks/viction","supported-networks/worldchain","supported-networks/x-layer-mainnet","supported-networks/x-layer-testnet","supported-networks/xdc","supported-networks/xdc-testnet","supported-networks/zeta","supported-networks/zeta-testnet","supported-networks/zircuit","supported-networks/zklink-nova-mainnet","supported-networks/zksync","supported-networks/zksync-sepolia-testnet","supported-networks/zora","supported-networks/zora-sepolia"]} No newline at end of file
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

Hold off on listing chainweb-testnet-21 until the endpoint works

This JSON powers the docs, so adding supported-networks/chainweb-testnet-21 will surface the same non-functional HyperSync endpoint noted earlier. Please keep it out (and avoid publishing duplicates like this) until the network is actually live.
Based on learnings


🏁 Script executed:

#!/bin/bash
curl -s -o /dev/null -w "%{http_code}\n" https://chainweb-testnet-21.hypersync.xyz
curl -s -o /dev/null -w "%{http_code}\n" https://5921.hypersync.xyz

Length of output: 7


Remove chainweb-testnet-21 from supported-networks.json

Its HyperSync endpoint returns HTTP 404; re-add the entry only once the network is live.

🤖 Prompt for AI Agents
In supported-networks.json around line 5, remove the
"supported-networks/chainweb-testnet-21" entry from the array (delete the exact
string and adjust surrounding commas so the JSON remains valid), save the file
and run a JSON lint/formatter to ensure no trailing commas or syntax errors;
re-add the entry later only when the network is live.


Variants:
- `1`: [EcosystemTag](#ecosystemtag)
- `1`: [EcosystemTag](#def-ecosystemtag)
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There were clashes, eg on the old site there was no way to link to this part of the page (since they both had the same link: https://docs.envio.dev/docs/HyperIndex/config-schema-reference#fieldselection)

image

unavailable via link since overshadowed:
Uploading image.png…

- hash
block_fields:
- timestamp
- miner
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was just wrong, Timestamp is always included on the block and if you add this here the codegen will not allow it (and fail with error)

- `confirmed_block_threshold`: `integer | null` – The number of blocks from the head that the indexer should account for in case of reorgs.
- `start_block`: `integer` – The block at which the indexer should start ingesting data
- `end_block`: `integer | null` – The block at which the indexer should terminate.
- `contracts`: `array&lt;unknown&gt;` – All the contracts that should be indexed on the given network
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was just a bug, it was overwriting it for some reason.

}

function toInlineCode(value) {
const s = String(value).replace(/</g, "&lt;").replace(/>/g, "&gt;");
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not necessary - keeping the < / > is better.

Comment on lines +104 to +111
// Handle $ref first
if (schema.$ref && rootSchema) {
const refName = schema.$ref.split("/").slice(-1)[0];
const resolved = resolveRef(schema.$ref, rootSchema);
if (resolved) {
return `object<${refName}>`;
}
}
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This removes the "unknown" fields...

raw_events: "raw_events: true",
},
defs: {
FieldSelection: `events:\n - event: "Assigned(address indexed user, uint256 amount)"\n field_selection:\n transaction_fields:\n - transactionIndex\n block_fields:\n - timestamp`,
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unnecessary duplicate example

Copy link
Contributor Author

@JasoonS JasoonS Oct 2, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Taken back, added - it shows that it works under contracts as per event also!

@JasoonS JasoonS merged commit 4e2fa0d into main Oct 2, 2025
3 checks passed
@JasoonS JasoonS deleted the config-schema-update branch October 2, 2025 15:09
This was referenced Oct 30, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants