Commit Graph

115 Commits

Author SHA1 Message Date
royvardhan
5e9b38876e feat: add integration test for complex swaps 2025-02-19 20:32:55 +05:30
royvardhan
baeebb9fe4 feat: update test_encode_uniswap_v4_grouped 2025-02-19 19:08:06 +05:30
royvardhan
5b183b6690 chore: update executor_selector to swap_selector in swap encoder trait and attribute 2025-02-19 19:01:32 +05:30
royvardhan
9219dd329d feat: add util fns, change callback_selector to string, update first_swap check 2025-02-19 18:56:32 +05:30
royvardhan
1bfe656e6b feat: add new attributes in encoding context, update usv4 swap encoder and tests 2025-02-19 08:39:21 +05:30
royvardhan
789416b2cd feat: add usv4 swap encoder with single swap test 2025-02-18 20:58:00 +05:30
Diana Carvalho
0c9050cf79 fix: Uniswap v3 pool fee is big endian, not little endian
--- don't change below this line ---
ENG-4088 Took 18 minutes


Took 17 seconds
2025-02-07 12:16:46 +00:00
Diana Carvalho
164d062ad9 fix(univ3): The fee keyword is just "fee" and not "pool_fee"
--- don't change below this line ---
ENG-4088 Took 1 minute
2025-02-07 12:16:46 +00:00
TAMARA LIPOWSKI
44e8e0bb96 docs: Address comments, make clippy happy 2025-02-05 15:44:27 -05:00
TAMARA LIPOWSKI
52cce5f5c6 docs: (WIP) In-code docs for encoders
- TODO double check all this, look for missing docs
2025-02-04 18:14:32 -05:00
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
royvardhan
6333072178 feat: add swap encoder test in balancer v2 executor 2025-02-04 19:56:52 +05:30
Diana Carvalho
a28b54888e fix: Post merge's fixes
Because of the renaming, git couldn't identify the new files and handle the conflicts gracefully.
Copied implementation for ExecutorStrategyEncoder from main

Rollbacked on decision to encode the executor address and selector inside the SwapEncoders. This is only necessary for certain strategies. So it should be done at the strategy level

--- don't change below this line ---
ENG-4081 Took 35 minutes
2025-01-30 19:38:22 +00:00
Diana Carvalho
8fd3deba70 Merge branch 'refs/heads/main' into encoding/dc/ENG-4081-split-swap-strategy
# Conflicts:
#	src/encoding/evm/router_encoder.rs
#	src/encoding/evm/strategy_encoder/encoder.rs
#	src/encoding/evm/strategy_encoder/selector.rs
#	src/encoding/strategy_encoder.rs

Took 2 minutes
2025-01-30 16:08:08 +00:00
Diana Carvalho
0e70e827a0 chore: Rename encoder to strategy/swap_encoder
This was confusing me when I had all of them open at the same time. Better to be extra explicit

--- don't change below this line ---
ENG-4081 Took 2 minutes
2025-01-30 13:19:09 +00:00