Files
tycho-protocol-sdk/protocol-testing/Cargo.toml
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

33 lines
1.0 KiB
TOML

[package]
name = "protocol-testing"
version = "0.1.0"
edition = "2021"
[dependencies]
glob = "0.3.0"
miette = { version = "7.6.0", features = ["fancy"] }
# Logging & Tracing
tracing = "0.1.37"
tycho-simulation = { git = "https://github.com/propeller-heads/tycho-simulation.git", rev = "f73c2ef28328abdde791edf1fb21748f78dbee6a", features = ["evm"] }
num-bigint = "0.4"
num-traits = "0.2"
num-rational = "0.4.2"
# EVM dependencies
alloy = { version = "1.0.30", features = ["arbitrary", "json", "dyn-abi", "sol-types", "contract", "provider-http", "providers", "signer-local", "rpc-types-eth", "rpc-types-trace"] }
reqwest = { version = "0.12", features = ["json"] }
tokio = { version = "1", features = ["full"] }
serde_json = "1.0.140"
clap = "4.5.31"
figment = { version = "0.10.19", features = ["yaml"] }
serde = { version = "1.0.218", features = ["derive"] }
hex = "0.4.3"
tracing-subscriber = "0.3.19"
postgres = "0.19.10"
serde_yaml = "0.9.34"
dotenv = "0.15.0"
async-trait = "0.1.87"
colored = "3.0.0"
similar = "2.7.0"
termsize = "0.1.9"
itertools = "0.14.0"