Diana Carvalho 23875b8b02 feat: Refactor Registries
Interface changes:
- Rename StrategySelector to StrategyEncoderRegistry
- Implement clone for SwapEncoder

The StrategyEncoderRegistry needs to be initialised at the highest level and the passed to the TychoEncoder.
The TychoEncoder doesn't hold the chain nor the signer_pk as attributes anymore
The StrategyEncoderRegistry does:
- Initialises the SwapEncoderRegistry
- Initialises all the strategies and saves them in a HashMap
- Later, the TychoEncoder only reads from this hashmap

The StrategyEncoder now each holds a SwapEncoderRegistry as an attribute and they use this to get the correct SwapEncoder instead of reading from the global SWAP_ENCODER_REGISTRY

Simplified the SwapEncoderRegistry to not need a Config (everything is done inside itself)
All SwapEncoders implement clone

Took 2 hours 29 minutes

Took 11 seconds

Took 2 minutes
2025-02-04 17:30:10 +00:00
2025-01-27 22:54:56 +05:30
2025-02-04 17:30:10 +00:00
2025-01-28 18:57:59 +05:30
2025-01-28 23:21:22 +05:30
2025-02-04 16:54:33 +00:00
2025-02-04 16:54:33 +00:00
2025-02-04 16:54:33 +00:00
2025-01-13 11:28:27 +00:00
2025-01-24 17:03:00 +00:00

Tycho Execution

TODO: add banner

Tycho Execution makes it easy to trade on different DEXs by handling the complex encoding for you. Instead of creating custom code for each DEX, you get a simple, ready-to-use tool that generates the necessary data to execute trades. Its designed to be safe, straightforward, and quick to set up, so anyone can start trading without extra effort.

Contract Analysis

We use Slither to detect any potential vulnerabilities in our contracts.

To run locally, simply install Slither in your conda env and run it inside the foundry directory.

conda create --name tycho-execution python=3.10
conda activate tycho-execution

pip install slither-analyzer
cd foundry
slither .
Description
No description provided
Readme 6 MiB
Languages
Rust 90.1%
JavaScript 5.9%
Python 3.6%
Solidity 0.4%