Commit Graph

17 Commits

Author SHA1 Message Date
TAMARA LIPOWSKI
12e6e48a78 feat: Add test for UniswapV2
- Used a random post-Shanghai-created USV2 pool state with enough liquidity for the test

Necessary fixes:
- Don't hardcode to EVMPoolState
- Don't expect adapter to always be set.
- UniswapV2 names its module differently for some reason... this seems like a special case so instead of updating all integration test yamls, I'm just hardcoding it in test_runner.rs. Perhaps not the best decision?
- Log the static attributes if not found.
- Get the substreams yaml path from config instead of hardcoding it.
2025-09-23 00:42:23 -04:00
adrian
9f4ff71b70 refactor: remove skip_balance_check from run_test signature
This field is redundant, as it can be read directly from `config`
2025-09-18 20:00:06 +02:00
adrian
e684a64002 fix: logs handling 2025-09-16 11:31:19 +02:00
adrian
a84b6518cf chore: remove unused AUTH_API_KEY from docker-compose 2025-09-12 10:59:17 +02:00
adrian
2ea296fb8b fix: pass RUST_LOG down to tycho-indexer 2025-09-12 10:59:17 +02:00
dianacarvalho1
22843cfd3b feat: Add encoding to test suite (#259)
* feat: Add encoding to test suite

Use execution from simulation
Add protocol_system to all test files and pass it to run tycho
Add encoding_utils.rs

#time 5h 0m

#time 1m

#time 7m

* refactor: Move encoding swap to its own method to simplify main code

Rename encoding_utils.rs to encoding.rs

#time 20m


#time 0m

#time 0m
2025-09-11 14:30:49 +01:00
Tamara
93b969e41f feat(Testing SDK): Pass adapter path to decoder (#249)
* feat: Pass adapter contract to decoder

This was the most elegant solution we could come up with at the moment for having the proper adapter in the builder.

Notes:
- The default adapter bytecode in tycho-simulation is still loaded at compile time.
- If the adapter bytecode is passed to the decoder, it will be loaded dynamically at runtime and used instead the bytecodes in tycho-simulation.
- The adapter bytecode is used in the builder to get capabilities and thus spot prices before returning the state, so just overwriting the adapter in the state is way too cumbersome. We went with this solution since it was the lesser evil, even though we know it leaks VM-specific info to non-vm protocols (which was already being done anyway with the balances).

* feat: Take a struct of vm_attributes instead of just adapter path

So that we don't need to change the interface in the future

* chore: remove comment - we are no longer blocked

This is fixed with the latest change to pass adapter contract to decoder

* feat: Use DecoderContext instead of VMAttributes

- More easily extendable
- Doesn't break the existing decoder interface

---------

Co-authored-by: TAMARA LIPOWSKI <data.lipowski@extaccount.com>
2025-09-08 14:34:27 -04:00
adrian
ae6f5e0a12 feat: return errors instead of doing asserts 2025-09-03 08:55:29 -04:00
adrian
87c9a8b60f test: check that all the existing substreams integration test files can be parsed 2025-09-03 08:55:29 -04:00
TAMARA LIPOWSKI
10fceb1607 fix: Don't error if stream ends
tycho-indexer may exit with non-zero status when stream ends normally

Not entirely confident in this commit - please double-check
2025-09-03 08:55:29 -04:00
adrian
8205c2a8d5 feat: handle errors in protocol-testing 2025-09-03 08:55:29 -04:00
adrian
f3500dff44 feat: update tycho deps and upgrade code 2025-09-03 08:55:29 -04:00
Thales
c9b2c655dd feat: build snapshot message from rpc requests 2025-09-03 08:55:29 -04:00
Thales Lima
052d11b759 feat: Add tokens balance check and component diff 2025-09-03 08:55:29 -04:00
Thales Lima
2c8e349280 feat: Add methods to fetch state from Tycho RPC 2025-09-03 08:55:29 -04:00
Thales Lima
160523a888 feat: add test runner structure 2025-09-03 08:55:29 -04:00
Thales Lima
e3ae70ab43 feat: add Tycho Runner to run separate tycho processes 2025-09-03 08:55:29 -04:00