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
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
TAMARA LIPOWSKI
857522134b
chore: forge fmt
...
kill blank lines
2025-02-25 13:14:30 -05:00
TAMARA LIPOWSKI
abef1e062e
style: TychoRouter ascii art
2025-02-25 13:10:29 -05:00
Diana Carvalho
801976fafa
fix: Restrict receive callers to have code
...
--- don't change below this line ---
ENG-4260 Took 8 minutes
2025-02-25 09:36:04 +00:00
royvardhan
58116e074a
feat: hardcode callback and swap selection in dispatcher
2025-02-24 10:56:17 +05:30
Diana Carvalho
0ba5d02268
feat: Use openzepplin's sendValue instead of send for ETH transfers
...
--- don't change below this line ---
ENG-4260 Took 7 minutes
2025-02-21 17:07:46 +00:00
TAMARA LIPOWSKI
a7aa4d7ebb
fix: Native ETH input/output integration tests/fixes
...
- Only for single swaps
- Used USV4 for this because it's the only DEX we support that allows native ETH swaps
- For Native ETH input single swaps, we need to properly check the remaining amount (we were treating them wronly like ERC20 tokens)
- For Native ETH output single swaps, we were passing the incorrect currency (the settle always needs to be the out token and the take always needs to be the in token, this should not depend on the zeroForOne value).
2025-02-21 00:23:24 -05:00
TAMARA LIPOWSKI
2d267792f3
docs: Fixed outdated comments
...
Some copypastas, some other improvements.
2025-02-20 10:46:27 -05:00
TAMARA LIPOWSKI
c3482a509a
feat: TychoRouter swap method not requiring Permit2
...
- Assume the tokens have been transferred into our router beforehand.
2025-02-19 16:15:57 -05:00
Diana Carvalho
c940d8b536
docs(univ3): Add comment explaining msg.data
...
Took 55 minutes
2025-02-18 14:59:26 +00:00
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
royvardhan
2604935609
chore: update unlockCallback and uniswapV3SwapCallback
2025-02-17 22:51:40 +05:30
royvardhan
076586d776
feat: update _handleCallback, add verifyCallback with docs
2025-02-17 21:51:09 +05:30
royvardhan
14e5c127c6
chore: rm safecallback from router
2025-02-15 01:06:23 +05:30
royvardhan
9b8175aff9
chore: cleanup
2025-02-15 01:01:16 +05:30
royvardhan
ad91e485d3
feat: rename execution dispatcher to dispatcher and use dispatcher for USV4 callback
2025-02-15 00:44:28 +05:30
royvardhan
9d3b96f997
feat: add uniswapV3SwapCallback in USV3 executor
2025-02-15 00:34:07 +05:30
royvardhan
d0027e6cf2
refactor: rm callback verifier dispatcher
2025-02-14 23:11:01 +05:30
royvardhan
260f9d866f
feat: add back uniswapV3SwapCallback in router
2025-02-14 23:00:23 +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
royvardhan
a309825769
refactor: rm usv3 callback from router and add generic callback to executor
2025-02-13 20:31:21 +05:30
Diana Carvalho
4c5e3bf6a9
fix: Verify that the executor exists in the uni v4 callback
...
--- don't change below this line ---
ENG-4223 Took 10 minutes
2025-02-13 12:00:59 +00:00
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
royvardhan
bdd3daffba
feat: update solc and add V4Router into UniswapV4Executor
2025-02-13 00:25:25 +05:30
Diana Carvalho
582533fa31
fix: Miscellaneous audit remarks
...
- Move pause functions together
- Add missing zero checks
- Use openzepplin's sendValues instead of transfer
--- don't change below this line ---
ENG-4226 Took 25 minutes
Took 2 minutes
2025-02-11 16:35:26 +00:00
TAMARA LIPOWSKI
37efe52c10
fix: (TychoRouter) Revert if empty swaps
...
- This is for security purposes. Max uncovered a vulnerability where funds could be stolen if we don't ether the while loop (i.e. if we have empty swaps).
2025-02-10 23:49:01 -05:00
Tamara
9980170fe5
Merge branch 'main' into encoding/tnl/fix-wrapping-indices
2025-02-04 10:35:53 -05:00
TAMARA LIPOWSKI
3f4e27a348
fix: Fix bug with token indexing when wrapping/unwrapping
...
The issue was that we weren't indexing WETH properly since it was looking for the WETH address in tokens, when only native ETH would be in there
- Found by adding integration tests for the wrapping and unwrapping cases.
2025-02-03 22:46:20 -05:00
Diana Carvalho
2aa1df9b0d
chore: Move methods around and improve docstrings
...
--- don't change below this line ---
ENG-4087 Took 30 seconds
Took 5 seconds
2025-02-03 16:52:31 +00:00
Diana Carvalho
0860d67d7a
feat: Verify that no amount in is left in the router
...
--- don't change below this line ---
ENG-4087 Took 1 hour 41 minutes
Took 2 minutes
2025-02-03 16:52:26 +00:00
dianacarvalho1
81e0859c10
Merge branch 'main' into router/dc/return-eth
2025-01-31 16:47:53 +00:00
Diana Carvalho
3245ea7295
fix: transfer ETH if tokenOut is ETH
...
And not only if unwrapETH is true
There might be pools that deal in ETH directly
--- don't change below this line ---
ENG-4081 Took 7 minutes
2025-01-31 15:58:23 +00:00
Diana Carvalho
c85c353e34
fix: Fix token index order in strategy encoding.
...
The contract relies on this order!!
Remove TODOs and comments
--- don't change below this line ---
ENG-4081 Took 1 hour 12 minutes
Took 12 seconds
2025-01-31 15:34:12 +00:00
TAMARA LIPOWSKI
4d697bfebf
test: Router integration test with many TODOs
2025-01-31 15:34:12 +00:00
Harsh Vardhan Roy
8c4e48b32a
Merge branch 'main' into router/hr/ENG-4194-Batch-Set-Executor
2025-01-30 21:21:52 +05:30
Tamara
94b214384b
Merge branch 'main' into router/tnl/ENG-4034-usv3-executor
2025-01-30 10:33:18 -05:00