Commit Graph

1125 Commits

Author SHA1 Message Date
semantic-release-bot
f9ded54a0e chore(release): 0.20.0 [skip ci]
## [0.20.0](https://github.com/propeller-heads/tycho-execution/compare/0.19.0...0.20.0) (2025-01-28)

### Features

* Add executor and selector to Swap ([c2347ac](c2347ac79e))
* Add swap method (first attempt) ([a8f6fc1](a8f6fc1eec))
* Add swap method with tests ([50429ad](50429ad05c))
* Assume that funds will never go straight from a pool to the receiver ([655cf91](655cf91984))
* Smother slither and add a reentrancy guard in swap() ([dfa7033](dfa7033d2e))
* Wrap and unwrap ETH ([3b2d9fc](3b2d9fcbdf))

### Bug Fixes

* fix submodules ([0a1f522](0a1f522207))
* Remove checkMinAmount ([d8de65a](d8de65aedf))
2025-01-28 17:14:21 +00:00
Harsh Vardhan Roy
6af6780f2e Merge branch 'main' into router/hr/ENG-4035-Balancer-V2-Executor 2025-01-28 22:43:02 +05:30
dianacarvalho1
fbe7c3340c Merge pull request #25 from propeller-heads/router/dc/ENG-4041-swap
feat: Swap public method
2025-01-28 17:11:44 +00:00
royvardhan
6c30cf8f66 fix: filter paths slither 2025-01-28 22:41:36 +05:30
Diana Carvalho
0a1f522207 fix: fix submodules
--- don't change below this line ---
ENG-4041 Took 6 minutes
2025-01-28 17:10:15 +00:00
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
877f625efc fix: clippy 2025-01-28 22:27:26 +05:30
Harsh Vardhan Roy
5f5f30ee2d Merge branch 'main' into router/hr/ENG-4035-Balancer-V2-Executor 2025-01-28 22:17:05 +05:30
royvardhan
25756fffdd feat: add node.js workflow 2025-01-28 22:14:45 +05:30
semantic-release-bot
7d35b8bb36 chore(release): 0.19.0 [skip ci]
## [0.19.0](https://github.com/propeller-heads/tycho-execution/compare/0.18.0...0.19.0) (2025-01-28)

### Features

* UniswapV3SwapEncoder ([9c63e09](9c63e099a9)), closes [/github.com/propeller-heads/tycho-protocol-sdk/blob/3c08359cf112e15c137dd5256b8dc8e9cd6c1626/substreams/ethereum-uniswap-v3/src/modules/1_map_pool_created.rs#L64](3c08359cf1/substreams/ethereum-uniswap-v3/src/modules/1_map_pool_created.rs/issues/L64)
2025-01-28 15:06:00 +00:00
Tamara
2eab068fc1 Merge pull request #28 from propeller-heads/encoding/tnl/ENG-4067-usv3-swap
feat: USV3 Swap Encoder
2025-01-28 10:02:09 -05:00
TAMARA LIPOWSKI
d95b74bb4e chore: small improvements
- Easier less convoluted way to decode address from string
- No more tokio test (not necessary)
- zero_for_one -> zero_to_one for consistency
2025-01-28 09:54:49 -05:00
royvardhan
a6a624b740 fix: balancer v2 encoder bug 2025-01-28 19:49:08 +05:30
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
TAMARA LIPOWSKI
9c63e099a9 feat: UniswapV3SwapEncoder
- No more supply owed action type or action data - we will always transfer from our router using a regular transfer in the callback.
- The receiver will always be sent with the actual swap call, meaning that no forward received action type or data is necessary either.
- We decode the pool fee as le-bytes and not be-bytes because that's how it's stored: 3c08359cf1/substreams/ethereum-uniswap-v3/src/modules/1_map_pool_created.rs (L64)
2025-01-27 14:25:57 -05:00
Harsh Vardhan Roy
8a381c4672 Merge branch 'main' into router/hr/ENG-4035-Balancer-V2-Executor 2025-01-27 22:58:20 +05:30
royvardhan
a700189aaf feat: add balancer v2 executor 2025-01-27 22:54:56 +05:30
semantic-release-bot
cfa80d77b9 chore(release): 0.18.0 [skip ci]
## [0.18.0](https://github.com/propeller-heads/tycho-execution/compare/0.17.0...0.18.0) (2025-01-27)

### Features

* Perform staticcall to CallbackVerifier ([ad0748e](ad0748e9c3))
2025-01-27 15:24:42 +00:00
Tamara
0e0c13b169 Merge pull request #27 from propeller-heads/router/tnl/ENG-4046-static-call-verifier
feat: Perform staticcall to CallbackVerifier
2025-01-27 10:22:15 -05:00
Tamara
cb38be7ad6 Merge branch 'main' into router/tnl/ENG-4046-static-call-verifier 2025-01-27 10:21:15 -05:00
semantic-release-bot
5be639e510 chore(release): 0.17.0 [skip ci]
## [0.17.0](https://github.com/propeller-heads/tycho-execution/compare/0.16.0...0.17.0) (2025-01-27)

### Features

* add pause/unpause methods ([c982ed9](c982ed99e8))

### Bug Fixes

* ci ([4ee337d](4ee337d1ee))
* test pauser ([5734b53](5734b53554))
2025-01-27 15:18:32 +00:00
Harsh Vardhan Roy
466e3222e5 Merge pull request #24 from propeller-heads/router/hr/ENG-4171-Implement-Pause
feat: add pause/unpause methods
2025-01-27 20:46:08 +05:30
royvardhan
4ee337d1ee fix: ci 2025-01-27 20:44:01 +05:30
Harsh Vardhan Roy
68f07b1852 Merge branch 'main' into router/hr/ENG-4171-Implement-Pause 2025-01-27 20:40:36 +05:30
Tamara
7f53411a73 Merge branch 'main' into router/tnl/ENG-4046-static-call-verifier 2025-01-27 10:08:39 -05:00
TAMARA LIPOWSKI
ee5040043b docs: No repetition in testCallVerifierNoSelector 2025-01-27 10:08:30 -05:00
semantic-release-bot
6e81eccfdb chore(release): 0.16.0 [skip ci]
## [0.16.0](https://github.com/propeller-heads/tycho-execution/compare/0.15.0...0.16.0) (2025-01-27)

### Features

* add balance v2 encoder test ([9cecea8](9cecea8968))

### Bug Fixes

* async ([7c198ff](7c198fff92))
2025-01-27 14:43:07 +00:00
Harsh Vardhan Roy
2f73e8da41 Merge pull request #26 from propeller-heads/encoder/hr/ENG-4068-Balance-V2-Test 2025-01-27 20:09:18 +05:30
royvardhan
5734b53554 fix: test pauser 2025-01-27 17:11:47 +05:30
royvardhan
7c198fff92 fix: async 2025-01-27 13:44:03 +05:30
royvardhan
9cecea8968 feat: add balance v2 encoder test 2025-01-27 13:44:03 +05:30
TAMARA LIPOWSKI
8ef061fd75 refactor: Move code check to CallbackVerificationDispatcher
[copied from exact same reasoning with execution code-checking]

I was inspired to do this because, when disabling the slither check for the staticcall when calling the callback verifier, I realized it's not clear from the same contract that we have already checked for contract code existence when setting the verifier. This made me feel uneasy, as this contract can then not stand alone and must rely on the higher level contract to safely check for code existence, otherwise the staticcall is unsafe. Keeping this logic in a separate contract seems error-prone to me, as we may remove the check for code existence without immediately realizing the implications of doing so.

For this reason I have organized it as follows:
- Logic/tests relating to proper roles/access control in the main TychoRouter.
- Lower-level logic/tests that check contract validity before setting the callback verifier in the CallbackVerificationDispatcher
2025-01-24 17:17:10 -05:00
TAMARA LIPOWSKI
ad0748e9c3 feat: Perform staticcall to CallbackVerifier 2025-01-24 16:55:21 -05:00
semantic-release-bot
8a5d38d5ee chore(release): 0.15.0 [skip ci]
## [0.15.0](https://github.com/propeller-heads/tycho-execution/compare/0.14.0...0.15.0) (2025-01-24)

### Features

* UniswapV2 SwapExecutor ([5627a19](5627a1902b))

### Bug Fixes

* Add input validation size in Uniswapv2SwapExecutor ([ed44f4e](ed44f4e993))
* Remove exactOut logic from Uniswapv2SwapExecutor ([b9f4451](b9f4451769))
2025-01-24 17:06:34 +00:00
dianacarvalho1
bf50ec59f0 Merge pull request #23 from propeller-heads/router/dc/ENG-4033-univ2-executor
feat: UniswapV2 SwapExecutor
2025-01-24 17:04:12 +00:00
Diana Carvalho
9c2b205c30 chore: Rename all SwapExecutor to Executor only for simplicity
--- don't change below this line ---
ENG-4033 Took 9 minutes
2025-01-24 17:03:00 +00:00
Diana Carvalho
1ad04bc9e9 chore: After rebase fixes
--- don't change below this line ---
ENG-4033 Took 5 minutes
2025-01-24 17:03:00 +00:00
Diana Carvalho
b3241804c6 chore: Rename Uniswapv2SwapExecutor to UniswapV2Executor
--- don't change below this line ---
ENG-4033 Took 4 minutes
2025-01-24 17:03:00 +00:00
Diana Carvalho
ed44f4e993 fix: Add input validation size in Uniswapv2SwapExecutor
--- don't change below this line ---
ENG-4033 Took 12 minutes
2025-01-24 17:03:00 +00:00
Diana Carvalho
b9f4451769 fix: Remove exactOut logic from Uniswapv2SwapExecutor
We don't support it now

--- don't change below this line ---
ENG-4033 Took 9 minutes
2025-01-24 17:03:00 +00:00