Commit Graph

703 Commits

Author SHA1 Message Date
TAMARA LIPOWSKI
c4455dcabb refactor: Separate test files for split/sequential/single
- Add more test cases for sequential swap and single swap to match those of split swap (fee, slippage), to catch errors more easily if someone makes a small code change to either the single or sequential methods
- Excluded USV3 and USV4 tests on sequential and single swap, since these tests were more to test USV3 and USV4 executor functionality than the high level sswap methods - they should already be sufficiently tested.
- Remove `testSplitSwapSimple` and `testSplitSwapSingleUSV3` since this is already tested by several other high-level methods (see single USV3 and single USV4 tests). We should prioritize integration-testing public methods over private methods.
2025-04-23 12:26:31 +01:00
TAMARA LIPOWSKI
1dad4afb6b feat: Decode single and sequential swaps in LibSwap
- The old way was useful when we just had split swaps. Unfortunately, we now have split, sequential, and single swaps, which don't always require token indices or split percentages, so we need to decode differently for each case.
2025-04-23 12:26:31 +01:00
TAMARA LIPOWSKI
3ae9d3ad67 feat: Add sequential swap methods
- Add some basic tests (will add more in next commits)
- Adapt sequential tests (which originally tested split swap)
- Adapt a forgotten single swap test

TODO:
- Fix encoding of single and sequential swaps to not expect the split sawp format every time (the split and the token indices are not necessary and consume unnecessary gas).
2025-04-23 12:26:31 +01:00
TAMARA LIPOWSKI
8f2346330a fix: fix slither CI action
- Need to manually install foundry and compile the project, or else it attempts to install the latest foundry version, which fails due to GLIBC not being found
2025-04-23 12:26:31 +01:00
TAMARA LIPOWSKI
49e0c49828 chore: (single swap) remove unnecessary cycle check
- It's not possible to have a single cyclical swap.
2025-04-23 12:26:31 +01:00
TAMARA LIPOWSKI
64345663d0 feat: Single swap methods.
- Remove duplicate test case for single swp with permit2. This test came from the days when we could still have a 0 minimum amount.
2025-04-23 12:26:31 +01:00
TAMARA LIPOWSKI
65178681e0 docs: Rename to splitSwap in helper method docs too
Took 4 minutes
2025-04-23 12:26:31 +01:00
TAMARA LIPOWSKI
7fc008a718 feat: Rename split swap interfaces
- In preparation for adding single and sequential swap methods.
2025-04-23 12:25:36 +01:00
semantic-release-bot
8539b733db chore(release): 0.66.0 [skip ci]
## [0.66.0](https://github.com/propeller-heads/tycho-execution/compare/0.65.1...0.66.0) (2025-03-14)

### Features

* Add check to don't support cyclical swaps with native actions ([27c9c53](27c9c53889))
* Add validation for cyclical trades ([f62a9d2](f62a9d28c0))

### Bug Fixes

* Add individual tests for each case ([e96bcdf](e96bcdfd0f))
* In test asset, use 0 for the last split, and not 0.5 ([0aba7ed](0aba7edf83))
2025-03-14 11:35:17 +00:00
dianacarvalho1
7124ed4f18 Merge pull request #114 from propeller-heads/encoding/dc/ENG-4331-cyclical-swap-validation
feat: Add validation for cyclical trades
2025-03-14 11:32:29 +00:00
Diana Carvalho
e96bcdfd0f fix: Add individual tests for each case
(split output and native action)

--- don't change below this line ---
ENG-4331 Took 6 minutes
2025-03-14 11:30:19 +00:00
Diana Carvalho
27c9c53889 feat: Add check to don't support cyclical swaps with native actions
Remove unnecessary tests and improve comments

--- don't change below this line ---
ENG-4331 Took 30 minutes
2025-03-13 17:34:50 +00:00
Diana Carvalho
0aba7edf83 fix: In test asset, use 0 for the last split, and not 0.5
--- don't change below this line ---
ENG-4331 Took 5 minutes
2025-03-13 16:50:39 +00:00
Diana Carvalho
f62a9d28c0 feat: Add validation for cyclical trades
We only support cyclical trades when the repeated token is the first and the last token in the swap. We don't support cycles in between

--- don't change below this line ---
ENG-4331 Took 2 hours 4 minutes

(cherry picked from commit 55ffa4eb45)

Took 5 minutes


Took 2 minutes
2025-03-13 16:30:54 +00:00
semantic-release-bot
c7c46ba671 chore(release): 0.65.1 [skip ci]
## [0.65.1](https://github.com/propeller-heads/tycho-execution/compare/0.65.0...0.65.1) (2025-03-13)

### Reverts

* Revert "feat: Add validation for cyclical trades" ([3d7dcef](3d7dcef1bd))
2025-03-13 16:28:34 +00:00
Diana Carvalho
3d7dcef1bd Revert "feat: Add validation for cyclical trades"
This reverts commit 55ffa4eb45.

Took 5 minutes

Took 2 minutes

# Commit time for manual adjustment:
# Took 2 minutes
2025-03-13 16:26:06 +00:00
semantic-release-bot
61eda0f25d chore(release): 0.65.0 [skip ci]
## [0.65.0](https://github.com/propeller-heads/tycho-execution/compare/0.64.0...0.65.0) (2025-03-13)

### Features

* Add validation for cyclical trades ([55ffa4e](55ffa4eb45))
2025-03-13 16:15:25 +00:00
Diana Carvalho
55ffa4eb45 feat: Add validation for cyclical trades
We only support cyclical trades when the repeated token is the first and the last token in the swap. We don't support cycles in between

--- don't change below this line ---
ENG-4331 Took 2 hours 4 minutes
2025-03-13 16:13:28 +00:00
semantic-release-bot
d7244ada8c chore(release): 0.64.0 [skip ci]
## [0.64.0](https://github.com/propeller-heads/tycho-execution/compare/0.63.0...0.64.0) (2025-03-13)

### Features

* update tycho-core to 0.61.1 ([53b8c6a](53b8c6afee))
2025-03-13 09:12:16 +00:00
Louise Poole
e55f63909c Merge pull request #113 from propeller-heads/lp/update-tycho-core
feat: update tycho-core to 0.61.1
2025-03-13 11:08:46 +02:00
Louise Poole
53b8c6afee feat: update tycho-core to 0.61.1 2025-03-13 10:45:45 +02:00
Harsh Vardhan Roy
9f2904f454 Merge pull request #108 from propeller-heads/encoder/hr/ENG-4302-cyclic-swap-encoding 2025-03-12 08:50:01 +05:30
royvardhan
b0e0c6d490 test: update cyclic swap encoding test asserts 2025-03-12 00:49:42 +05:30
royvardhan
ec26890d00 test: add assert in cyclic swap encoding tests 2025-03-12 00:49:42 +05:30
royvardhan
eb4ce40f6e test: add testCyclicSwapUnwrapOutputIntegration in encoder and testCyclicSwapUnwrapOutputIntegration test 2025-03-12 00:49:42 +05:30
royvardhan
b7c1619796 docs: make cyclic test ref addresses lowercase 2025-03-12 00:49:42 +05:30
royvardhan
6c31906733 chore: cleanup 2025-03-12 00:49:42 +05:30
royvardhan
525560ea16 chore: cleanup 2025-03-12 00:49:42 +05:30
royvardhan
bd504a8fed test: update test_split_input_cyclic_swap to use usv2 in the last swap 2025-03-12 00:49:42 +05:30
royvardhan
0edc201f06 test: add test_split_output_cyclic_swap in encoder, and testCyclicSplitOutputSwapIntegration integration test 2025-03-12 00:49:42 +05:30
royvardhan
3a6e933ce9 test: fix test_split_input_cyclic_swap and testCyclicSplitSwapIntegration 2025-03-12 00:49:42 +05:30
royvardhan
0a0101cc4d test: add testCyclicSplitSwapIntegration 2025-03-12 00:49:42 +05:30
royvardhan
79d6c020fa misc: fix _swapChecked for cyclic swap, update encoder swap path validation, add cyclic sequesntial swap integration test 2025-03-12 00:49:42 +05:30
Louise Poole
eaafc0fa9a Merge pull request #109 from propeller-heads/lp/update-tycho
refactor: update tycho-core to 0.60.0
2025-03-11 12:52:20 +02:00
Louise Poole
271c522251 chore: update tycho-core to 0.60.0 2025-03-11 12:45:27 +02:00
semantic-release-bot
0a95fa83e7 chore(release): 0.63.0 [skip ci]
## [0.63.0](https://github.com/propeller-heads/tycho-execution/compare/0.62.0...0.63.0) (2025-03-10)

### Features

* add cyclicSwapAmountOut tracker in _swap, add split cylic tests ([4d67df4](4d67df4096))

### Bug Fixes

* amountConsumed check in _swapChecked for cyclic swap ([91f36fe](91f36fe328))
* remove amountIn addition to amountOut in _swap for cyclic swaps, add testCyclicSwapWithTwoPools test to verify ([57acbd5](57acbd58c5))
2025-03-10 18:10:17 +00:00
Harsh Vardhan Roy
a0305d853c Merge pull request #102 from propeller-heads/router/hr/ENG-4290-cyclic-swap
feat: Support cyclic swaps
2025-03-10 23:37:27 +05:30
royvardhan
91f36fe328 fix: amountConsumed check in _swapChecked for cyclic swap 2025-03-10 23:32:30 +05:30
Harsh Vardhan Roy
38cdf28e7e docs: update testSplitInputCyclicSwap
Co-authored-by: Tamara <tamara@datarevenue.com>
2025-03-10 23:25:38 +05:30
royvardhan
34d5ac6e1c test: update testSplitInputCyclicSwap to use all WETH for USDC 2025-03-10 22:20:13 +05:30
royvardhan
bd6f74ca9c docs: update docs at testSplitInputCyclicSwap and testSplitOutputCyclicSwap 2025-03-10 18:12:58 +05:30
royvardhan
bb10efc0cc docs: update docs at _swap and testSplitOutputCyclicSwap 2025-03-10 18:12:58 +05:30
royvardhan
4d67df4096 feat: add cyclicSwapAmountOut tracker in _swap, add split cylic tests 2025-03-10 18:12:58 +05:30
royvardhan
66c00df4f1 test: add testCyclicSplitSwap test and update var naming in testCyclicSequentialSwap 2025-03-10 18:12:58 +05:30
royvardhan
57acbd58c5 fix: remove amountIn addition to amountOut in _swap for cyclic swaps, add testCyclicSwapWithTwoPools test to verify 2025-03-10 18:12:58 +05:30
Alan Höng
5532c64d87 Merge pull request #107 from propeller-heads/audit
docs: Update Audit report
2025-03-08 20:26:12 -06:00
Markus
ef43f735d7 Update Audit report 2025-03-08 20:24:04 -06:00
Tamara
8390d293a3 Merge pull request #105 from propeller-heads/router/tnl/minor-min-amount-fixes
chore: remove unnecessary min amount check, doc fix
2025-03-06 10:56:03 -05:00
TAMARA LIPOWSKI
b74d4c9e25 chore: remove unnecessary min amount check, doc fix 2025-03-06 10:37:37 -05:00
Markus
dea58b56c5 Merge pull request #104 from propeller-heads/audit
feat: add audit report
2025-03-06 15:02:29 +00:00