Commit Graph

1294 Commits

Author SHA1 Message Date
Diana Carvalho
941879d5d6 fix(BalancerV3Executor): Slice callback data nicely
Make a stricter data validation

Took 35 minutes
2025-06-06 17:01:48 +01:00
Diana Carvalho
c03df8aa1e feat: Add balancer v3 to transfer optimization constants
Also added a getForkBlock() on TychoRouterTestSetup.
 Moved the router balancer test inside the Balancer file and created a TychoRouterForBalancerV3Test to wrap it

Took 1 hour 10 minutes


Took 21 seconds
2025-06-06 10:41:35 +01:00
Diana Carvalho
269e328b5f feat: Add integration tests for balancer v3
Refactor BalancerV3Executor to have an inner _swapCallback method with the real swapping logic. Then we have two external methods:
- handleCallback: called by the router. Here we need to remove the first 68 bytes (4 selector + 32 dataOffset + 32 dataLength)
- swapCallback: called by the Vault directly if we are swapping against the executor directly (no router involved)

Took 1 minute
2025-06-05 17:22:17 +01:00
Diana Carvalho
06ce28c8fd feat: Add BalancerV3Encoder
Took 1 hour 7 minutes


Took 2 minutes
2025-06-05 17:22:16 +01:00
semantic-release-bot
6ada7f2a51 chore(release): 0.99.0 [skip ci]
## [0.99.0](https://github.com/propeller-heads/tycho-execution/compare/0.98.0...0.99.0) (2025-06-05)

### Features

* Extend Swap to hold user_data: Option<Bytes> ([eec50f8](eec50f8822))
2025-06-05 14:55:23 +00:00
dianacarvalho1
fd2e7c4052 Merge pull request #213 from propeller-heads/encoding/dc/extend-swap-user-data
feat: Extend Swap to hold user_data: Option<Bytes>
2025-06-05 15:53:36 +01:00
Diana Carvalho
eec50f8822 feat: Extend Swap to hold user_data: Option<Bytes>
Took 25 minutes
2025-06-05 15:47:40 +01:00
semantic-release-bot
902c4cd4d2 chore(release): 0.98.0 [skip ci]
## [0.98.0](https://github.com/propeller-heads/tycho-execution/compare/0.97.0...0.98.0) (2025-06-05)

### Features

* Add balancer-v3-monorepo lib ([f173f9b](f173f9bed7))
* Implement BalancerV3Executor ([f34db52](f34db52f09))
* Make BalancerV3Executor inherit from ICallback ([806ce4e](806ce4e62c))
2025-06-05 14:19:52 +00:00
dianacarvalho1
fcb67764f1 Merge pull request #211 from propeller-heads/balancer-v3/dc/ENG-4422-executor
feat: Implement BalancerV3Executor
2025-06-05 15:18:07 +01:00
Diana Carvalho
806ce4e62c feat: Make BalancerV3Executor inherit from ICallback
Took 37 minutes
2025-06-05 14:59:22 +01:00
Diana Carvalho
f173f9bed7 feat: Add balancer-v3-monorepo lib
Took 6 minutes
2025-06-05 14:59:22 +01:00
Diana Carvalho
f34db52f09 feat: Implement BalancerV3Executor
Took 2 hours 32 minutes


Took 8 seconds

Took 13 minutes
2025-06-05 14:59:22 +01:00
semantic-release-bot
cb105caecf chore(release): 0.97.0 [skip ci]
## [0.97.0](https://github.com/propeller-heads/tycho-execution/compare/0.96.0...0.97.0) (2025-06-05)

### Features

* Upgrade alloy to "1.0.6" ([5fa97d0](5fa97d08e5))
2025-06-05 11:12:38 +00:00
dianacarvalho1
0a52a8e7b4 Merge pull request #210 from propeller-heads/encoding/dc/ENG-4552-upgrade-alloy
feat: Upgrade alloy to "1.0.6"
2025-06-05 12:10:06 +01:00
pedrobergamini
17e535494b fix: cargo and forge fmt 2025-06-04 19:57:40 -03:00
pedrobergamini
ad0a9991da feat: support multi and aggregate orders 2025-06-04 19:41:13 -03:00
pedrobergamini
946c4391e8 fix: SafeCast => V4SafeCast to fix build issue 2025-06-04 19:13:13 -03:00
pedrobergamini
6f80137117 test: add single, split and sequential scenarios 2025-06-04 19:12:56 -03:00
pedrobergamini
af0f4c454e chore: implement correct native ETH support 2025-06-04 19:12:07 -03:00
pedrobergamini
7e7e3f0e01 feat: implement encoder and executor with single order support 2025-06-04 17:57:09 -03:00
Diana Carvalho
5fa97d08e5 feat: Upgrade alloy to "1.0.6"
Took 18 minutes
2025-05-30 11:55:44 +01:00
Tamara
8f8af59f24 Merge pull request #209 from propeller-heads/router/tnl/fix-deployment
chore: remove tenderly roles
2025-05-27 13:17:20 -04:00
Tamara
deeaa50cc8 Merge branch 'main' into router/tnl/fix-deployment 2025-05-27 13:13:20 -04:00
semantic-release-bot
6b1ca45bb3 chore(release): 0.96.0 [skip ci]
## [0.96.0](https://github.com/propeller-heads/tycho-execution/compare/0.95.1...0.96.0) (2025-05-27)

### Features

* Deploy new router on base ([0dafed0](0dafed0cad))
* Update ethereum router + executor addresses ([5bf3b5d](5bf3b5d7ad))
* Update mainnet executors + router addrs ([cf6e7f0](cf6e7f06a8))
* Update unichain executors + router addrs ([e2e061e](e2e061e73e))
2025-05-27 17:12:47 +00:00
TAMARA LIPOWSKI
6ea9c3708e chore: remove tenderly roles
- For organization
2025-05-27 13:12:13 -04:00
Tamara
7f0ff9cdda Merge pull request #204 from propeller-heads/router/tnl/fix-deployment
feat: Gas optimized router deployment
2025-05-27 13:11:08 -04:00
TAMARA LIPOWSKI
cf6e7f06a8 feat: Update mainnet executors + router addrs
Deployed gas optimization
2025-05-27 11:57:25 -04:00
Diana Carvalho
9356e87d3a Merge remote-tracking branch 'origin/router/tnl/fix-deployment' into router/tnl/fix-deployment
# Conflicts:
#	config/router_addresses.json

Took 15 seconds
2025-05-27 16:01:46 +01:00
Diana Carvalho
0dafed0cad feat: Deploy new router on base
Took 33 minutes
2025-05-27 16:01:30 +01:00
TAMARA LIPOWSKI
e2e061e73e feat: Update unichain executors + router addrs
Deployed gas optimization
2025-05-27 10:55:48 -04:00
Diana Carvalho
c0805b107f Merge branch 'refs/heads/main' into router/tnl/fix-deployment 2025-05-27 15:33:20 +01:00
semantic-release-bot
d6ee85e8da chore(release): 0.95.1 [skip ci]
## [0.95.1](https://github.com/propeller-heads/tycho-execution/compare/0.95.0...0.95.1) (2025-05-27)

### Bug Fixes

* Move encode_input back into encoding_utils.rs ([92d36b9](92d36b9f48))
2025-05-27 14:28:03 +00:00
dianacarvalho1
5b03abbcb9 Merge pull request #208 from propeller-heads/audit/dc/rename-selector-to-function-signature
chore: Rename selector to function signature
2025-05-27 15:26:20 +01:00
Diana Carvalho
92d36b9f48 fix: Move encode_input back into encoding_utils.rs
We don't want the user to be able to use it outside the crate

Took 16 minutes
2025-05-27 12:12:47 +01:00
Diana Carvalho
73c1a2db6a chore: Rename selector to function signature
Took 8 minutes
2025-05-27 09:37:24 +01:00
semantic-release-bot
72f2734f2c chore(release): 0.95.0 [skip ci]
## [0.95.0](https://github.com/propeller-heads/tycho-execution/compare/0.94.0...0.95.0) (2025-05-26)

### Features

* Don't sign permit2 objects ([c62af2f](c62af2f232))

### Bug Fixes

* Bring back swapper_pk for backwards compatibility ([d12e3d3](d12e3d3b5f))
* Make functions in encoding_utils.rs private ([5ddd2a9](5ddd2a9cd7))
2025-05-26 16:42:06 +00:00
dianacarvalho1
04bd546142 Merge pull request #207 from propeller-heads/audit/dc/ENG-4538-dont-encode-permit2
feat: Don't sign permit2 objects
2025-05-26 17:40:27 +01:00
Diana Carvalho
5ddd2a9cd7 fix: Make functions in encoding_utils.rs private
They shouldn't be used outside the crate by the users. They should reimplement this functions themselves.
Move encode_input to utils.rs

Took 8 minutes
2025-05-26 17:16:35 +01:00
Diana Carvalho
4f85e3e88e chore: Move tests from strategy_encoders to tycho_encoders
Most of these tests were actually integration tests, so they should be in the outer level of the package.

Took 1 hour 5 minutes
2025-05-26 17:08:44 +01:00
Diana Carvalho
d12e3d3b5f fix: Bring back swapper_pk for backwards compatibility
Took 16 minutes
2025-05-26 12:50:11 +01:00
Diana Carvalho
f5d9ab03da chore: Improve docstrings
Took 23 minutes
2025-05-26 12:50:11 +01:00
Diana Carvalho
c62af2f232 feat: Don't sign permit2 objects
We don't want to be responsible for holding private keys -> the user is the one that should do this outside of tycho-execution

Done:
- Remove signature from EncodedSolution
- Introduce UserTransferType and pass that everywhere instead of is_permit2_active and token_in_already_in_router
- Remove signing from permit2. Added it to the encoding_utils.rs only
- Mark encode_full_calldata as deprecated
- Backwards compatibility: still accept a signer for the encode_full_calldata case
- Update all tests

Took 2 hours 10 minutes


Took 13 minutes
2025-05-26 12:50:11 +01:00
semantic-release-bot
cdb67f742f chore(release): 0.94.0 [skip ci]
## [0.94.0](https://github.com/propeller-heads/tycho-execution/compare/0.93.0...0.94.0) (2025-05-23)

### Features

* Create non alloy specific Permit and PermitDetails structs ([75f2c3a](75f2c3a1c5))
2025-05-23 17:08:45 +00:00
dianacarvalho1
081c705c79 Merge pull request #206 from propeller-heads/audit/dc/encoded-solution-no-alloy-types
feat: Create non alloy specific Permit and PermitDetails structs
2025-05-23 18:07:03 +01:00
Diana Carvalho
75f2c3a1c5 feat: Create non alloy specific Permit and PermitDetails structs
- Add try_from methods to convert them to the corresponding Solidity representations
- Update tests

Took 56 seconds
2025-05-23 11:31:05 +01:00
Diana Carvalho
88ad67e5ff Merge branch 'refs/heads/main' into router/tnl/fix-deployment 2025-05-22 15:35:49 +01:00
semantic-release-bot
52d3641436 chore(release): 0.93.0 [skip ci]
## [0.93.0](https://github.com/propeller-heads/tycho-execution/compare/0.92.1...0.93.0) (2025-05-22)

### Features

* Add encode_full_calldata to TychoEncoder trait ([5aff28e](5aff28e345))
* Add interacting_with to EncodedSolution ([facdf71](facdf716bd))
* Remove slippage and expected_amount from Solution ([08056c4](08056c4a6c))
* Separate encoding swaps from encoding txs ([4e8c6dd](4e8c6ddc8c))
2025-05-22 13:55:23 +00:00
dianacarvalho1
8eef9e1f79 Merge pull request #203 from propeller-heads/audit/dc/ENG-4536-separate-encoding-swaps-and-encoding-function
feat: Separate encoding swaps from encoding txs
2025-05-22 14:53:27 +01:00
Diana Carvalho
5aff28e345 feat: Add encode_full_calldata to TychoEncoder trait
This is so that people can easily use it without downcasting the encoder

Took 32 minutes
2025-05-22 14:43:12 +01:00
Diana Carvalho
facdf716bd feat: Add interacting_with to EncodedSolution
- Remove encode_full_calldata from the TychoEncoder trait
- Make the TychoExecutorEncoder use encode_solutions instead of encode_full_calldata
- Update tycho-encode.rs accordingly

Took 1 hour 3 minutes


Took 12 seconds
2025-05-22 14:43:12 +01:00