Devlog
The latest product updates and changes to Apibara
Add hooks to the VCR run method
You can now add additional hooks to the indexer when testing. Use this to initialize external resources like the database.
Add Starknet event decoder to the documentation
We added documentation for the Starknet event decoder.
Improved support for nested Starknet event types
The Starknet event decoder now supports nested event types.
Webhook sink now checks the HTTP response status code
The webhook sink now checks that the response is successful (2xx) and if not, retries sending data.
Add support for ByteArray in Starknet event decoder
The Starknet event decoding helpers now support byte arrays. Byte arrays are decode as 0x hex strings.
DNA v2 is now the default version in the documentation
We have updated the documentation to use DNA v2 as the default version.
Block production mode is now available to indexers
Block handlers now receive the production
argument to detect whether the block is live or backfilled. You can use this to trigger actions only when the chain's head is reached.
DNA v2 is now available on production streams
The production streams at a5a.ch now support DNA v2. These streams will support both v1 and v2 until v1 is officially phased out.
Fix exception accessing blockHash of pending blocks
We fixed an exception raise when accessing the blockHash of a pending block on EVM and Starknet indexers.
Reload runtime configurations on changes to project files
When the apibara.config.ts file changes, the runtime configuration is reloaded and all indexers restarted.
Re-export `@apibara/indexer` in `apibara/indexer`
Users now need only to install the apibara
package to implement indexers. All previous exports from @apibara/indexer
are now available in apibara/indexer
.
Add option to override stream's gRPC options
Indexers can now override the default gRPC client options. This is useful for custom authentication schemes or to increase the maximum allowed message size.
Fix live-reload of indexers that exited with an error
We fixed an issue that caused indexers that crashed with an error to not reload correctly.
Add cli command to output machine-readable project information
The new apibara write-project-info
command outputs machine-readable project information in JSON. Use this to get a list of available indexers and presets.
Add source map support for better error reporting
We added source map support to the indexer, which will improve error reporting by showing the original source code instead of the compiled code.
Reconnect on DNA server errors
We changed the indexers to automatically reconnect on DNA server errors.
Fix Drizzle plugin support for TimescaleDB
We fixed an issue with the Drizzle plugin not correctly working with TimescaleDB. Now the reorg-related tables correctly deduce the user's table names.
Add support for 'enum' Starknet events
The Starknet event decoder now supports 'enum' events. This means it's now possible to parse a contract's root events.
Improve DNA message decoder performance
We switched the implementation of the DNA message decoder, resulting in 2x performance improvements. Users streaming large blocks will notice a significant speedup.