Commit Graph

1128 Commits

Author SHA1 Message Date
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
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
Diana Carvalho
08056c4a6c feat: Remove slippage and expected_amount from Solution
The user is responsible for coming up with a sensible value for this themselves

Took 37 minutes
2025-05-22 14:43:12 +01:00
Diana Carvalho
4e8c6ddc8c feat: Separate encoding swaps from encoding txs
This way the user is responsible for encoding the Tycho Router method inputs that are used as guardrails in execution.

Interface changes:
- Create EncodedSolution
- StrategyEncoder
  - don't need to know have permit2 or token_in_already_in_router as attributes anymore
  - encode_strategy returns EncodedSolution now (no method encoding done here now)
- TychoEncoder
  - add encode_solution() method. This is the recommended method for users
  - needs to have permit2, token_in_already_in_router and router_address as attributes
  - permit creation is made in the router now

Also:
- create encoding_utils.rs
- update all tests

Took 2 hours 42 minutes


Took 3 minutes

Took 13 minutes
2025-05-22 14:43:12 +01:00
semantic-release-bot
6a6955d31d chore(release): 0.92.1 [skip ci]
## [0.92.1](https://github.com/propeller-heads/tycho-execution/compare/0.92.0...0.92.1) (2025-05-22)

### Bug Fixes

* Small misc improvements from audit ([1f26fbc](1f26fbce14))
2025-05-22 13:21:45 +00:00
dianacarvalho1
58b7dd7e22 Merge pull request #205 from propeller-heads/audit/dc/misc-improvements
fix: Small misc improvements from audit
2025-05-22 14:19:48 +01:00
Diana Carvalho
1f26fbce14 fix: Small misc improvements from audit
- In RestrictTransferFrom:
  - Compare tokenIn with tokenIn from storage
  - Correct docstrings
  - Recompute storage slots with new names
  - Rename transferFromNeeded to isTransferFromAllowed
  - Don't track amount spent but subtract from amount allowed
- In TychoRouter: Rename transferFromNeeded to isTransferFromAllowed

Took 32 minutes
2025-05-22 10:52:00 +01:00
TAMARA LIPOWSKI
5bf3b5d7ad feat: Update ethereum router + executor addresses
We deployed gas optimizations :)
2025-05-21 12:58:07 -04:00
TAMARA LIPOWSKI
ec702a0c7f chore: Uncomment executor deployment 2025-05-21 12:11:36 -04:00
semantic-release-bot
66ec935d49 chore(release): 0.92.0 [skip ci]
## [0.92.0](https://github.com/propeller-heads/tycho-execution/compare/0.91.0...0.92.0) (2025-05-21)

### Features

* Add transferFromNeeded to non permit2 methods ([cc9e88c](cc9e88cfed))
* Bring back TransferType and simplify encoding logic ([3874892](38748925b3))
* Loosen version constrain on tycho-common ([046775b](046775b7ae))
* perform all transfers in executors ([eeebd51](eeebd51114))
* Sketch for OneTransferFromOnly.sol ([9401ce2](9401ce2620))
* Support new transfer logic in all executors ([27dfde3](27dfde3118))
* Support new transfer logic in encoding ([0f9af65](0f9af65846))

### Bug Fixes

* Fix remaining tests after latest encoding changes ([e0c195f](e0c195f63d))
* Fix tests (not there yet) ([d4244a7](d4244a7089))
* Initial balance for cyclic swaps ([7fd9f61](7fd9f611e5))
* Make all tests pass! ([ee68703](ee687038c5))
2025-05-21 14:59:04 +00:00
dianacarvalho1
3d93cce1e9 Merge pull request #198 from propeller-heads/audit/dc/one-transfer-from-only
feat: Restrict transferFrom
2025-05-21 15:57:16 +01:00
Diana Carvalho
b540f83742 Merge branch 'refs/heads/main' into audit/dc/one-transfer-from-only
# Conflicts:
#	foundry/test/assets/calldata.txt

Took 33 minutes
2025-05-21 09:50:20 +01:00
semantic-release-bot
29374e4420 chore(release): 0.91.0 [skip ci]
## [0.91.0](https://github.com/propeller-heads/tycho-execution/compare/0.90.0...0.91.0) (2025-05-19)

### Features

* **curve:** Get coin indexes from static attributes ([fcaacf2](fcaacf21fb))
2025-05-19 16:00:18 +00:00
dianacarvalho1
c96149d3b9 Merge pull request #202 from propeller-heads/encoding/dc/ENG-4426-improve-curve
feat(curve): Get coin indexes from static attributes
2025-05-19 16:58:12 +01:00
Diana Carvalho
fcaacf21fb feat(curve): Get coin indexes from static attributes
This way we don't need extra RPC calls to get these values

Took 57 minutes
2025-05-19 13:29:18 +01:00
Diana Carvalho
cc9e88cfed feat: Add transferFromNeeded to non permit2 methods
This will block an attempt to transfer from the user when we expect the funds to already be in the router.

chores:
- add docs
- in EncodingContext, rename transfer to transfer_type

Took 58 minutes
2025-05-19 12:02:57 +01:00
TAMARA LIPOWSKI
e0c195f63d fix: Fix remaining tests after latest encoding changes 2025-05-16 14:14:21 -04:00
Diana Carvalho
d4244a7089 fix: Fix tests (not there yet)
Took 58 minutes
2025-05-16 17:57:29 +01:00