Commit Graph

180 Commits

Author SHA1 Message Date
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
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
Diana Carvalho
db9c8cde5a fix: Make permit2 permit an action in the universal router
--- don't change below this line ---
ENG-4286 Took 1 hour 35 minutes
2025-03-03 18:33:22 +00:00
Harsh Vardhan Roy
d3e0e066fa Merge branch 'main' into router/hr/ENG-4280-gas-test 2025-03-01 00:11:34 +05:30
royvardhan
ec8d59eeae test: remove gas usage numbers from GasTest 2025-03-01 00:09:15 +05:30
royvardhan
6f69748ba4 test: update gas usage numbers in GasTest 2025-02-28 22:02:21 +05:30
royvardhan
5db95781e5 test: add isPermit2 bool in GasTest for readability 2025-02-28 10:11:04 +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
royvardhan
9014fc7383 test: add permit2 tests for simple swaps in TychoRouter and GasTest 2025-02-28 00:40:56 +05:30
royvardhan
35e706d6ea test: add GasTest to compare with Universal Router gas usage 2025-02-28 00:40:56 +05:30