Files
tycho-protocol-sdk/substreams
Zizou 9e8e360889 refactor(substreams): improve logic to ignore updates (#96)
* refactor(substreams): ignore transaction if contracts update are ignored.

There are some cases where we ignore contracts updates (for example if the old and new values are the same). In that case if the transaction only contains ignored updates we don't emit it.

* refactor(substreams): ignore deletions for freshly created attributes.

There are cases where an attribute can be created and deleted during the same transaction. To avoid sending a confusing deletion for something that was never created before, we just ignore the deletion in that particular case.

* feat(substreams): Add uniswap V3 logs only module (#98)

* feat(substreams): add uniswapV3 logs only Substreams module

* refactor(substreams): encode everything as big endian

* refactor(substreams): mark changes as creation when a tick liq is updated from 0

This will allow the SDK to detect cases where a tick is created and deleted in the same transaction and ignore it.

* ci(substreams): ignore built files for uniswapv3 logs only module and clean code

* refactor(substreams): update uniswapv3 substreams with new SDK interface

* feat(subtreams): emit default token balances value for uniswapv3

---------

Co-authored-by: zizou <111426680+flopell@users.noreply.github.com>

---------

Co-authored-by: zizou <111426680+flopell@users.noreply.github.com>
2024-11-07 05:16:55 +00:00
..
2024-03-14 01:24:43 +00:00

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 no 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