Commit Graph

79 Commits

Author SHA1 Message Date
royvardhan
120c96215f chore: remove redundant data from _decodeData 2025-02-13 00:25:25 +05:30
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
7ca647f009 feat: add new pair test 2025-02-13 00:25:25 +05:30
royvardhan
4599f07df0 feat: add test for UniswapV4Executor 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
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
e8f22a2eee Merge branch 'main' into encoding/tnl/fix-wrapping-indices 2025-02-04 11:47:58 -05:00
Tamara
9980170fe5 Merge branch 'main' into encoding/tnl/fix-wrapping-indices 2025-02-04 10:35:53 -05:00
royvardhan
e6310d65d1 fix: executor test naming 2025-02-04 20:56:21 +05:30
royvardhan
6333072178 feat: add swap encoder test in balancer v2 executor 2025-02-04 19:56:52 +05:30
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
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
TAMARA LIPOWSKI
faacd3f25c fix: Accidentally changed wrong test's calldata 2025-01-31 12:11:24 -05:00
TAMARA LIPOWSKI
5a81ed6be5 fix: Expect decimal during encoding, add assert to test
- The util function was previously expecting a value between 0 and 100, which we felt was a weird UI.
- In integration test - make sure we spent all input tokens
2025-01-31 12:04:53 -05:00
TAMARA LIPOWSKI
ff3c7aa629 test: Split swap integration test 2025-01-31 11:34:50 -05: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
TAMARA LIPOWSKI
a9c68a4de0 test: (WIP) Router integration tests
TODO it don't pass


Took 14 seconds

Took 12 minutes
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
royvardhan
6c8226340d chore: remove console 2025-01-30 21:17:25 +05:30
royvardhan
8cb95f0950 feat: remove exact_out from USV2 2025-01-30 21:17:25 +05:30
royvardhan
746733056c chore: encoder test naming 2025-01-30 21:17:25 +05:30
royvardhan
1b8bf56c75 feat: resolve pr comments 2025-01-30 21:17:25 +05:30
royvardhan
a50c31203b chore: foundry fmt 2025-01-30 21:17:25 +05:30
royvardhan
cfce36486a chore: add comment 2025-01-30 21:17:25 +05:30
royvardhan
0196767eff feat: add swap test with hex for univ2 executor 2025-01-30 21:17:25 +05:30
royvardhan
c482e21a5f feat: add univ2 executor test with hex 2025-01-30 21:17:25 +05:30
Tamara
94b214384b Merge branch 'main' into router/tnl/ENG-4034-usv3-executor 2025-01-30 10:33:18 -05:00
royvardhan
24e95b1206 fix: rm redundant test 2025-01-30 21:01:28 +05:30
Harsh Vardhan Roy
bd49c86d86 Update TychoRouter.t.sol
Co-authored-by: Tamara <tamara@datarevenue.com>
2025-01-30 20:53:28 +05:30
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
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
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
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
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
Tamara
cb38be7ad6 Merge branch 'main' into router/tnl/ENG-4046-static-call-verifier 2025-01-27 10:21:15 -05:00