github joshstevens19/rindexer v0.20.0
Release v0.20.0

latest releases: v0.28.1, v0.28.0, v0.27.1...
3 months ago

Install

curl -L https://rindexer.xyz/install.sh | bash -s -- --version 0.20.0

Changelog

Features

  • feat: support reth natively in rindexer https://rindexer.xyz/docs/start-building/create-new-project/reth-mode + https://rindexer.xyz/docs/advanced/using-reth-exex
  • Indexing with eth_getBlockByNumber for more efficiency (but still retain all debug/trace logic for future options)
  • Add a Nullable Numeric256 SQL type, Nullable DateTime SQL type and Uuid SQL type
  • Add tx receipt endpoint as useful prep work for raw transaction indexing option
  • Add an ever-so-slightly backpressured queue per "network-event" for super fair scheduling, decreased write contention on the database, and improved memory utilisation, can use 1/4 of memory with no throughput drop in some cases.

Bug fixes

  • fix: ethereum/go-ethereum#31876 changed max address per logs to 1000 to be aligned with geth
  • Use correct provider base which is AnyProvider that can handle optimism, rollups, and all evm chain style responses.
  • Misc tweaks to optimise how this native transfer fetching is done with batching, and pass rpc provider to allow for better batching in other endpoints
  • Remove the permits system entirely, it's had some serious problems with fair distribution (where some events would consistenyl take more permits than others)
  • We weren't writing to the db if no events were found in a block range... this was a major problem for highly infrequent events as rindexer wouldn't write the "last seen block", fixed.
  • Fixed a pretty major bug with the "optimal log parsing regex" (where the BlockNumber::from_str() wasn't actually parsing the hex, so it silently failed and used sub-optimal fallbacks)
  • Fix indexer codegen to use correct names and types, as well as fix formatting problems where rustfmt couldn't parse the nesting we were doing
  • Other memory optimisations

Don't miss a new rindexer release

NewReleases is sending notifications on new releases.