TAMARA LIPOWSKI
3d01158bbb
chore: merge main
...
Took 3 minutes
2025-04-23 12:29:36 +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
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
TAMARA LIPOWSKI
9012d7b4d1
feat: deploy Ekubo gas optimizations
...
new executor and new router (since the executor is hardcoded for now).
2025-04-03 12:51:23 +02:00
die-herdplatte
5540503a59
forge fmt
2025-04-03 00:42:10 +07:00
die-herdplatte
4e34f45bf4
Remove balanceOf checks in EkuboExecutor & remove ICallback impl
2025-04-03 00:36:38 +07:00
TAMARA LIPOWSKI
e3d25fcd5e
feat: Update ekubo router address
...
- Both during encoding and hardcoded in the TychoRouter.
2025-04-02 00:10:21 +02:00
die-herdplatte
9256bf8742
Remove Ekubo executor support for partial swaps
...
Partial swaps would likely run out-of-gas anyway and removing the support saves a bit more gas
2025-04-01 14:00:48 +07:00
TAMARA LIPOWSKI
75516122e1
fix: support payCallback method for Ekubo
...
- depending on the pool, either lock or payCallback may be called.
2025-03-31 21:01:36 +02:00
TAMARA LIPOWSKI
c0068d456b
fix: Finalize ekubo executor address
2025-03-31 17:49:47 +02:00
TAMARA LIPOWSKI
c678f40057
fix: Take address for EkuboExecutor init
...
- To match the other executor inits and to not leak information about ICore into the deployment script.
- Also fix fork block of tests. This had been temporarily changed to test the Ekubo executor. For some reason, vm.rollFork is not working in this case. Skip the Ekubo integration test for now (we know it runs with the correct block, where the pool we call is actually already deployed)
2025-03-31 17:49:47 +02:00
TAMARA LIPOWSKI
b3078f9c7b
feat: Support Ekubo callback in TychoRouter
...
- add integration test
- cannot directly call _handleCallback from the locked method of the tycho router because of bytes memory to bytes callback conversion
- Rename to EkuboPoolKey because of conflict with USV4 pool key
- Bonus: fix bug where input token to swap method must be ERC20 (we should also support ETH)
2025-03-31 17:49:45 +02:00
Tamara
414a9609ec
Merge branch 'main' into router/tnl/ENG-4409-pancake-v3-callback
2025-03-31 17:44:27 +02:00
die-herdplatte
68a9198e9c
forge fmt
2025-03-29 10:32:22 +01:00
die-herdplatte
95e1bf1290
Fix wrong argument order
2025-03-29 10:29:21 +01:00
die-herdplatte
9fc99caf74
forge fmt
2025-03-26 16:57:43 +01:00
die-herdplatte
3e2e9308d4
Fix slither lints
2025-03-26 16:48:17 +01:00
die-herdplatte
261e2b2091
Merge remote-tracking branch 'upstream/main' into ekubo
2025-03-26 08:25:37 +01:00
TAMARA LIPOWSKI
c361e1515d
refactor: remove duplicate code
...
The callback verification was already implemented in _verifyPairAddress.
2025-03-25 17:50:25 +01:00
TAMARA LIPOWSKI
d582543057
feat: Pancakeswap V3 support
2025-03-25 17:50:25 +01:00
TAMARA LIPOWSKI
2a4ee88cad
feat: Support Pancakeswap v3 on ethereum
...
- Needed to take pool code init hash as input param for executors
- Added tests for ethereum. Will test base on-chain.
- Important note: Pancakeswap uses their deployer instead of their factory (this is a different address) for target verification.
2025-03-20 12:40:03 -04:00
die-herdplatte
05d6286921
Merge remote-tracking branch 'origin/main' into ekubo
2025-03-20 09:59:19 +01:00
die-herdplatte
3c982c5824
Ekubo integration
2025-03-20 09:58:40 +01:00
TAMARA LIPOWSKI
0a8a34be03
feat: Support sushiswap v2 and pancakeswap v2 on ethereum
...
- Needed to take pool code init hash as input param for executors
- Added tests for ethereum. Will test base on-chain.
2025-03-19 14:27:34 -04:00
TAMARA LIPOWSKI
a75dfd02ab
docs: Fix swap without permit2 doc
...
- We changed this to use a transferFrom
2025-03-16 00:18:37 -04:00
royvardhan
3a6e933ce9
test: fix test_split_input_cyclic_swap and 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
royvardhan
91f36fe328
fix: amountConsumed check in _swapChecked for cyclic swap
2025-03-10 23:32:30 +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
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
TAMARA LIPOWSKI
b74d4c9e25
chore: remove unnecessary min amount check, doc fix
2025-03-06 10:37:37 -05:00
Diana Carvalho
5c28d77f1d
feat: Check min amount out is not zero
...
Update tests
--- don't change below this line ---
ENG-4286 Took 57 minutes
Took 20 seconds
2025-03-05 17:53:51 +00:00
Harsh Vardhan Roy
2086484898
docs: remove unnecessary comment from swap
...
Co-authored-by: Tamara <tamara@datarevenue.com >
2025-03-05 22:23:16 +05:30
royvardhan
f853739a3d
feat: add transferFrom in swap and move core swap logic inside _swapChecked
2025-03-05 22:23:16 +05:30
royvardhan
a3bffd4f75
fix: add amountIn in error TychoRouter__AmountInDiffersFromConsumed
2025-03-05 00:45:22 +05:30
royvardhan
6f421eb374
fix: inequality check for amountConsumed and amountIn
2025-03-05 00:35:51 +05:30
TAMARA LIPOWSKI
33973a65b8
fix: make USV2 factory configurable in Executor
...
- This factory is not the same for Ethereum and Base, so Base txs were failing when verifying pool addresses.
- I've double checked that we don't have this problem for Balancer V2 - the vault address in the same on Base and on Ethereum Mainnet.
2025-02-27 23:15:08 -05:00
Diana Carvalho
59eb2195b6
feat: Change license to SPDX-License-Identifier: UNLICENSED everywhere
...
Remove unnecessary files
--- don't change below this line ---
ENG-4260 Took 13 minutes
2025-02-27 17:38:53 +00:00
royvardhan
0273f58274
fix: remove 0 amount check in _unwrapEth
2025-02-27 20:08:49 +05:30
Harsh Vardhan Roy
393ed61595
docs: update _unwrapEth docs
...
Co-authored-by: Tamara <tamara@datarevenue.com >
2025-02-27 20:08:49 +05:30
royvardhan
353861f738
refactor: update unwrapEth to only check 0 amount
2025-02-27 20:08:49 +05:30
royvardhan
7b0dd5872c
chore: merge main
2025-02-26 23:26:27 +05:30
royvardhan
0be69c9aea
refactor: check if amountIn was fully consumed based on balance changes
2025-02-26 19:04:26 +05:30
royvardhan
53d48f1bac
refactor: centralize swap logic to reduce duplication between swap and swapPermit2
2025-02-26 18:05:29 +05:30
dianacarvalho1
6008d5e836
Merge branch 'main' into router/dc/ENG-4260-improve-receive
2025-02-26 09:40:58 +00:00