TAMARA LIPOWSKI
7fd9f611e5
fix: Initial balance for cyclic swaps
...
This needs to be calculated before we perform a transferFrom in the router! This worked before since we were doing the transferFroms always from inside the executors.
2025-05-15 13:00:03 -04:00
TAMARA LIPOWSKI
d21ae45a49
chore: remove unnecessary sender encoding in USV3
2025-05-15 12:59:04 -04:00
dianacarvalho1
ae4602f668
Merge pull request #193 from propeller-heads/router/dc/ENG-4454-remove-executor-script
...
chore: Add script to remove executor addresses from Tycho Router
2025-05-15 16:22:52 +01:00
Diana Carvalho
046775b7ae
feat: Loosen version constrain on tycho-common
...
Took 14 minutes
2025-05-15 16:19:31 +01:00
dianacarvalho1
aec512c386
Merge branch 'main' into router/dc/ENG-4454-remove-executor-script
2025-05-15 16:18:33 +01:00
Diana Carvalho
ccde611d81
Merge branch 'refs/heads/main' into audit/dc/one-transfer-from-only
2025-05-15 15:52:55 +01:00
Diana Carvalho
4b2aa36424
Merge branch 'refs/heads/main' into audit/dc/one-transfer-from-only
2025-05-15 15:52:17 +01:00
semantic-release-bot
7f7084ca7a
chore(release): 0.90.0 [skip ci]
...
## [0.90.0](https://github.com/propeller-heads/tycho-execution/compare/0.89.0...0.90.0 ) (2025-05-15)
### Features
* Explicitly handle the TransferType.NONE case ([65bd0d0 ](65bd0d0749 ))
* Verify the amount out was received correctly for arbitrage swaps ([70230bf ](70230bf05f ))
### Bug Fixes
* Revert if the TransferType is not valid ([b0c254a ](b0c254add4 ))
2025-05-15 14:51:47 +00:00
dianacarvalho1
584559022b
Merge pull request #200 from propeller-heads/ci/dc/fix-lint-ci
...
ci: fix lint ci
2025-05-15 15:49:02 +01:00
Diana Carvalho
2e71a3e0ff
ci: fix lint ci
...
Took 1 minute
2025-05-15 15:44:41 +01:00
Diana Carvalho
e726571114
ci: Update lint CI
...
Took 8 minutes
Took 5 seconds
Took 11 seconds
Took 11 seconds
2025-05-15 15:23:24 +01:00
TAMARA LIPOWSKI
69c8325a1d
chore: OneTransferFromOnly docs + proper slots
...
Also revert instead of returning if multiple `transferFrom`s are attempted - as this signals that encoding is incorrect or has been messed with.
2025-05-15 10:08:40 -04:00
Diana Carvalho
6cff470999
Merge branch 'refs/heads/main' into audit/dc/one-transfer-from-only
...
# Conflicts:
# foundry/src/executors/TokenTransfer.sol
Took 38 seconds
2025-05-15 14:53:18 +01:00
Diana Carvalho
09ff7691f8
chore: Make naming consistent: transfer_needed, approval_needed, etc
...
Took 46 minutes
2025-05-15 14:52:43 +01:00
TAMARA LIPOWSKI
4a0533b8ea
chore: Remove transfer flag from curve + balancer
...
we will never perform a manual transfer into these protocols, as they require the tokens to be in the router contract in order to perform a transferFrom.
2025-05-15 09:15:32 -04:00
TAMARA LIPOWSKI
b0b98c5e5d
chore: Remove permit2 from executor constructor...
...
whenever not needed.
2025-05-15 08:23:55 -04:00
Diana Carvalho
ee687038c5
fix: Make all tests pass!
...
Delete TokenTransfer.sol
Make slither happy
Bugfixes:
- Executors
- Ekubo:
- Fix the POOL_DATA_OFFSET value and remove sender from callback data
- Use SafeERC20
- Maverick and Univ2: Use safeTransfer and not safeTransferFrom
- Univ3: update expected data length
- Univ4: update the selectors (the signature changed)
- Router:
- For split swap we don't need to pass the tokenInReceiver, it should always be the router address
- For single and sequential: change order of the parameters (to be before the permit2 specific objects)
- Encoders:
- Update selector signatures
- For split swap pass the transfer_from (we might not need to if the token in is ETH)
Took 2 hours 51 minutes
2025-05-15 13:11:34 +01:00
TAMARA LIPOWSKI
27dfde3118
feat: Support new transfer logic in all executors
...
TODO:
- Fix failing tests
- Remove permit2 from initialization of contracts
2025-05-14 20:42:19 -04:00
Diana Carvalho
0f9af65846
feat: Support new transfer logic in encoding
...
The transfer from the user into the router is supposed to happen in the router (we only support this in the executors for callback constrained protocols). This is necessary because of some security concerns that were found in the audit. This way we reduce the space of attack.
- Refactored TransferOptimization not to handle TransferTypes anymore but just return bools.
- Split get_transfer_type into get_transfers and get_in_between_transfer. Updates tests
- Updated the strategies to use this
- Updated function signatures to pass transfer_from and funds_receiver
- Updated SwapEncoders to handle this
- SplitSwapStrategy just assumes all tokens are sent to and from the router at all times
Took 2 hours 46 minutes
2025-05-14 18:00:19 +01:00
dianacarvalho1
00f201440b
Merge pull request #195 from propeller-heads/router/dc/ENG-4529-arbitrage-balance-check
...
feat: Arbitrage balance check and explicitly handle the TransferType.NONE case
2025-05-14 15:00:00 +01:00
Diana Carvalho
9401ce2620
feat: Sketch for OneTransferFromOnly.sol
...
Took 49 seconds
2025-05-14 11:22:54 +01:00
Diana Carvalho
b0c254add4
fix: Revert if the TransferType is not valid
...
Took 8 minutes
2025-05-14 09:03:18 +01:00
Diana Carvalho
65bd0d0749
feat: Explicitly handle the TransferType.NONE case
...
Took 8 minutes
2025-05-14 09:03:17 +01:00
Diana Carvalho
70230bf05f
feat: Verify the amount out was received correctly for arbitrage swaps
...
Took 25 minutes
Took 3 minutes
Took 23 seconds
2025-05-14 09:03:17 +01:00
semantic-release-bot
67eba8d7d2
chore(release): 0.89.0 [skip ci]
...
## [0.89.0](https://github.com/propeller-heads/tycho-execution/compare/0.88.0...0.89.0 ) (2025-05-14)
### Features
* Remove special handling of the Univ4 callback ([f14c8ee ](f14c8ee29b ))
2025-05-14 07:54:05 +00:00
dianacarvalho1
497c3bc337
Merge pull request #194 from propeller-heads/router/dc/ENG-4515-univ4-callback
...
feat: Remove special handling of the Univ4 callback
2025-05-14 08:51:24 +01:00
dianacarvalho1
c117cea8e7
Merge branch 'main' into router/dc/ENG-4515-univ4-callback
2025-05-13 17:11:34 +01:00
dianacarvalho1
71379db2c1
Merge pull request #196 from propeller-heads/ci/dc/fix-lint-ci
...
ci: fix cargo clippy command in CI
2025-05-13 15:02:14 +01:00
Diana Carvalho
37e9d2b712
ci: fix cargo clippy command in CI
...
Took 7 minutes
Took 4 minutes
2025-05-13 14:56:30 +01:00
Diana Carvalho
444fc2d7b0
docs: Add comment on receive() in CurveExecutor
...
Took 9 minutes
2025-05-12 10:48:07 +01:00
Diana Carvalho
f14c8ee29b
feat: Remove special handling of the Univ4 callback
...
The problem was that the pool manager was expecting an ABI encoded result to be returned and we were not returning that (we were returning just a result)
Special thanks to Max for figuring this out
Took 31 minutes
2025-05-09 10:48:54 +01:00
dianacarvalho1
fb1737c1f5
Merge pull request #191 from propeller-heads/router/dc/ENG-4492-remove-self-maverick
...
chore: Remove unused self from MaverickV2Executor
2025-05-08 15:22:11 +01:00
dianacarvalho1
58047165f6
Merge branch 'main' into router/dc/ENG-4492-remove-self-maverick
2025-05-08 15:18:15 +01:00
Diana Carvalho
30b8f9dd19
chore: Add script to remove executor addresses from Tycho Router
...
--- don't change below this line ---
ENG-4454 Took 1 hour 6 minutes
2025-05-08 15:11:07 +01:00
semantic-release-bot
5ee9d79a15
chore(release): 0.88.0 [skip ci]
...
## [0.88.0](https://github.com/propeller-heads/tycho-execution/compare/0.87.0...0.88.0 ) (2025-05-06)
### Features
* Choose single strategy if it's a grouped swap of the same protocol ([079759a ](079759a75b ))
2025-05-06 12:55:48 +00:00
dianacarvalho1
d077929b6a
Merge branch 'main' into router/dc/ENG-4492-remove-self-maverick
2025-05-06 13:53:12 +01:00
dianacarvalho1
ad860e3c8c
Merge pull request #192 from propeller-heads/encoding/dc/ENG-4478-group-swaps-before-selecting-strategy
...
feat: Choose single strategy if it's a grouped swap of the same protocol
2025-05-06 13:52:58 +01:00
Diana Carvalho
079759a75b
feat: Choose single strategy if it's a grouped swap of the same protocol
...
Add and update tests
--- don't change below this line ---
ENG-4478 Took 45 minutes
Took 10 seconds
Took 14 seconds
2025-05-05 12:15:33 +01:00
semantic-release-bot
d98c179c46
chore(release): 0.87.0 [skip ci]
...
## [0.87.0](https://github.com/propeller-heads/tycho-execution/compare/0.86.0...0.87.0 ) (2025-05-05)
### Features
* Update PancakeV2 executor addresses ([872aa57 ](872aa576e6 ))
### Bug Fixes
* pass permit2 in deployment scripts ([ba19b00 ](ba19b000dc ))
2025-05-05 09:16:33 +00:00
dianacarvalho1
cb5c0f16ea
Merge pull request #183 from propeller-heads/router/tnl/deploy-pancake-v2
...
feat: PancakeV2 redeployment
2025-05-05 10:14:25 +01:00
dianacarvalho1
b5cd53de11
Merge branch 'main' into router/tnl/deploy-pancake-v2
2025-05-05 10:11:28 +01:00
Diana Carvalho
0125118d22
chore: Remove unused self from MaverickV2Executor
...
--- don't change below this line ---
ENG-4492 Took 7 minutes
2025-05-05 10:06:10 +01:00
semantic-release-bot
aeaeff12fd
chore(release): 0.86.0 [skip ci]
...
## [0.86.0](https://github.com/propeller-heads/tycho-execution/compare/0.85.1...0.86.0 ) (2025-05-02)
### Features
* Change revert condition in _wrapETH ([0400005 ](04000059e5 ))
* Propagate the entire result of the callback ([8a7c390 ](8a7c39052d ))
2025-05-02 14:58:02 +00:00
dianacarvalho1
aa18ccb72a
Merge pull request #189 from propeller-heads/router/dc/ENG-4476-generalize-callback-return
...
feat: Misc audit fixes (callback result and revert condition in _wrapETH)
2025-05-02 15:55:53 +01:00
Diana Carvalho
c4b9a1d769
docs: Mention audits in the README
...
--- don't change below this line ---
ENG-4476 Took 6 minutes
2025-05-02 12:55:04 +01:00
Diana Carvalho
04000059e5
feat: Change revert condition in _wrapETH
...
--- don't change below this line ---
ENG-4476 Took 1 minute
2025-05-02 12:48:03 +01:00
Diana Carvalho
8a7c39052d
feat: Propagate the entire result of the callback
...
--- don't change below this line ---
ENG-4476 Took 41 minutes
2025-05-02 12:47:03 +01:00
semantic-release-bot
750382fc6f
chore(release): 0.85.1 [skip ci]
...
## [0.85.1](https://github.com/propeller-heads/tycho-execution/compare/0.85.0...0.85.1 ) (2025-05-01)
### Bug Fixes
* Derive Clone in TychoEncoders ([f99bd29 ](f99bd296a1 ))
2025-05-01 00:46:56 +00:00
Tamara
229f9f5043
Merge pull request #187 from propeller-heads/encoding/tnl/derive-clone
...
fix: Derive Clone in TychoEncoders
2025-04-30 20:44:54 -04:00
Tamara
f021857b9f
Merge branch 'main' into encoding/tnl/derive-clone
2025-04-30 20:41:06 -04:00