Releases: enviodev/hyperindex
v2.4.4
What's Changed
- Fix missing nested dependencies in fuel types gen causing incorrect ordering of code generation by @DenhamPreen in #257
- Fix restart bug with dynamic contracts by @JonoPrest in #258
Full Changelog: v2.4.3...v2.4.4
v2.4.3
Fixes
- Fix
copy_table_to_entity_history
function being called on non reorg indexer by @JonoPrest in #256
Improvements
- Indexers with multiple partitions worth of addresses now execute partitioned queries concurrently
- Implement concurrent partitions by @JonoPrest in #246
- Simplify the getMostBehindPartitions function. by @JasoonS in #254
Full Changelog: v2.4.2...v2.4.3
v2.4.2
v2.4.1
v2.4.0
What's Changed
New Fuel receipt types support β½
Previously, you could only index LOG_DATA
receipts. The release supports indexing MINT
, BURN
, TRANSFER
, TRANSFER_OUT
, and CALL
receipt types.
Read more on the Fuel documentation page.
By @DZakh in #227, #228, #229, #239, #241
Customize decimal precision of BigInt
and BigDecimal
fields π―
When working with large integers or high-precision decimal numbers in your application, you might need to customize the precision and scale of your BigInt
and BigDecimal
fields. This ensures that your database stores these numbers accurately according to your specific requirements. If you know your numbers will not be too big, you can also optimize the database by not over-allocating on the precision.
Example:
type Product {
id: ID!
price: BigDecimal @numeric(precision: 10, scale: 2)
}
In this example, the price
field can store numbers with up to 10 digits in total, with 2 digits after the decimal point (e.g., 99999999.99).
Read more on the Schema documentation page.
Fixes & Improvements π§
- Drastically improve historical sync performance with Reorg handling enabled by @JonoPrest in #220, #235
- Update npm package README.md by @DZakh in #232
Internal work π§Ή
- Benchmark Improvements by @JonoPrest in #218, #242
- Remove unused
to_postgres_type
function from codegen by @JasoonS in #224 - Preparations for V2 Hosted Service: Add Prometheus Metric for synced at head and update pnpm install options by @MJYoung114 in #230
- Remove TS and Eslint dev dependencies from the Envio package by @DZakh in #233
- Start moving code from generated to the Envio package by @DZakh in #234, #238
- Preparations for the Fuel Mainnet launch by @DZakh in #237
- Clean cache guide by @JasoonS in #236
Full Changelog: v2.3.2...v2.4.0
v2.3.2
What's Changed
- Add partial support for Fuel Bytes type by @DZakh in #225
- Increase HyperSync client timeout to 2 min by @JonoPrest in #213
- Add Indexer Benchmarking System by @JonoPrest in #215
- Fuel Mint indexing support Part 1 - Implement HyperFuel query selection for Mint receipts by @DZakh in #214
Full Changelog: v2.3.1...v2.3.2
v2.3.1
What's Changed
Fixes π§
- Support indexing multiple events with the same sighash and different topics by @JonoPrest in #204
- Fix contract import for Fuel by @DZakh in #207, #208, #209
- Fix Vec support for Fuel by @DZakh in #206
- Deduplicate wildcard queries on multiple registers and partitions by @JonoPrest in #210
Internal Work ποΈ
- Add types and schemas for RPC interactions by @JonoPrest in #199
Full Changelog: v2.3.0...v2.3.1
v2.3.0
What's Changed
Wildcard Indexing β
Index the whole chain by event signature without specifying exact contract addresses.
Here's an example of indexing all ERC20 Transfer events. No need to change the config file. Simply add the wildcard: true
option to the second argument in your handler:
ERC20.Transfer.handler(
async ({ event, context }) => {},
{
wildcard: true,
}
)
Final touches implemented by @JonoPrest in #171, #197
Event Filtering π
Filter events by indexed parameters. Simplify your handler's logic or get new indexing possibilities when joined with the Wildcard Indexing feature:
UniswapV3Factory.PoolCreated.handler(async ({ event, context }) => {},
{
wildcard: true,
eventFilters: [{ token0: DAI_ADDRESS }, { token1: DAI_ADDRESS }],
},
);
β‘ Both Wildcard Indexing and Event Filters are currently only supported with HyperSync. We are working on adding support for RPC mode in the following versions.
Implemented by @JonoPrest
Fuel Merge β½
The fuel ecosystem indexer is integrated into the main repository code. This was a huge refactoring which came with a big list of benefits and a big list of opportunities.
If you use [email protected]
version, you can switch to [email protected]
and get:
- Now Fuel and Evm reuse the same code. This gives V2 API, much better test coverage, and many improvements/fixes compared to
[email protected]
- Support for
raw_events
configuration - Support for Wildcard Indexing
- Public repository
- Active development and maintenance
Talking about opportunities, this unblocks:
- Adding support for
Mint
/Burn
/Call
/TransferIn
/TransferOut
events - Indexer became more modular and library-like, simplifying the integration of new ecosystems in the future
Implemented by @DZakh in #186, #190, #192, #193, #194, #196, #202
Other ποΈ
- Add validation for end block on finite chains by @JonoPrest in #191
- Upgrade Hasura to latest v2 release by @JonoPrest in #169
- Use the local envio package for testing instead of defaulting to latest by @DZakh in #200
- Fix panic on null exn passed to error handling by @DZakh in #203
Full Changelog: v2.2.3...v2.3.0
v2.2.3
What's Changed
Fixes π§
- A TUI/GUI issue with showing progress incorrectly for contracts with 5k+ addresses by @JonoPrest in #188
- An early exit with some unprocessed events for contracts with 5k+ addresses and end_block by @JonoPrest in #188
- Remove validation for indexer name by @DZakh in #184
- Remove name prompt from the indexer init flow by @DZakh in #184
Full Changelog: v2.2.2...v2.2.3
v2.2.2
What's Changed
Contract import π«
- Add Citrea network for contract import by @DenhamPreen in #173
- Sort networks in alphabetical order by @DenhamPreen in #173
Bug fixes π
Github polishing π
- Add issue templates by @moose-code in #176
Other ποΈ
Full Changelog: v2.2.1...v2.2.2