Diana Carvalho
9f2184258a
feat: Refactor Curve Executor not to use the router
...
We don't need to use all the functionalities of the Curve Router, only the swap type 1 (exchange). By bypassing the router we can save gas on 2 token transfers and with smaller calldata
A nice side effect is that the executor is much more readable and understandable now
--- don't change below this line ---
ENG-4305 Took 2 hours 25 minutes
Took 12 seconds
2025-04-03 18:18:16 +01:00
Diana Carvalho
f468a7831a
fix: Improve curve executor tests and docstrings
...
--- don't change below this line ---
ENG-4305 Took 34 minutes
Took 8 seconds
2025-04-03 18:17:45 +01:00
royvardhan
3a08c0d71d
test: test two more pool types
2025-04-03 18:17:45 +01:00
royvardhan
9e2a9f5329
fix: resolve pr comments
...
Took 2 seconds
2025-04-03 18:17:45 +01:00
royvardhan
07d6323316
chore: fmt
2025-04-03 18:17:45 +01:00
royvardhan
826eca4a80
refactor: move swap params from interface to executor, add needsApproval
2025-04-03 18:17:45 +01:00
royvardhan
3054ca042b
chore: rename ethAddress to nativeToken, update tests
2025-04-03 18:17:45 +01:00
royvardhan
05ea2c7734
chore: cleanup
2025-04-03 18:17:45 +01:00
royvardhan
c3d36ae25f
test: add curve swap tests with pools from indexer
2025-04-03 18:17:45 +01:00
royvardhan
93bdc86dc6
feat: allow executor to do native swaps, add diff pool type tests
...
Took 4 seconds
2025-04-03 18:17:45 +01:00
royvardhan
7cde5130d6
feat: add curve executor with router tests
...
Took 36 minutes
Took 2 minutes
2025-04-03 18:17:45 +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
TAMARA LIPOWSKI
25cafa31e7
chore: forge fmt
2025-04-03 10:53:55 +02:00
Diana Carvalho
5336969df8
fix: Fix tests after cherry picking
...
--- don't change below this line ---
ENG-4411 Took 1 hour 9 minutes
Took 18 minutes
2025-04-02 16:13:58 +01:00
Diana Carvalho
6cdca8381e
feat: Fix rollFork usage for Ekubo test
...
- Created methods to deploy the router and the executors. Whenever we use rollFork we need to redeploy everything! Notice that the addresses will be different then!
- Created a test_executor_addresses.json to be used in the encoding tests, this way the calldata for the integration tests is already correct and we don't need to do any manual replacing (this was annoying). The addresses in this file match with the addresses used in the solidity tests
--- don't change below this line ---
ENG-4411 Took 1 hour 9 minutes
Took 28 minutes
Took 4 minutes
Took 45 minutes
2025-04-02 16:13:58 +01:00
TAMARA LIPOWSKI
28f9f244e6
fix: test setup fix after rebase
2025-03-31 17:54:35 +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
9fc99caf74
forge fmt
2025-03-26 16:57:43 +01:00
die-herdplatte
47d96c2347
Add integration test
2025-03-26 16:50:03 +01:00
die-herdplatte
261e2b2091
Merge remote-tracking branch 'upstream/main' into ekubo
2025-03-26 08:25:37 +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
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
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
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
TAMARA LIPOWSKI
09208b342a
test: Add testSwapCheckedUndefinedMinAmount
...
To check if the swap actually reverts when min amount is 0.
2025-03-05 13:06:06 -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
royvardhan
7833086425
fix: TychoRouter swap check test naming and docs
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
Harsh Vardhan Roy
013113c4d9
Merge branch 'main' into router/hr/ENG-4280-gas-test
2025-03-05 21:32:40 +05:30