Diana Carvalho
49aefc8c2a
fix: Remove unnecessary test method
...
--- don't change below this line ---
ENG-4305 Took 2 minutes
2025-04-04 09:13:36 +01:00
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
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
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
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
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
030505c497
test: add vm.rollFork with correct block in base network tests
2025-02-26 23:04:40 +05:30
royvardhan
ed2bc414d8
test: update asserts in base network test
2025-02-26 22:01:18 +05:30
royvardhan
2323ad3fd9
test: add simple base network tests in usv2 and router
2025-02-26 22:01:18 +05:30
royvardhan
18efe0305b
fix: usv4 integration tests and remove selector from swap/strategy encoder
2025-02-24 19:48:25 +05:30
royvardhan
69745b18fd
feat: rm selector from usv3, usv4, update tests, and rename dispatcher file
2025-02-24 17:16:27 +05:30
royvardhan
f4f5b841e7
chore: keep test naming consistent
2025-02-22 01:39:11 +05:30
royvardhan
4b77128df2
chore: rename _computePairAddress to _verifyPairAddress, add fake v2 pool in v2 test file
2025-02-22 00:26:15 +05:30
royvardhan
40bd37a1a4
chore: rm redundant usv3 test
2025-02-21 23:28:03 +05:30
royvardhan
2f1507dd0e
test: add target verification tests for usv2, usv3
2025-02-21 23:28:03 +05:30
TAMARA LIPOWSKI
d65d575003
feat: Don't encode min amount for USV4
...
We aren't checking min amount for any other executor. This would be overkill (since we are already checking in the main router) and also inconsistent.
2025-02-20 12:15:40 -05:00
royvardhan
e2a2aaaad1
refactor: usv4 swap encoder test, encoder
2025-02-19 23:59:27 +05:30
royvardhan
f7ddace559
feat: early return in usv4 swap encoder for second swap, add utils
2025-02-19 21:42:13 +05:30
royvardhan
5e9b38876e
feat: add integration test for complex swaps
2025-02-19 20:32:55 +05:30
royvardhan
1bfe656e6b
feat: add new attributes in encoding context, update usv4 swap encoder and tests
2025-02-19 08:39:21 +05:30
royvardhan
529456f40c
feat: add single swap integration test for usv4 executor
2025-02-18 21:24:49 +05:30
Diana Carvalho
2aa63d7ec0
feat: Change signature of _handleCallback to take only bytes calldata
...
The selector and executor are decoded inside this function now.
For Uniswap V3 I had to manually slice the msg.data from uniswapV3SwapCallback to get the data that matters for the callback
Took 3 hours 12 minutes
2025-02-18 11:11:43 +00:00
Harsh Vardhan Roy
0d5c55c546
Merge branch 'main' into router/hr/ENG-4237-refactor-usv3-callback
2025-02-17 21:56:49 +05:30
royvardhan
9b8175aff9
chore: cleanup
2025-02-15 01:01:16 +05:30
royvardhan
9d3b96f997
feat: add uniswapV3SwapCallback in USV3 executor
2025-02-15 00:34:07 +05:30
royvardhan
cccb252bf2
feat: update handleCallback in USV3 to do verification
2025-02-14 23:27:44 +05:30
Diana Carvalho
8a8bc697eb
fix(univ4): Make slither happy
...
--- don't change below this line ---
ENG-4222 Took 17 minutes
Took 47 seconds
Took 14 seconds
2025-02-14 12:39:36 +00:00
Diana Carvalho
4d0f5cec64
fix(univ4): Append callback data instead of prepending
...
Bring back tests on the executor level. This way the executor can actually be used alone
--- don't change below this line ---
ENG-4222 Took 12 minutes
2025-02-14 12:02:07 +00:00
Diana Carvalho
21a8c1a27a
feat(univ4): Implement swapping with multiple hops
...
--- don't change below this line ---
ENG-4222 Took 47 minutes
2025-02-14 12:02:07 +00:00
Diana Carvalho
be7883affc
feat(univ4): Refactor input and handle single swap case
...
Construct the uniswap v4 specific objects inside the executor
The swap test in the executor alone doesn't work anymore because of the callback data prepended to the rest of he calldata
--- don't change below this line ---
ENG-4222 Took 4 hours 0 minutes
Took 40 seconds
2025-02-14 12:02:07 +00:00
royvardhan
5853de679a
feat: move callback testing to usv3 executor
2025-02-14 01:29:30 +05:30
royvardhan
80500e615e
feat: fix input decoding in usv3 executor and execution dispatcher
2025-02-14 00:53:43 +05:30
royvardhan
bd1971334e
feat: update new interface in codebase
2025-02-13 20:54:54 +05:30
Diana Carvalho
591d73ba71
feat: Support uniswap v4 callback in TychoRouter
...
Make TychoRouter inherit from SafeCallback and then delegatecall to the UniswapV4 executor
Add a test for this. I had to update the block of our forked network in the tests. Because of this I had to update all the asserts in previous tests
Had to change the optimizer_runs in foundry.toml because of weird Yul errors when compiling
--- don't change below this line ---
ENG-4223 Took 1 hour 21 minutes
Took 7 seconds
Took 35 seconds
2025-02-13 12:00:59 +00:00
Diana Carvalho
29eb50d0a1
chore: Create a UniswapV4Utils with encoding functions
...
--- don't change below this line ---
ENG-4223 Took 4 hours 33 minutes
Took 2 minutes
Took 28 minutes
2025-02-13 12:00:59 +00:00
royvardhan
d79068282a
fix: _pay and msgSender
2025-02-13 00:25:26 +05:30