Commit Graph

240 Commits

Author SHA1 Message Date
die-herdplatte
92b5a8adb5 Remove split check 2025-03-26 12:15:50 +01:00
die-herdplatte
261e2b2091 Merge remote-tracking branch 'upstream/main' into ekubo 2025-03-26 08:25:37 +01:00
TAMARA LIPOWSKI
1ed149a9b8 fix: Remove pancakeswap V3 from approved executor addresses
- Our router does not properly support pancakeswap.
2025-03-20 12:40:03 -04:00
TAMARA LIPOWSKI
783712be5d feat: Set v2/v3 executor addresses on ethereum
- Also fix router address env name in readme
2025-03-20 12:40:03 -04:00
die-herdplatte
9e6af4b99f cargo fmt & clippy 2025-03-20 14:18:15 +01:00
die-herdplatte
ce7362ef24 Error on unsupported options 2025-03-20 14:17:20 +01:00
die-herdplatte
af5742550f Add encoder tests 2025-03-20 11:27:06 +01:00
die-herdplatte
e954bc7e59 Fix attribute name 2025-03-20 11:26:52 +01:00
die-herdplatte
05d6286921 Merge remote-tracking branch 'origin/main' into ekubo 2025-03-20 09:59:19 +01:00
die-herdplatte
3c982c5824 Ekubo integration 2025-03-20 09:58:40 +01:00
TAMARA LIPOWSKI
d644b63851 fix: Slippage precision calculation
- The resolution wasn't high enough before, so 0.1% slippage would round to 0% slippage. We should instead use basis point resolution to overcome this.
2025-03-18 21:29:38 -04:00
Diana Carvalho
e96bcdfd0f fix: Add individual tests for each case
(split output and native action)

--- don't change below this line ---
ENG-4331 Took 6 minutes
2025-03-14 11:30:19 +00:00
Diana Carvalho
27c9c53889 feat: Add check to don't support cyclical swaps with native actions
Remove unnecessary tests and improve comments

--- don't change below this line ---
ENG-4331 Took 30 minutes
2025-03-13 17:34:50 +00:00
Diana Carvalho
0aba7edf83 fix: In test asset, use 0 for the last split, and not 0.5
--- don't change below this line ---
ENG-4331 Took 5 minutes
2025-03-13 16:50:39 +00:00
Diana Carvalho
f62a9d28c0 feat: Add validation for cyclical trades
We only support cyclical trades when the repeated token is the first and the last token in the swap. We don't support cycles in between

--- don't change below this line ---
ENG-4331 Took 2 hours 4 minutes

(cherry picked from commit 55ffa4eb45)

Took 5 minutes


Took 2 minutes
2025-03-13 16:30:54 +00:00
Diana Carvalho
3d7dcef1bd Revert "feat: Add validation for cyclical trades"
This reverts commit 55ffa4eb45.

Took 5 minutes

Took 2 minutes

# Commit time for manual adjustment:
# Took 2 minutes
2025-03-13 16:26:06 +00:00
Diana Carvalho
55ffa4eb45 feat: Add validation for cyclical trades
We only support cyclical trades when the repeated token is the first and the last token in the swap. We don't support cycles in between

--- don't change below this line ---
ENG-4331 Took 2 hours 4 minutes
2025-03-13 16:13:28 +00:00
royvardhan
b0e0c6d490 test: update cyclic swap encoding test asserts 2025-03-12 00:49:42 +05:30
royvardhan
ec26890d00 test: add assert in cyclic swap encoding tests 2025-03-12 00:49:42 +05:30
royvardhan
eb4ce40f6e test: add testCyclicSwapUnwrapOutputIntegration in encoder and testCyclicSwapUnwrapOutputIntegration test 2025-03-12 00:49:42 +05:30
royvardhan
525560ea16 chore: cleanup 2025-03-12 00:49:42 +05:30
royvardhan
bd504a8fed test: update test_split_input_cyclic_swap to use usv2 in the last swap 2025-03-12 00:49:42 +05:30
royvardhan
0edc201f06 test: add test_split_output_cyclic_swap in encoder, and testCyclicSplitOutputSwapIntegration integration test 2025-03-12 00:49:42 +05:30
royvardhan
3a6e933ce9 test: fix test_split_input_cyclic_swap and testCyclicSplitSwapIntegration 2025-03-12 00:49:42 +05:30
royvardhan
0a0101cc4d test: add testCyclicSplitSwapIntegration 2025-03-12 00:49:42 +05:30
royvardhan
79d6c020fa misc: fix _swapChecked for cyclic swap, update encoder swap path validation, add cyclic sequesntial swap integration test 2025-03-12 00:49:42 +05:30
TAMARA LIPOWSKI
a4476e0a17 feat: enforce checked amount when encoding to router
- If using the tycho router, you must either set the slippage with the expected amount in the solution, or you must set the checked amount
- Decided to put this in the split swap strategy validator, since this is not relevant when it comes to direct execution (no checks are performed inside the executors)
2025-03-05 15:59:57 -05:00
Diana Carvalho
5c28d77f1d feat: Check min amount out is not zero
Update tests

--- don't change below this line ---
ENG-4286 Took 57 minutes


Took 20 seconds
2025-03-05 17:53:51 +00:00
Tamara
bf3910831f Merge branch 'main' into encoding/tnl/chain-agnostic-rpc 2025-03-03 11:33:51 -05:00
Diana Carvalho
6f572eed01 feat: Rename shortcut methods of encoder builder
Also moved executors_file_path to be an independent attribute

--- don't change below this line ---
ENG-4286 Took 19 minutes
2025-03-03 12:59:42 +00:00
TAMARA LIPOWSKI
9bb0d9bc84 feat: Rename ETH_RPC_URL -> RPC_URL
We support multiple chains so this may not just be ETH, but perhaps a Base URL for example.
2025-02-28 14:03:26 -05:00
Diana Carvalho
fedc5043db feat: Deploy to mainnet (again)
--- don't change below this line ---
ENG-4260 Took 22 minutes
2025-02-27 18:01:15 +00:00
Diana Carvalho
3d65ac8cd9 feat: Deploy to mainnet. Update all addresses
--- don't change below this line ---
ENG-4260 Took 27 minutes


Took 10 seconds
2025-02-27 17:25:54 +00:00
Diana Carvalho
05a1843f9c fix: Add a value to the Transaction if token in is ETH
not only if the action is unwrap

--- don't change below this line ---
ENG-4260 Took 11 minutes
2025-02-27 12:39:16 +00:00
Diana Carvalho
9eb4299ffe fix: the key for univ4 fee is key_lp_fee
Update tests with new executor addresses as well

--- don't change below this line ---
ENG-4260 Took 6 minutes
2025-02-27 11:49:03 +00:00
Diana Carvalho
6a6f2d3221 fix: Get correct runtime everywhere
Made an utils function for it to make sure it is used correctly

--- don't change below this line ---
ENG-4260 Took 9 minutes
2025-02-27 11:16:21 +00:00
Diana Carvalho
57789a40e4 fix: Unify both executor addresses in one file
- Move executor_addresses.json to a top level directory
- Delete executors.json
- Use the same file for both encoding and setting executors

--- don't change below this line ---
ENG-4260 Took 19 minutes


Took 11 seconds
2025-02-26 10:10:30 +00:00
Diana Carvalho
34563c3eb7 feat: Deploy on mainnet
Also update executors.json with uniswap v2 address on mainnet

--- don't change below this line ---
ENG-4101 Took 22 minutes


Took 7 seconds
2025-02-26 09:49:00 +00:00
royvardhan
0e049b7c44 chore: rm selector from Transaction 2025-02-24 22:20:51 +05:30
royvardhan
892726e07b chore: cleanup 2025-02-24 21:41:19 +05:30
royvardhan
bfaa63a1a0 test: fix router tests with new integration calldata 2025-02-24 21:37:40 +05:30
royvardhan
570aa50497 test: fix encoder tests after removing the selector 2025-02-24 20:48:55 +05:30
royvardhan
18efe0305b fix: usv4 integration tests and remove selector from swap/strategy encoder 2025-02-24 19:48:25 +05:30
Harsh Vardhan Roy
63ce121cf9 Merge branch 'main' into encoder/hr/ENG-4245-strategy-swap-encoder-docs 2025-02-21 20:20:26 +05:30
TAMARA LIPOWSKI
023ae9c1ea chore: merge main 2025-02-21 09:48:22 -05:00
TAMARA LIPOWSKI
a7aa4d7ebb fix: Native ETH input/output integration tests/fixes
- Only for single swaps
- Used USV4 for this because it's the only DEX we support that allows native ETH swaps
- For Native ETH input single swaps, we need to properly check the remaining amount (we were treating them wronly like ERC20 tokens)
- For Native ETH output single swaps, we were passing the incorrect currency (the settle always needs to be the out token and the take always needs to be the in token, this should not depend on the zeroForOne value).
2025-02-21 00:23:24 -05:00
Diana Carvalho
8b2af4f577 feat: Implement Clone for EVMTychoEncoder
--- don't change below this line ---
ENG-4255 Took 6 minutes
2025-02-20 18:29:14 +00:00
Diana Carvalho
20e6419a20 feat: Adapt SplitSwapStrategyEncoder to have optional permit2 logic
- If the signer_pk is not passed -> use the swap method that expects the tokens to be already in the Router
- If it is passed -> compute permit2 and use swap method that does the token in transfer
- Extend builder to have another shortcut
- Add integration test with contract
- Update bin (and simplified it) and quickstart

--- don't change below this line ---
ENG-4255 Took 1 hour 51 minutes

Took 2 minutes

Took 7 seconds
2025-02-20 18:29:11 +00:00
royvardhan
4b20a1164b docs: add docs for TychoEncoder, StrategyEncoder and SwapEncoder traits 2025-02-20 23:40:53 +05:30
TAMARA LIPOWSKI
2c92596681 chore: merge main 2025-02-20 12:33:59 -05:00