Commit Graph

93 Commits

Author SHA1 Message Date
Harsh Vardhan Roy
193910e650 Merge branch 'main' into router/hr/ENG-4050-fee-methods 2025-01-23 15:04:11 +05:30
royvardhan
15d3becf60 fix: use FEE_SETTER_ROLE for setFeeReceiver 2025-01-23 15:00:47 +05:30
semantic-release-bot
bd9e9241d3 chore(release): 0.9.0 [skip ci]
## [0.9.0](https://github.com/propeller-heads/tycho-execution/compare/0.8.0...0.9.0) (2025-01-22)

### Features

* Emit events when setting executors/verifiers ([59950a7](59950a7575))
* Set swap executors and verifiers ([4cb3286](4cb3286c94))
2025-01-22 19:25:48 +00:00
Tamara
648c9312d5 Merge pull request #18 from propeller-heads/router/tnl/ENG-4044-set-executors
feat: Set swap executors and verifiers
2025-01-22 14:23:29 -05:00
TAMARA LIPOWSKI
34243e9016 docs: remove mention of delegatecall from verifier doc
- Because we will more likely use a regular call (safer and delegatecall is unnecessary)
2025-01-22 14:21:49 -05:00
royvardhan
0dc7edccfa feat: add fee methods 2025-01-22 23:52:06 +05:30
TAMARA LIPOWSKI
59950a7575 feat: Emit events when setting executors/verifiers 2025-01-22 12:50:43 -05:00
TAMARA LIPOWSKI
4cb3286c94 feat: Set swap executors and verifiers
- Moved the deployment method into a test template for organization
- Created skeletons of dispatcher contracts
- Added all possible test cases for thoroughness
2025-01-22 12:23:22 -05:00
semantic-release-bot
68d29f1970 chore(release): 0.8.0 [skip ci]
## [0.8.0](https://github.com/propeller-heads/tycho-execution/compare/0.7.0...0.8.0) (2025-01-22)

### Features

* add receiver in event ([2c3af0f](2c3af0ff31))
* add withdraw methods ([78fa890](78fa890cd3))

### Bug Fixes

* ci ([0c05874](0c05874477))
* disable slither for native withdraw ([f3363a2](f3363a24f4))
* undo rm lib ([a1e7b55](a1e7b552b6))
* use send for native transfer ([c6c0ddd](c6c0ddd498))
2025-01-22 17:12:21 +00:00
Harsh Vardhan Roy
eb6d2ec1dc Merge pull request #17 from propeller-heads/router/hr/ENG-4049-withdraw-methods 2025-01-22 22:40:06 +05:30
Harsh Vardhan Roy
50f3de9caf Merge branch 'main' into router/hr/ENG-4049-withdraw-methods 2025-01-22 22:23:41 +05:30
royvardhan
f3363a24f4 fix: disable slither for native withdraw 2025-01-22 22:14:10 +05:30
royvardhan
136adafa6d fmt 2025-01-22 22:09:05 +05:30
royvardhan
2c3af0ff31 feat: add receiver in event 2025-01-22 22:05:28 +05:30
royvardhan
c6c0ddd498 fix: use send for native transfer 2025-01-22 22:01:30 +05:30
royvardhan
0c05874477 fix: ci 2025-01-22 20:54:36 +05:30
royvardhan
a1e7b552b6 fix: undo rm lib 2025-01-22 20:35:55 +05:30
royvardhan
78fa890cd3 feat: add withdraw methods 2025-01-22 20:33:24 +05:30
semantic-release-bot
60f4274304 chore(release): 0.7.0 [skip ci]
## [0.7.0](https://github.com/propeller-heads/tycho-execution/compare/0.6.0...0.7.0) (2025-01-22)

### Features

* UniswapV2 Swap Encoder ([7b4bf02](7b4bf0205d))
2025-01-22 14:59:41 +00:00
Tamara
4918036d23 Merge pull request #16 from propeller-heads/encoding/tnl/ENG-4066-usv2-swap
feat: UniswapV2 Swap Encoder
2025-01-22 09:57:09 -05:00
TAMARA LIPOWSKI
ef07f49698 chore: merge main 2025-01-22 09:51:50 -05:00
dianacarvalho1
113a996c16 Merge pull request #14 from propeller-heads/encoding/dc/remove-expects
chore: Do not use expect
2025-01-22 14:38:50 +00:00
TAMARA LIPOWSKI
748a3f06c3 chore: Renamings for clarity 2025-01-22 09:33:08 -05:00
TAMARA LIPOWSKI
cc979880e2 chore: Rename address_for_approvals -> router_address
When will this not be the router address that we use for approvals? It will always be the router address. address_for_approvals sounds to me very vague (which approvals?).
2025-01-21 16:35:19 -05:00
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