Commit Graph

1315 Commits

Author SHA1 Message Date
Tamara
f615844480 Merge pull request #73 from propeller-heads/router/tnl/ENG-4253-usv4-integration
feat: UniswapV4 integration test and fixes
2025-02-20 12:36:46 -05:00
Tamara
cae05e837e Merge branch 'main' into router/tnl/ENG-4253-usv4-integration 2025-02-20 12:34:47 -05:00
TAMARA LIPOWSKI
2c92596681 chore: merge main 2025-02-20 12:33:59 -05:00
semantic-release-bot
aae95ec4bd chore(release): 0.46.1 [skip ci]
## [0.46.1](https://github.com/propeller-heads/tycho-execution/compare/0.46.0...0.46.1) (2025-02-20)
2025-02-20 17:31:23 +00:00
Harsh Vardhan Roy
2d10dcf4b9 Merge pull request #76 from propeller-heads/encoder/hr/ENG-4257-switch-to-models-chain 2025-02-20 22:59:24 +05:30
TAMARA LIPOWSKI
67ce2f71de Merge remote-tracking branch 'origin/router/tnl/ENG-4253-usv4-integration' into router/tnl/ENG-4253-usv4-integration 2025-02-20 12:26:47 -05:00
TAMARA LIPOWSKI
447195a4a8 test: fix test after latest changes 2025-02-20 12:26:17 -05:00
Tamara
be21d10a41 Merge branch 'main' into router/tnl/ENG-4253-usv4-integration 2025-02-20 12:16:07 -05:00
TAMARA LIPOWSKI
d65d575003 feat: Don't encode min amount for USV4
We aren't checking min amount for any other executor. This would be overkill (since we are already checking in the main router) and also inconsistent.
2025-02-20 12:15:40 -05:00
royvardhan
29bc662ba9 refactor: use chain and protocol component from tycho_core::models 2025-02-20 22:36:50 +05:30
TAMARA LIPOWSKI
9eda00cbb6 chore: PR comments 2025-02-20 11:51:08 -05:00
TAMARA LIPOWSKI
bb8778b2bf chore: merge main 2025-02-20 11:45:18 -05:00
semantic-release-bot
9693856dca chore(release): 0.46.0 [skip ci]
## [0.46.0](https://github.com/propeller-heads/tycho-execution/compare/0.45.0...0.46.0) (2025-02-20)

### Features

* add native and weth addresses for supported networks ([83f1955](83f1955094))

### Bug Fixes

* add decode_hex to models ([7dd59db](7dd59dbe34))
2025-02-20 16:40:55 +00:00
Harsh Vardhan Roy
7e87aa6fef Merge pull request #74 from propeller-heads/encoder/hr/ENG-4247-support-multichain 2025-02-20 22:08:58 +05:30
royvardhan
7dd59dbe34 fix: add decode_hex to models 2025-02-20 21:54:33 +05:30
royvardhan
dc38f108c3 refactor: simplify chain object and move decode_hex to utils 2025-02-20 21:54:33 +05:30
royvardhan
83f1955094 feat: add native and weth addresses for supported networks 2025-02-20 21:54:33 +05:30
semantic-release-bot
a5624be0e7 chore(release): 0.45.0 [skip ci]
## [0.45.0](https://github.com/propeller-heads/tycho-execution/compare/0.44.0...0.45.0) (2025-02-20)

### Features

* TychoRouter swap method not requiring Permit2 ([c3482a5](c3482a509a))
2025-02-20 15:55:14 +00:00
Tamara
8783d72a3f Merge pull request #72 from propeller-heads/router/tnl/ENG-4254-non-permit2-methods
feat: TychoRouter swap method not requiring Permit2
2025-02-20 10:52:40 -05:00
TAMARA LIPOWSKI
2d267792f3 docs: Fixed outdated comments
Some copypastas, some other improvements.
2025-02-20 10:46:27 -05:00
TAMARA LIPOWSKI
45fdfc708d feat: UniswapV4 integration test and fixes
- Biggest issue: We must encode the executor address, not the router address, in the USV4 swap encoder
2025-02-19 18:12:11 -05:00
TAMARA LIPOWSKI
81c8a04cbb fix: Pass proper group tokens in EncodingContext...
Also:
- Remove amount_out_min. Our reasoning is that we perform high-level final amount checks anyway (and expect users to do the same). Lower-level USV4 min amount checks are redundant.
2025-02-19 16:27:56 -05:00
Tamara
8a8d15477c Merge branch 'main' into router/tnl/ENG-4254-non-permit2-methods 2025-02-19 16:16:45 -05:00
TAMARA LIPOWSKI
c3482a509a feat: TychoRouter swap method not requiring Permit2
- Assume the tokens have been transferred into our router beforehand.
2025-02-19 16:15:57 -05:00
semantic-release-bot
2d655b27fe chore(release): 0.44.0 [skip ci]
## [0.44.0](https://github.com/propeller-heads/tycho-execution/compare/0.43.0...0.44.0) (2025-02-19)

### Features

* add integration test for complex swaps ([5e9b388](5e9b38876e))
* add new attributes in encoding context, update usv4 swap encoder and tests ([1bfe656](1bfe656e6b))
* add single swap integration test for usv4 executor ([529456f](529456f40c))
* add usv4 swap encoder with single swap test ([789416b](789416b2cd))
* add util fns, change callback_selector to string, update first_swap check ([9219dd3](9219dd329d))
* early return in usv4 swap encoder for second swap, add utils ([f7ddace](f7ddace559))
* update test_encode_uniswap_v4_grouped ([baeebb9](baeebb9fe4))

### Bug Fixes

* update EncodingContext in strategy_encoder ([7f3aca9](7f3aca90ba))
2025-02-19 20:29:23 +00:00
Tamara
1c56431690 Merge pull request #69 from propeller-heads/router/hr/ENG-4239-usv4-swap-encoder
feat: usv4 swap encoder
2025-02-19 15:27:24 -05:00
Harsh Vardhan Roy
6c4bb376fd Merge branch 'main' into router/hr/ENG-4239-usv4-swap-encoder 2025-02-20 00:07:43 +05:30
royvardhan
c472cda697 refactor: make group tokens and amount out min non optional 2025-02-20 00:05:47 +05:30
royvardhan
e2a2aaaad1 refactor: usv4 swap encoder test, encoder 2025-02-19 23:59:27 +05:30
royvardhan
1e9b411ca5 chore: rm redundant pool params encoder fn 2025-02-19 23:07:26 +05:30
semantic-release-bot
21fcb85b03 chore(release): 0.43.0 [skip ci]
## [0.43.0](https://github.com/propeller-heads/tycho-execution/compare/0.42.0...0.43.0) (2025-02-19)

### Features

* Add methods to builder to set chain and strategy independently ([684de4f](684de4fa60))
* Create a EVMEncoderBuilder ([03506fa](03506fabe9))
* Remove direct_execution from Solution ([8537d27](8537d27469))

### Bug Fixes

* After rebase fixes ([4f29022](4f29022c42))
* After rebase fixes ([30b5ab9](30b5ab9025))
2025-02-19 17:18:03 +00:00
dianacarvalho1
75ed80b582 Merge pull request #70 from propeller-heads/encoding/dc/ENG-4246-tycho-encoder-builder
feat: Tycho encoder builder
2025-02-19 17:16:14 +00:00
Diana Carvalho
4f29022c42 fix: After rebase fixes
--- don't change below this line ---
ENG-4246 Took 2 minutes
2025-02-19 17:05:46 +00:00
Diana Carvalho
359bb806f7 docs: Add docstrings to EVMEncoderBuilder
--- don't change below this line ---
ENG-4246 Took 41 minutes
2025-02-19 17:03:25 +00:00
Diana Carvalho
684de4fa60 feat: Add methods to builder to set chain and strategy independently
--- don't change below this line ---
ENG-4246 Took 15 minutes
2025-02-19 17:03:25 +00:00
Diana Carvalho
4741e628b8 chore: Simplify tycho-encode
Don't have a cli as a lib. Move that directly inside tycho-encode.rs for simplicity

--- don't change below this line ---
ENG-4246 Took 29 minutes
2025-02-19 17:03:25 +00:00
Diana Carvalho
d9d56e7a8c chore: Rename signer_pk to swapper_pk
--- don't change below this line ---
ENG-4246 Took 15 minutes
2025-02-19 17:03:25 +00:00
Diana Carvalho
8794dc674a chore: Delete unnecessary empty file
--- don't change below this line ---
ENG-4246 Took 3 minutes
2025-02-19 17:03:25 +00:00
Diana Carvalho
30b5ab9025 fix: After rebase fixes
Put the strategy_encoders.rs back inside the strategy_encoder directory

--- don't change below this line ---
ENG-4246 Took 3 minutes

Took 12 seconds
2025-02-19 17:03:22 +00:00
Diana Carvalho
8537d27469 feat: Remove direct_execution from Solution
This is handled when creating a new TychoEncoder

--- don't change below this line ---
ENG-4246 Took 4 minutes
2025-02-19 17:03:13 +00:00
Diana Carvalho
03506fabe9 feat: Create a EVMEncoderBuilder
- It has two three methods to be created:
  - new: where the user can pass any custom StrategyEncoder
  - tycho_router: where the default SplitSwapStrategyEncoder with Tycho Router will be used
  - direct_execution: where the user can encode only the execution data and integrate this into their workflow.
- This replaces StrategyEncoderRegistry
- EVMTychoEncoder holds directly the StrategyEncoder and not the registry (per one init of the EVMTychoEncoder there is only one possible StrategyEncoder)
- Update quickstart
- Update bin (add subcommands to bin to create a different instance of EVMEncoderBuilder)

--- don't change below this line ---
ENG-4246 Took 33 minutes

Took 38 seconds

Took 38 seconds
2025-02-19 17:03:10 +00:00
royvardhan
7f3aca90ba fix: update EncodingContext in strategy_encoder 2025-02-19 21:50:43 +05:30
Harsh Vardhan Roy
78bc045d14 Merge branch 'main' into router/hr/ENG-4239-usv4-swap-encoder 2025-02-19 21:45:30 +05:30
royvardhan
f7ddace559 feat: early return in usv4 swap encoder for second swap, add utils 2025-02-19 21:42:13 +05:30
semantic-release-bot
f76e320ff7 chore(release): 0.42.0 [skip ci]
## [0.42.0](https://github.com/propeller-heads/tycho-execution/compare/0.41.0...0.42.0) (2025-02-19)

### Features

* Support swap grouping for executor strategy ([ac83117](ac831176d4))
2025-02-19 15:31:58 +00:00
Tamara
f6c33da13c Merge pull request #71 from propeller-heads/encoding/tnl/ENG-4248-direct-execution-usv4
feat: Support swap grouping optimizations for direct execution
2025-02-19 10:29:17 -05:00
TAMARA LIPOWSKI
5ab233ed0a refactor: PR comments
- rename utils.rs to group_swaps.rs
- extend instead of push in order to avoid calling abi_encode_packed again
2025-02-19 10:25:16 -05:00
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