Commit Graph

281 Commits

Author SHA1 Message Date
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
TAMARA LIPOWSKI
67ce2f71de Merge remote-tracking branch 'origin/router/tnl/ENG-4253-usv4-integration' into router/tnl/ENG-4253-usv4-integration 2025-02-20 12:26:47 -05:00
TAMARA LIPOWSKI
447195a4a8 test: fix test after latest changes 2025-02-20 12:26:17 -05:00
Tamara
be21d10a41 Merge branch 'main' into router/tnl/ENG-4253-usv4-integration 2025-02-20 12:16:07 -05:00
TAMARA LIPOWSKI
d65d575003 feat: Don't encode min amount for USV4
We aren't checking min amount for any other executor. This would be overkill (since we are already checking in the main router) and also inconsistent.
2025-02-20 12:15:40 -05:00
royvardhan
29bc662ba9 refactor: use chain and protocol component from tycho_core::models 2025-02-20 22:36:50 +05:30
TAMARA LIPOWSKI
9eda00cbb6 chore: PR comments 2025-02-20 11:51:08 -05:00
TAMARA LIPOWSKI
bb8778b2bf chore: merge main 2025-02-20 11:45:18 -05:00
royvardhan
7dd59dbe34 fix: add decode_hex to models 2025-02-20 21:54:33 +05:30
royvardhan
dc38f108c3 refactor: simplify chain object and move decode_hex to utils 2025-02-20 21:54:33 +05:30
royvardhan
83f1955094 feat: add native and weth addresses for supported networks 2025-02-20 21:54:33 +05:30
TAMARA LIPOWSKI
45fdfc708d feat: UniswapV4 integration test and fixes
- Biggest issue: We must encode the executor address, not the router address, in the USV4 swap encoder
2025-02-19 18:12:11 -05:00
TAMARA LIPOWSKI
81c8a04cbb fix: Pass proper group tokens in EncodingContext...
Also:
- Remove amount_out_min. Our reasoning is that we perform high-level final amount checks anyway (and expect users to do the same). Lower-level USV4 min amount checks are redundant.
2025-02-19 16:27:56 -05:00
TAMARA LIPOWSKI
c3482a509a feat: TychoRouter swap method not requiring Permit2
- Assume the tokens have been transferred into our router beforehand.
2025-02-19 16:15:57 -05:00
Harsh Vardhan Roy
6c4bb376fd Merge branch 'main' into router/hr/ENG-4239-usv4-swap-encoder 2025-02-20 00:07:43 +05:30
royvardhan
c472cda697 refactor: make group tokens and amount out min non optional 2025-02-20 00:05:47 +05:30
royvardhan
e2a2aaaad1 refactor: usv4 swap encoder test, encoder 2025-02-19 23:59:27 +05:30
royvardhan
1e9b411ca5 chore: rm redundant pool params encoder fn 2025-02-19 23:07:26 +05:30
Diana Carvalho
4f29022c42 fix: After rebase fixes
--- don't change below this line ---
ENG-4246 Took 2 minutes
2025-02-19 17:05:46 +00:00
Diana Carvalho
359bb806f7 docs: Add docstrings to EVMEncoderBuilder
--- don't change below this line ---
ENG-4246 Took 41 minutes
2025-02-19 17:03:25 +00:00
Diana Carvalho
684de4fa60 feat: Add methods to builder to set chain and strategy independently
--- don't change below this line ---
ENG-4246 Took 15 minutes
2025-02-19 17:03:25 +00:00
Diana Carvalho
4741e628b8 chore: Simplify tycho-encode
Don't have a cli as a lib. Move that directly inside tycho-encode.rs for simplicity

--- don't change below this line ---
ENG-4246 Took 29 minutes
2025-02-19 17:03:25 +00:00
Diana Carvalho
d9d56e7a8c chore: Rename signer_pk to swapper_pk
--- don't change below this line ---
ENG-4246 Took 15 minutes
2025-02-19 17:03:25 +00:00