v3.1.0
What's Changed
2x Cheaper And 2.5x Faster 📈
We are yet to reach our full potential. And the new HyperIndex release comes with a nice improvement: it requires up to 2x fewer HyperSync queries for backfill and is 2.5x faster in many indexing cases.
By @DZakh in #1212, #1235, #1244, #1247, #1246, #1243, #1248, #1250, #1256, #1258, #1263, #1264, #1265, #1266, #1267, #1269
Descriptions On Entities, Fields, And Relationships 📝
Describe your entities, fields, and relationships in the schema.graphql file, so that they are exposed in the GraphQL API.
# Hash comments are ignored by the GraphQL parser and should NOT appear
# in introspection. Only string descriptions ("""...""" or "...") are exposed.
"An on-chain account participating in transfers"
type Account {
"The account's Ethereum address"
id: ID!
"All transfers sent from this account"
outgoing: [Transfer!]! @derivedFrom(field: "from")
}Improve Agentic Indexer Development Experience 🤖
- Add
envio tools search-docs <query>subcommand by @DZakh in #1237 - Add
envio tools fetch-docs <url>subcommand by @DZakh in #1237 - Add
envio metrics runtimesubcommand by @DZakh in #1281 - Clean up skills provided by
envio initandenvio skills updateby @DZakh in #1234
Rate-Limit Info In TUI And Logs ℹ️
Improve HyperSync rate-limit handling by showing rate-limit information in TUI and logs.
Skip Chains From Indexing ⏭️
Excludes the chain from indexing and migrations by adding the skip field to the chain in the config.yaml file.
🚧 This is an advanced feature. For testing, prefer a test framework instead.
chains:
- id: 1
skip: trueFix Indexer Startup With 4.5M+ Contracts ⛰️
Other Fixes And Improvements 🔧
- Remove unnecessary height polling when buffer reached the head, but events are still unprocessed by @DZakh in #1230
- Remove cargo-cache action from publishing workflow to avoid potential exploitation by @DZakh in #1231
- Remove ordered multichain internal implementation by @DZakh in #1233
- Remove HyperSync chain tier tracking by @DZakh in #1236
- Improve HyperIndex contributing experience by @DZakh in #1251, #1253
- Simplify ERC20 template by removing unnecessary toString() calls by @DZakh in #1252
- Persist all entity history changes to ClickHouse (note: this is internal implementation details and will change in the future) by @DZakh in #1257
- Fix DDOS from height polling triggered by stale SSE connections by @JonoPrest in #1271, #1272
Full Changelog: v3.0.2...v3.1.0