TAMARA LIPOWSKI
7b4bf0205d
feat: UniswapV2 Swap Encoder
2025-01-21 16:35:19 -05:00
Diana Carvalho
979cdf7437
chore: Do not use expect
...
--- don't change below this line ---
ENG-4063 Took 57 minutes
Took 17 seconds
Took 45 seconds
2025-01-21 18:48:49 +00:00
semantic-release-bot
7890f26812
chore(release): 0.6.0 [skip ci]
...
## [0.6.0](https://github.com/propeller-heads/tycho-execution/compare/0.5.0...0.6.0 ) (2025-01-21)
### Features
* Add openzeppelin lib for access control ([a8f62ee ](a8f62ee837 ))
* Add permit2 lib for approval management ([cb9053b ](cb9053bd88 ))
* initial TychoRouter skeleton ([ab28a47 ](ab28a4730d )), closes [lib/openzeppelin-contracts/contracts/access/AccessControl.sol#4](https://github.com/lib/openzeppelin-contracts/contracts/access/AccessControl.sol/issues/4 ) [lib/openzeppelin-contracts/contracts/access/IAccessControl.sol#4](https://github.com/lib/openzeppelin-contracts/contracts/access/IAccessControl.sol/issues/4 ) [lib/openzeppelin-contracts/contracts/utils/Context.sol#4](https://github.com/lib/openzeppelin-contracts/contracts/utils/Context.sol/issues/4 ) [lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol#4](https://github.com/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol/issues/4 ) [lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol#4](https://github.com/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol/issues/4 ) [lib/permit2/src/interfaces/IAllowanceTransfer.sol#2](https://github.com/lib/permit2/src/interfaces/IAllowanceTransfer.sol/issues/2 ) [lib/permit2/src/interfaces/IEIP712.sol#2](https://github.com/lib/permit2/src/interfaces/IEIP712.sol/issues/2 )
### Bug Fixes
* Filter paths when running slither in CI ([96809d4 ](96809d4801 ))
2025-01-21 14:35:47 +00:00
Tamara
14fbab95fb
Merge pull request #13 from propeller-heads/router/tnl/ENG-4032-router-skeleton
...
feat: TychoRouter Skeleton
2025-01-21 09:31:52 -05:00
TAMARA LIPOWSKI
96809d4801
fix: Filter paths when running slither in CI
...
- We don't want to check submodules, solidity versions are different
2025-01-20 17:35:00 -05:00
TAMARA LIPOWSKI
ab28a4730d
feat: initial TychoRouter skeleton
...
- remappings.txt is used for more elegant imports
- decided not to include all helper methods in skeleton - just main swap method. They are properly documented in the jira tasks.
- add filter-paths to slither to exclude submodules, otherwise we will get slither warnings about permit2 and open-zeppelin using different solidity versions:
```
- Version constraint ^0.8.20 is used by:
-^0.8.20 (lib/openzeppelin-contracts/contracts/access/AccessControl.sol#4)
-^0.8.20 (lib/openzeppelin-contracts/contracts/access/IAccessControl.sol#4)
-^0.8.20 (lib/openzeppelin-contracts/contracts/utils/Context.sol#4)
-^0.8.20 (lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol#4)
-^0.8.20 (lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol#4)
- Version constraint ^0.8.0 is used by:
-^0.8.0 (lib/permit2/src/interfaces/IAllowanceTransfer.sol#2)
-^0.8.0 (lib/permit2/src/interfaces/IEIP712.sol#2)
- Version constraint ^0.8.28 is used by:
```
2025-01-20 17:21:46 -05:00
TAMARA LIPOWSKI
cb9053bd88
feat: Add permit2 lib for approval management
...
- Added as git submodule
2025-01-20 16:32:20 -05:00
TAMARA LIPOWSKI
a8f62ee837
feat: Add openzeppelin lib for access control
...
- This will be necessary to use the onlyRole(ADMIN) modifier, for example
2025-01-20 16:29:33 -05:00
semantic-release-bot
649b1b0bcb
chore(release): 0.5.0 [skip ci]
...
## [0.5.0](https://github.com/propeller-heads/tycho-execution/compare/0.4.0...0.5.0 ) (2025-01-20)
### Features
* Implement ProtocolApprovalsManager ([cbf2b4d ](cbf2b4de5a ))
2025-01-20 17:25:09 +00:00
dianacarvalho1
e3fdf20ded
Merge pull request #12 from propeller-heads/encoding/dc/ENG-4064-protocol-approvals
...
feat: Implement ProtocolApprovalsManager
2025-01-20 17:22:26 +00:00
Diana Carvalho
b155b273a0
chore: Add more descriptive error message
...
--- don't change below this line ---
ENG-4063 Took 14 minutes
2025-01-20 16:35:38 +00:00
Diana Carvalho
cbf2b4de5a
feat: Implement ProtocolApprovalsManager
...
I decided to make ProtocolApprovalsManager public method sync not to propagate asynceness early on onto the rest of the code. If later we decide that it is better to have this async, it should be easier to make that change than the opposite one.
--- don't change below this line ---
ENG-4064 Took 24 minutes
2025-01-20 16:05:06 +00:00
semantic-release-bot
8a709b3033
chore(release): 0.4.0 [skip ci]
...
## [0.4.0](https://github.com/propeller-heads/tycho-execution/compare/0.3.0...0.4.0 ) (2025-01-20)
### Features
* Add Slither to CI ([f0620bd ](f0620bd180 ))
* Add Slither to README.md and include contract file to test ([2998bb3 ](2998bb3fb1 ))
### Bug Fixes
* Bump to latest Solidity version (0.8.28) ([f987125 ](f987125489 )), closes [src/Counter.sol#2 ](https://github.com/src/Counter.sol/issues/2 )
* Specify foundry subdir when running slither in CI ([40f0a2a ](40f0a2a2b7 ))
2025-01-20 14:21:36 +00:00
Tamara
3037edd3ab
Merge pull request #10 from propeller-heads/ci/tnl/ENG-4031-add-slither
...
feat: Add Slither to CI
2025-01-20 09:17:44 -05:00
TAMARA LIPOWSKI
68dddc0663
chore: Rename TychoRouter typo
...
- Accidentally copy pasta'd
2025-01-17 17:58:12 -05:00
TAMARA LIPOWSKI
f987125489
fix: Bump to latest Solidity version (0.8.28)
...
Earlier versions have known vulnerabilities.
Slither output:
```
INFO:Detectors:
Version constraint ^0.8.13 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html )
- VerbatimInvalidDeduplication
- FullInlinerNonExpressionSplitArgumentEvaluationOrder
- MissingSideEffectsOnSelectorAccess
- StorageWriteRemovalBeforeConditionalTermination
- AbiReencodingHeadOverflowWithStaticArrayCleanup
- DirtyBytesArrayToStorage
- InlineAssemblyMemorySideEffects
- DataLocationChangeInInternalOverride
- NestedCalldataArrayAbiReencodingSizeValidation.
It is used by:
- ^0.8.13 (src/Counter.sol#2 )
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-versions-of-solidity
INFO:Slither:foundry/ analyzed (2 contracts with 93 detectors), 1 result(s) found
```
2025-01-17 16:57:08 -05:00
TAMARA LIPOWSKI
40f0a2a2b7
fix: Specify foundry subdir when running slither in CI
...
Otherwise there will be no contract to analyze
2025-01-17 16:57:08 -05:00
TAMARA LIPOWSKI
2998bb3fb1
feat: Add Slither to README.md and include contract file to test
2025-01-17 16:39:21 -05:00
TAMARA LIPOWSKI
f0620bd180
feat: Add Slither to CI
...
- make foundry workflow kebab case
2025-01-17 12:26:28 -05:00
semantic-release-bot
a16b2affed
chore(release): 0.3.0 [skip ci]
...
## [0.3.0](https://github.com/propeller-heads/tycho-execution/compare/0.2.0...0.3.0 ) (2025-01-17)
### Features
* Add EncodingError ([bab5caa ](bab5caa6f8 ))
### Bug Fixes
* Add RecoverableError ([af6d73a ](af6d73a540 ))
2025-01-17 17:14:08 +00:00
dianacarvalho1
2024b94bcf
Merge pull request #8 from propeller-heads/encoding/dc/ENG-4076-error-handling
...
feat: Add EncodingError
2025-01-17 17:11:52 +00:00
Diana Carvalho
af6d73a540
fix: Add RecoverableError
...
--- don't change below this line ---
ENG-4076 <#DTT#>
2025-01-17 17:02:44 +00:00
Diana Carvalho
bab5caa6f8
feat: Add EncodingError
...
Change method signatures to expect it and raise it where it makes sense
--- don't change below this line ---
ENG-4076 <#DTT#>
2025-01-17 17:00:52 +00:00
semantic-release-bot
e77a50b2bb
chore(release): 0.2.0 [skip ci]
...
## [0.2.0](https://github.com/propeller-heads/tycho-execution/compare/0.1.0...0.2.0 ) (2025-01-17)
### Features
* Simplify StrategyEncoders and RouterEncoder ([38b8bb0 ](38b8bb0e78 ))
2025-01-17 16:57:49 +00:00
dianacarvalho1
27a70441ac
Merge pull request #9 from propeller-heads/encoding/dc/simplify-strategies-and-batch-encoding
...
feat: Simplify StrategyEncoders and RouterEncoder
2025-01-17 16:55:33 +00:00
Diana Carvalho
38b8bb0e78
feat: Simplify StrategyEncoders and RouterEncoder
...
No more SingleSwapStrategyEncoder or SequentialStrategyEncoder
No more batch routing (so no need for batch permits as well). If multiple solutions are found, return multiple Transactions
--- don't change below this line ---
ENG-4076 <#DTT#>
2025-01-17 16:21:26 +00:00
semantic-release-bot
b07cb9bc76
chore(release): 0.1.0 [skip ci]
...
## [0.1.0](https://github.com/propeller-heads/tycho-execution/compare/0.0.1...0.1.0 ) (2025-01-17)
### Features
* Add chain in config.json for the executor addresses ([f5df1bb ](f5df1bbd87 ))
* Add evm feature gate ([6c6ba21 ](6c6ba21894 ))
### Bug Fixes
* Make executor_address a String instead of Address ([1d3ac22 ](1d3ac22087 ))
2025-01-17 15:22:16 +00:00
dianacarvalho1
66719ac2d0
Merge pull request #7 from propeller-heads/encoding/dc/ENG-4075-feature-gate
...
feat: EVM feature gate
2025-01-17 15:19:11 +00:00
Diana Carvalho
6c6ba21894
feat: Add evm feature gate
...
- Move all evm code inside evm directory
- StrategyEncoder:
- Kept StrategyEncoder trait but created a new one: EVMStrategyEncoder to implement encode_protocol_header (that is evm specific).
- All StrategyEncoders implement both traits now
- Renamed DefaultStrategySelector -> EVMStrategySelector
- RouterEncoder:
- Created a RouterEncoder trait and a EVMRouterEncoder that implements it
- Moved utils inside evm directory as well
- Renamed config.json -> executor_addresses.json and moved it to a higher config directory
- Make alloy optional and dependent on the evm feature gate
--- don't change below this line ---
ENG-4075 <#DTT#>
2025-01-17 12:52:39 +00:00
Diana Carvalho
1d3ac22087
fix: Make executor_address a String instead of Address
...
--- don't change below this line ---
ENG-4075 <#DTT#>
2025-01-17 12:52:39 +00:00
Diana Carvalho
f5df1bbd87
feat: Add chain in config.json for the executor addresses
...
--- don't change below this line ---
ENG-4075 <#DTT#>
2025-01-17 12:52:39 +00:00
semantic-release-bot
2fb8c8f8c3
chore(release): 0.0.1 [skip ci]
...
## [0.0.1](https://github.com/propeller-heads/tycho-execution/compare/0.0.0...0.0.1 ) (2025-01-17)
### Bug Fixes
* change release version ([d584e0a ](d584e0a1e5 ))
2025-01-17 12:44:18 +00:00
Khramtsov Valentin
bad69be9e5
Merge pull request #6 from propeller-heads/fix/chage-release-version
...
fix: change release version
2025-01-17 15:42:07 +03:00
Valentin Khramtsov
d584e0a1e5
fix: change release version
2025-01-17 15:39:53 +03:00
semantic-release-bot
3996f1fe2c
chore(release): 1.0.1 [skip ci]
...
## [1.0.1](https://github.com/propeller-heads/tycho-execution/compare/1.0.0...1.0.1 ) (2025-01-17)
### Bug Fixes
* change release version ([2b35aa4 ](2b35aa4577 ))
* change release version ([46db261 ](46db261198 ))
2025-01-17 12:31:07 +00:00
Khramtsov Valentin
c5472b0c64
Merge pull request #5 from propeller-heads/fix/chage-release-version
...
fix: change release version
2025-01-17 15:28:55 +03:00
Valentin Khramtsov
2b35aa4577
fix: change release version
2025-01-17 15:23:52 +03:00
Valentin Khramtsov
46db261198
fix: change release version
2025-01-17 15:21:18 +03:00
semantic-release-bot
9e86022a74
chore(release): 1.0.0 [skip ci]
...
## 1.0.0 (2025-01-17)
### Features
* Add builder pattern and registry for SwapEncoders ([6d8cbcd ](6d8cbcd80c ))
* Add Cargo files, CI, configs and README ([c27b253 ](c27b253ef5 ))
* Add foundry environment and CI ([e16d7cc ](e16d7ccb8e ))
* Add permit2 draft ([5d79da4 ](5d79da44f3 ))
* Add StrategySelector ([6e67875 ](6e67875821 ))
* Add Transaction as output of encoding ([5a661ab ](5a661ab6ca ))
* ApprovalsManager trait ([4991883 ](4991883fc8 ))
* Fix version tag to 0.0.1 ([461b6a3 ](461b6a3585 ))
* Handle native actions ([fa462ee ](fa462ee9f3 ))
* Initial draft of encoding module ([36fe8f4 ](36fe8f4b76 ))
* Make check amount optional ([6f8bbd8 ](6f8bbd89a5 ))
* Remove batch execute logic from StrategyEncoder ([68c5a91 ](68c5a914eb ))
* Support encoding only the pool swap ([3e609c7 ](3e609c75ae ))
### Bug Fixes
* Add expected_amount to Solution ([f9f83b4 ](f9f83b439f ))
* Add new to SwapEncoder trait ([30f2ac9 ](30f2ac9f6b ))
* Add temporary main function to lib.rs ([1e54ea0 ](1e54ea045e ))
* Constrain new in SwapEncoder so it does not apply to trait objects ([e93bf11 ](e93bf11a85 ))
* Simplify models. Delete Solution and rename Order->Solution ([a25c56e ](a25c56e667 ))
* TokenApprovalsManager should not implement ApprovalsManager ([93410b4 ](93410b4fe2 ))
2025-01-17 10:10:32 +00:00
dianacarvalho1
da6cd7e9f8
Merge pull request #4 from propeller-heads/dc/setup-foundry
...
feat: Fix version tag to 0.0.1
2025-01-17 10:08:19 +00:00
Diana Carvalho
461b6a3585
feat: Fix version tag to 0.0.1
2025-01-17 10:06:21 +00:00
semantic-release-bot
9e8354307e
chore(release): 1.2.0 [skip ci]
...
## [1.2.0](https://github.com/propeller-heads/tycho-execution/compare/1.1.0...1.2.0 ) (2025-01-17)
### Features
* Add foundry environment and CI ([e16d7cc ](e16d7ccb8e ))
2025-01-17 09:57:48 +00:00
dianacarvalho1
d436ad78fa
Merge pull request #3 from propeller-heads/dc/setup-foundry
...
feat: Add foundry environment and CI
2025-01-17 09:54:09 +00:00
Diana Carvalho
e16d7ccb8e
feat: Add foundry environment and CI
2025-01-17 09:50:26 +00:00
semantic-release-bot
3127c0e9bb
chore(release): 1.1.0 [skip ci]
...
## [1.1.0](https://github.com/propeller-heads/tycho-execution/compare/1.0.0...1.1.0 ) (2025-01-16)
### Features
* Add builder pattern and registry for SwapEncoders ([6d8cbcd ](6d8cbcd80c ))
* Add permit2 draft ([5d79da4 ](5d79da44f3 ))
* Add StrategySelector ([6e67875 ](6e67875821 ))
* Add Transaction as output of encoding ([5a661ab ](5a661ab6ca ))
* ApprovalsManager trait ([4991883 ](4991883fc8 ))
* Handle native actions ([fa462ee ](fa462ee9f3 ))
* Initial draft of encoding module ([36fe8f4 ](36fe8f4b76 ))
* Make check amount optional ([6f8bbd8 ](6f8bbd89a5 ))
* Remove batch execute logic from StrategyEncoder ([68c5a91 ](68c5a914eb ))
* Support encoding only the pool swap ([3e609c7 ](3e609c75ae ))
### Bug Fixes
* Add expected_amount to Solution ([f9f83b4 ](f9f83b439f ))
* Add new to SwapEncoder trait ([30f2ac9 ](30f2ac9f6b ))
* Constrain new in SwapEncoder so it does not apply to trait objects ([e93bf11 ](e93bf11a85 ))
* Simplify models. Delete Solution and rename Order->Solution ([a25c56e ](a25c56e667 ))
* TokenApprovalsManager should not implement ApprovalsManager ([93410b4 ](93410b4fe2 ))
2025-01-16 21:46:56 +00:00
Tamara
09f0224b2b
Merge pull request #1 from propeller-heads/dc/initial-draft
...
feat: Initial draft of encoding module
2025-01-16 16:44:41 -05:00
TAMARA LIPOWSKI
20fb01280c
chore: add dummy test to make CI happy
...
Right now it complains and fails because no tests: `error: no tests to run`
2025-01-16 16:41:07 -05:00
TAMARA LIPOWSKI
f8e8a72c53
chore: fix clippy warnings and nightly fmt
2025-01-16 16:35:02 -05:00
Diana Carvalho
e93bf11a85
fix: Constrain new in SwapEncoder so it does not apply to trait objects
2025-01-16 17:18:11 +00:00
Diana Carvalho
30f2ac9f6b
fix: Add new to SwapEncoder trait
...
Add executor_address in SwapEncoderBuilder::new and not in the builder pattern
2025-01-16 17:18:11 +00:00