Files
tycho-protocol-sdk/substreams
dianacarvalho1 b577e7d6b2 refactor: Misc improvements to code (#277)
* refactor: Misc improvements to code

- Decouple validating logic from TychoRunner
- Move all data fetching and decoding the tycho message into the same method
- Split validate_state into validate_state, validate_token_balances and simulate_and_execute
- Make rpc_provider and runtime attributes of TestRunner
- Add references where possible to avoid clones
- Remove unnecessary code
- Make clippy happy

#time 2h 36m

#time 0m


#time 3m

* chore: Use tycho deps and foundry from tycho_simulation

This is to try to decrease the risk of using conflicting versions in the different repositories

#time 32m


#time 0m

* chore: Read RPC_URL in main.rs

#time 10m

* fix: Support eth trades (skip balance and allowance overwrites) and set balance overwrite to amount in

For tokens like USDC setting the balance super high was making us getting blacklisted

#time 1h 12m

* fix: Fix curve tests and filter components_by_id with the expected_component_ids

#time 1h 30m


#time 0m

* fix: Don't use all the possible executor addresses. Hardcode just one for the test

Refactor overwrites logic:
- renamed functions
- moved logic around that fits together
- don't use StateOverrides and then convert to alloy overrides. Use alloy's directly

#time 1h 21m

* fix: Assume that the executors mapping starts at storage value 1

Move setup_router_overwrites away from the rpc and into the execution file
Delete unnecessary get_storage_at

#time 33m
2025-09-25 17:27:05 +01:00
..
2025-09-23 00:42:23 -04:00
2024-03-14 01:24:43 +00:00
2025-06-26 12:33:31 +02: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 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.