* feat: add DCI message definitions #time 4m #time 2m * fix: Make entrypoints into a HashSet instead of Vec #time 0m * fix: Rollback on message index change in ContractSlot #time 5m * feat: Add get_block_storage_changes #time 34m #time 0m * Update substreams/crates/tycho-substreams/src/block_storage.rs Co-authored-by: Louise Poole <louisecarmenpoole@gmail.com> * Update substreams/crates/tycho-substreams/src/block_storage.rs Co-authored-by: Louise Poole <louisecarmenpoole@gmail.com> * fix: Filter out calls that are reverted and sort change by ordinal #time 0m * fix: Improve performance of get_block_storage_changes We expect this util function to collect and handle a lot of information repeatedly (on every single block). So top performance optimisation (both memory and computation) is vital to minimise substream lags. #time 6m * fix: Use filter and flat_map instead of if and for loops #time 1m --------- Co-authored-by: Louise Poole <louise@datarevenue.com> Co-authored-by: Louise Poole <louisecarmenpoole@gmail.com>
Substreams Indexing Integrations
Please refer to the official Substreams Indexing docs.
Release
To release a package simply tag a commit with the package name and its version:
e.g. ethereum-balancer-0.1.0. This will create a release and automatically build
and push the spkg into our registry.
Note
The CD pipeline will error if the Cargo version is not the same as the version in the tag.
Releases are immutable so do not try to delete tags or build the same release twice since this will error.
Pre-release
To create a pre-release for testing in dev you can start CD pipeline manually supplying
the package you'd like to pre-release. This will create a
[package].pre-[commit-sha] release in our spkg repository which you can use
to run the substream´.
For forked protocols you'll need to also supply the config file name, e.g. ethereum-pancakeswap.
Test your implementation
To run a full end-to-end integration test you can refer to the testing script documentation.