Diana Carvalho feb91cc639 feat: Implement SplitSwapStrategyEncoder
The strategy works as follows:
- Manage approvals needed
- Compute min amount (if check amount is any):
  - if slippage is defined, apply slippage on the expected amount and take the min value between that and the check amount
  - if not, it's just the check amount
- Iterate through the swaps
  - call the corresponding swap encoder to encode the swap
  - add swap header (tokens indexes and split)
  - ple encode the swaps
- Add extra inputs (amounts, token addresses, min amount, (un)wrap, number of tokens and receiver)

Misc:
- Move executor address and selector encoding inside the SwapEncoder
- Add default executor_selector to SwapEncoder
- Pass router address inside the SplitSwapStrategyEncoder
- Move Permit2 inside the SplitSwapStrategyEncoder. It is a responsibility and a specificity of the strategy to need permit2 approvals

--- don't change below this line ---
ENG-4081 Took 1 hour 21 minutes
2025-01-30 11:23:32 +00:00
2025-01-27 22:54:56 +05:30
2025-01-28 18:57:59 +05:30
2025-01-28 23:21:22 +05:30
2025-01-28 18:42:03 +00:00
2025-01-28 18:42:03 +00:00
2025-01-28 18:42:03 +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%