Commit Graph

302 Commits

Author SHA1 Message Date
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
semantic-release-bot
25a26f21be chore(release): 0.30.1 [skip ci]
## [0.30.1](https://github.com/propeller-heads/tycho-execution/compare/0.30.0...0.30.1) (2025-02-04)

### Bug Fixes

* deprecated signature ([576f89d](576f89d24c))
2025-02-04 18:17:33 +00:00
Harsh Vardhan Roy
873b6ef961 Merge pull request #50 from propeller-heads/encoder/hr/bump-alloy
fix: use PrimitiveSignature instead of deprecated Signature
2025-02-04 23:45:14 +05:30
royvardhan
576f89d24c fix: deprecated signature 2025-02-04 23:30:23 +05:30
semantic-release-bot
6557ede64b chore(release): 0.30.0 [skip ci]
## [0.30.0](https://github.com/propeller-heads/tycho-execution/compare/0.29.1...0.30.0) (2025-02-04)

### Features

* Refactor Registries ([23875b8](23875b8b02))
2025-02-04 17:36:31 +00:00
dianacarvalho1
ce2179e16d Merge pull request #47 from propeller-heads/encoding/dc/refactor-init
feat: Refactor Registries
2025-02-04 17:34:31 +00:00
Diana Carvalho
79f513c76b chore: After rebase with master fixes
Took 2 minutes
2025-02-04 17:32:14 +00:00
Diana Carvalho
c89f46a2e6 chore: Rename registry -> swap_encoder_registry
Took 14 minutes

Took 8 seconds
2025-02-04 17:30:19 +00: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
semantic-release-bot
a92ba96d86 chore(release): 0.29.1 [skip ci]
## [0.29.1](https://github.com/propeller-heads/tycho-execution/compare/0.29.0...0.29.1) (2025-02-04)

### Bug Fixes

* Fix bug with token indexing when wrapping/unwrapping ([3f4e27a](3f4e27a348))
* test fixes after merge ([ff283bc](ff283bc333))
2025-02-04 16:54:33 +00:00
Tamara
47a54ebc26 Merge pull request #46 from propeller-heads/encoding/tnl/fix-wrapping-indices
fix: Fix bug with token indexing when wrapping/unwrapping
2025-02-04 11:52:14 -05:00
TAMARA LIPOWSKI
ff283bc333 fix: test fixes after merge 2025-02-04 11:49:27 -05:00
Tamara
e8f22a2eee Merge branch 'main' into encoding/tnl/fix-wrapping-indices 2025-02-04 11:47:58 -05:00
semantic-release-bot
e21a8de6c9 chore(release): 0.29.0 [skip ci]
## [0.29.0](https://github.com/propeller-heads/tycho-execution/compare/0.28.0...0.29.0) (2025-02-04)

### Features

* add swap encoder test in balancer v2 executor ([6333072](6333072178))

### Bug Fixes

* executor test naming ([e6310d6](e6310d65d1))
2025-02-04 15:46:38 +00:00
Harsh Vardhan Roy
43772b61cf Merge pull request #49 from propeller-heads/router/hr/ENG-4035-2-Add-Encoded-Test
feat: add swap encoder test in balancer v2 executor
2025-02-04 21:14:32 +05:30
Harsh Vardhan Roy
409d5a61cf Merge branch 'main' into router/hr/ENG-4035-2-Add-Encoded-Test 2025-02-04 21:10:54 +05:30
semantic-release-bot
00171ea72e chore(release): 0.28.0 [skip ci]
## [0.28.0](https://github.com/propeller-heads/tycho-execution/compare/0.27.0...0.28.0) (2025-02-04)

### Features

* Tycho encoder validation ([4bc6159](4bc615913e))

### Bug Fixes

* test_validate_fails_for_unwrap_wrong_last_swap ([0660321](06603210bc))
2025-02-04 15:37:28 +00:00
Tamara
9980170fe5 Merge branch 'main' into encoding/tnl/fix-wrapping-indices 2025-02-04 10:35:53 -05:00
Tamara
1dbeebb77b Merge pull request #43 from propeller-heads/router/tnl/ENG-4201-validation
feat: Tycho encoder validation
2025-02-04 10:35:37 -05:00
TAMARA LIPOWSKI
06603210bc fix: test_validate_fails_for_unwrap_wrong_last_swap
ETH was the given token not the checked token, which was wrong.
2025-02-04 10:28:16 -05:00
royvardhan
e6310d65d1 fix: executor test naming 2025-02-04 20:56:21 +05:30
TAMARA LIPOWSKI
7482d228f2 chore: merge main 2025-02-04 10:04:42 -05:00
TAMARA LIPOWSKI
f873bb5187 refactor: check given/checked tokens before swap tokens
It's a more intuitive order, since these are higher-level attributes.

Also remove the validation from the trait - it doesn't have to be part of the trait.
2025-02-04 10:01:38 -05:00
royvardhan
6333072178 feat: add swap encoder test in balancer v2 executor 2025-02-04 19:56:52 +05:30
semantic-release-bot
580a86bc0f chore(release): 0.27.0 [skip ci]
## [0.27.0](https://github.com/propeller-heads/tycho-execution/compare/0.26.0...0.27.0) (2025-02-04)

### Features

* Add complex swap to quickstart example ([80454f0](80454f012d))
* Add simple quickstart example ([84d162d](84d162d418))

### Bug Fixes

* bring back one #[allow(dead_code)] ([ae315b4](ae315b452a))
* Calculate min_amount_out correctly and extend test to prove this ([de1c782](de1c782bc1))
2025-02-04 09:27:05 +00:00
dianacarvalho1
8a8abf8d86 Merge pull request #42 from propeller-heads/encoding/dc/ENG-4087-example
feat: Example
2025-02-04 09:22:50 +00:00
dianacarvalho1
5143b16937 Merge branch 'main' into encoding/dc/ENG-4087-example 2025-02-04 09:19:55 +00:00
TAMARA LIPOWSKI
3f4e27a348 fix: Fix bug with token indexing when wrapping/unwrapping
The issue was that we weren't indexing WETH properly since it was looking for the WETH address in tokens, when only native ETH would be in there

- Found by adding integration tests for the wrapping and unwrapping cases.
2025-02-03 22:46:20 -05:00
TAMARA LIPOWSKI
4bc615913e feat: Tycho encoder validation
Validates:
- Proper sequence of input, output, and first/last swap tokens for wrap/unwrap cases
- All solutions contain at least one swap
- Only exact in solutions are inputted (since we don't yet support exact out)
2025-02-03 17:04:00 -05:00
semantic-release-bot
c4eb7b03b2 chore(release): 0.26.0 [skip ci]
## [0.26.0](https://github.com/propeller-heads/tycho-execution/compare/0.25.3...0.26.0) (2025-02-03)

### Features

* Verify that no amount in is left in the router ([0860d67](0860d67d7a))
2025-02-03 17:43:04 +00:00
dianacarvalho1
14d205108f Merge pull request #44 from propeller-heads/router/dc/check-amount-in
feat: Verify that no amount in is left in the router.
2025-02-03 17:38:57 +00:00
Diana Carvalho
2aa1df9b0d chore: Move methods around and improve docstrings
--- don't change below this line ---
ENG-4087 Took 30 seconds


Took 5 seconds
2025-02-03 16:52:31 +00:00
Diana Carvalho
0860d67d7a feat: Verify that no amount in is left in the router
--- don't change below this line ---
ENG-4087 Took 1 hour 41 minutes


Took 2 minutes
2025-02-03 16:52:26 +00:00
Diana Carvalho
80454f012d feat: Add complex swap to quickstart example
--- don't change below this line ---
ENG-4087 Took 16 minutes
2025-02-03 10:55:37 +00:00
Diana Carvalho
ae315b452a fix: bring back one #[allow(dead_code)]
--- don't change below this line ---
ENG-4087 Took 3 minutes
2025-01-31 18:45:29 +00:00
Diana Carvalho
84d162d418 feat: Add simple quickstart example
--- don't change below this line ---
ENG-4087 Took 14 seconds
2025-01-31 18:42:23 +00:00
Diana Carvalho
de1c782bc1 fix: Calculate min_amount_out correctly and extend test to prove this
--- don't change below this line ---
ENG-4087 Took 1 minute
2025-01-31 18:42:09 +00:00
Diana Carvalho
1a8e0f102c chore: Make objects public
Remove dead_code check and leftover file after a merge
Improve some docstrings

--- don't change below this line ---
ENG-4087 Took 1 hour 39 minutes
2025-01-31 18:40:59 +00:00
semantic-release-bot
9d32291c97 chore(release): 0.25.3 [skip ci]
## [0.25.3](https://github.com/propeller-heads/tycho-execution/compare/0.25.2...0.25.3) (2025-01-31)

### Bug Fixes

* transfer ETH if tokenOut is ETH ([3245ea7](3245ea7295))
2025-01-31 17:23:04 +00:00
Tamara
2e9be09509 Merge pull request #40 from propeller-heads/router/dc/return-eth
fix: transfer ETH if tokenOut is ETH
2025-01-31 12:20:34 -05:00
Tamara
443b418099 Merge branch 'main' into router/dc/return-eth 2025-01-31 12:19:29 -05:00
semantic-release-bot
db31cde6b1 chore(release): 0.25.2 [skip ci]
## [0.25.2](https://github.com/propeller-heads/tycho-execution/compare/0.25.1...0.25.2) (2025-01-31)

### Bug Fixes

* Accidentally changed wrong test's calldata ([faacd3f](faacd3f25c))
* Expect decimal during encoding, add assert to test ([5a81ed6](5a81ed6be5))
2025-01-31 17:18:47 +00:00
Tamara
c5e40f2933 Merge branch 'main' into router/dc/return-eth 2025-01-31 12:17:30 -05:00
Tamara
8a97ad5e15 Merge pull request #41 from propeller-heads/router/tnl/ENG-4052-integration-test-split
feat: Router split swap integration test
2025-01-31 12:16:16 -05:00
TAMARA LIPOWSKI
faacd3f25c fix: Accidentally changed wrong test's calldata 2025-01-31 12:11:24 -05:00
TAMARA LIPOWSKI
5a81ed6be5 fix: Expect decimal during encoding, add assert to test
- The util function was previously expecting a value between 0 and 100, which we felt was a weird UI.
- In integration test - make sure we spent all input tokens
2025-01-31 12:04:53 -05:00
dianacarvalho1
81e0859c10 Merge branch 'main' into router/dc/return-eth 2025-01-31 16:47:53 +00:00
TAMARA LIPOWSKI
ff3c7aa629 test: Split swap integration test 2025-01-31 11:34:50 -05:00
Diana Carvalho
3245ea7295 fix: transfer ETH if tokenOut is ETH
And not only if unwrapETH is true
There might be pools that deal in ETH directly

--- don't change below this line ---
ENG-4081 Took 7 minutes
2025-01-31 15:58:23 +00:00
semantic-release-bot
b0b24edbd6 chore(release): 0.25.1 [skip ci]
## [0.25.1](https://github.com/propeller-heads/tycho-execution/compare/0.25.0...0.25.1) (2025-01-31)

### Bug Fixes

* Fix selector - shouldn't contain spaces ([5d6f0c1](5d6f0c1673))
* Fix token index order in strategy encoding. ([c85c353](c85c353e34))
2025-01-31 15:40:53 +00:00