royvardhan
d998c88cfe
feat: support multi swap decoding
2025-02-13 00:25:25 +05:30
royvardhan
c264084783
feat: move encoding to test
2025-02-13 00:25:25 +05:30
royvardhan
ae0b07b2a4
fix: reciever issue
2025-02-13 00:25:25 +05:30
royvardhan
4599f07df0
feat: add test for UniswapV4Executor
2025-02-13 00:25:25 +05:30
royvardhan
e62c332451
feat: add router params
2025-02-13 00:25:25 +05:30
royvardhan
bdd3daffba
feat: update solc and add V4Router into UniswapV4Executor
2025-02-13 00:25:25 +05:30
royvardhan
24d4e762a2
fix: rm redundant transfer
2025-02-13 00:25:25 +05:30
royvardhan
1a36c33bc6
fix: rm callback fn
2025-02-13 00:25:25 +05:30
royvardhan
b2097ca4a5
feat: handle amounts in unlockCallback
2025-02-13 00:25:25 +05:30
royvardhan
ed90cb4ef1
feat: add callback
2025-02-13 00:25:25 +05:30
royvardhan
cb4c8f4e51
feat: add univ4 executor
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
TAMARA LIPOWSKI
83bbabddd1
chore: rename amountOwed -> amountIn
...
...for consistency.
Also remove comment. We will keep exact_out to avoid future interface changes.
2025-01-30 10:33:09 -05:00
royvardhan
c653062027
feat: rename batchSetExecutor to setExecutors
2025-01-30 19:29:24 +05:30
royvardhan
719a15c0e5
chore: fmt
2025-01-30 19:00:15 +05:30
royvardhan
ea504faca1
feat: replace setExecutor with batchSetExecutor
2025-01-30 18:58:54 +05:30
TAMARA LIPOWSKI
92b4ee00d3
chore: remove unused factory variable
2025-01-29 19:53:22 -05:00
TAMARA LIPOWSKI
ca32446a9e
feat: UniswapV3Executor and integration tests
...
- Note: I think we can get the fee straight from the pool... why did we always encode this and send it from the solver? Is this bound to change sometimes?
2025-01-29 19:51:17 -05:00
Diana Carvalho
63b94b5584
fix: Remove amountReceived and dataOffset from the callback verification
...
--- don't change below this line ---
ENG-4047 Took 20 minutes
2025-01-29 20:19:34 +00:00
Diana Carvalho
fafeba9248
feat: Implement generic callback
...
--- don't change below this line ---
ENG-4047 Took 26 minutes
Took 4 minutes
Took 8 seconds
Took 59 seconds
Took 22 seconds
2025-01-29 20:19:34 +00:00
TAMARA LIPOWSKI
96af542923
feat: fixed USV3 Verification
...
- We cannot use the regular v3-periphery library because of outdated solc versions. I've copied the v3-updated library which we have used in our previous project
2025-01-29 12:12:58 -05:00
TAMARA LIPOWSKI
057c616b0c
chore: merge main
2025-01-29 10:19:18 -05:00
TAMARA LIPOWSKI
7822c4f913
feat: USV3 verification
2025-01-29 10:10:13 -05:00
Harsh Vardhan Roy
cb6d165e7f
feat: approve max
2025-01-28 23:49:28 +05:30
royvardhan
b85428212a
fix: slither
2025-01-28 22:59:02 +05:30
royvardhan
b1ca478294
fix: ci
2025-01-28 22:54:31 +05:30
Harsh Vardhan Roy
6af6780f2e
Merge branch 'main' into router/hr/ENG-4035-Balancer-V2-Executor
2025-01-28 22:43:02 +05:30
Diana Carvalho
655cf91984
feat: Assume that funds will never go straight from a pool to the receiver
...
- The funds will always go through the router
- Rename splitSwap for Swap
- Improve tests
--- don't change below this line ---
ENG-4041 Took 24 minutes
Took 23 seconds
Took 42 seconds
2025-01-28 17:10:15 +00:00
royvardhan
7a83eddc92
fix: slither
2025-01-28 22:38:26 +05:30
Diana Carvalho
dfa7033d2e
feat: Smother slither and add a reentrancy guard in swap()
...
--- don't change below this line ---
ENG-4041 Took 34 minutes
2025-01-28 16:59:29 +00:00
Diana Carvalho
c2347ac79e
feat: Add executor and selector to Swap
...
Add tests to Swap
Modify ExecutionDispatcher and TychoRouter to account for these changes
--- don't change below this line ---
ENG-4041 Took 57 minutes
Took 10 seconds
2025-01-28 16:59:29 +00:00
Diana Carvalho
dfa0f7d176
chore: Address compilers warnings and use EXECUTOR_SETTER instead of Bob in tests
...
--- don't change below this line ---
ENG-4041 Took 48 seconds
Took 18 seconds
2025-01-28 16:59:29 +00:00
Diana Carvalho
d8de65aedf
fix: Remove checkMinAmount
...
If minAmountOut == 0, then skip the check
--- don't change below this line ---
ENG-4041 Took 35 minutes
2025-01-28 16:59:29 +00:00
Diana Carvalho
50429ad05c
feat: Add swap method with tests
...
Changes:
- If the tokenIn is ETH, skip permit2 approval
- Make executors payable: When using delegatecall the executor inherits the execution context of whoever calls it. Our main swap function can accept ETH, it needs to be payable so by consequence the executors also need to be.
- Set uniswap v2 executor in test router
- Add tests for all possible cases of swap
- Add tests for all cases of splitSwap
- Add test functions to handle permit2 and encode swaps
--- don't change below this line ---
ENG-4041 Took 3 hours 50 minutes
Took 49 seconds
Took 14 seconds
2025-01-28 16:59:29 +00:00
Diana Carvalho
a8f6fc1eec
feat: Add swap method (first attempt)
...
Will add tests and fullproof it in a future PR
--- don't change below this line ---
ENG-4041 Took 8 minutes
Took 42 seconds
Took 5 seconds
2025-01-28 16:59:29 +00:00
Diana Carvalho
3b2d9fcbdf
feat: Wrap and unwrap ETH
...
--- don't change below this line ---
ENG-4041 Took 2 hours 28 minutes
Took 14 seconds
Took 11 seconds
Took 2 minutes
Took 1 minute
Took 7 minutes
2025-01-28 16:59:29 +00:00
royvardhan
a4e405fb75
feat: add tests for Balancer V2 executor
2025-01-28 19:32:45 +05:30
royvardhan
5dc5e23239
fix: build
2025-01-28 18:57:59 +05:30
royvardhan
44db2e52b3
fix: rm exactOut
2025-01-28 18:32:28 +05:30