46 Commits

Author SHA1 Message Date
Diana Carvalho
d13b4d8586 fix: Hook and hook data are per pool! not per swap
This was a big bug that was blocking a grouped swap in uniswap v4 with hooks
Updated execution and encoding to match te fix

Took 49 minutes
2025-10-09 12:05:53 +02:00
adrian
3e92b1be66 refactor: use SwapBuilder in integration tests 2025-10-09 11:38:38 +02:00
TAMARA LIPOWSKI
a50cc5ca7a chore: test rename, comment improvements 2025-10-07 12:49:15 +02:00
TAMARA LIPOWSKI
ae1b1f8850 fix: Don't PLE-encode for Ekubo
Our encoding uses PLE for subsequent swaps in a swap group. The EkuboExecutor assumes hard-coded hop length, which did not match the encoding side - leading to corrupted calldata in any swap after the first swap.
2025-10-07 12:27:25 +02:00
Diana Carvalho
e78a362894 feat: Pass the file contents instead of the file path for executors
This is better because passing paths around might be really complex when running the code in another environments that is not local

Took 30 minutes
2025-09-25 09:34:43 +01:00
TAMARA LIPOWSKI
1a49e3f3f6 chore: merge main 2025-08-27 23:27:58 -04:00
adrian
09202b3170 refactor: remove user_data from bebop encoded data 2025-08-27 18:05:51 +02:00
TAMARA LIPOWSKI
ea9a1a88ca fix: revert hooks rename
- Instead, add a new attribute to the builder, constants, and executor addresses json
- This was a miscommunication. Regular pools will still have the same name - only those with hooks will have hook appended to it
2025-08-21 17:40:28 -04:00
TAMARA LIPOWSKI
03414532c6 chore: merge main 2025-08-21 14:31:05 -04:00
TAMARA LIPOWSKI
c1d88be329 feat: rename "uniswap_v4" to "uniswap_v4_hooks"
to match the indexer
2025-08-21 14:00:01 -04:00
TAMARA LIPOWSKI
e9c1a39608 fix: Updates to new datatype after merging main 2025-08-21 11:03:01 -04:00
Tamara
acb93c0fe6 Merge branch 'main' into rfqs/tnl/ENG-4798-arc-protocol-state 2025-08-21 10:43:50 -04:00
adrian
f4d3fe75e8 test: fix executor tests after removing the effectiveTrader field 2025-08-21 13:11:13 +02:00
adrian
52c91a12b8 refactor: remove effectiveTrader from calldata and always set it to trader's value 2025-08-21 13:11:13 +02:00
adrian
2b9f9a99f2 test: remove partial_fill_offset from MockRFQState 2025-08-21 13:11:13 +02:00
adrian
77de0d892a test: add sequential swap tests for hashflow 2025-08-21 13:11:13 +02:00
adrian
93db953c62 feat: implement SwapEncoder for Hashflow 2025-08-21 13:11:13 +02:00
TAMARA LIPOWSKI
a2a53195ed feat: Use Arc instead of & for protocol_state in Swap
- dealing with lifetimes makes refactoring painful for our users.
2025-08-20 15:25:16 -04:00
Diana Carvalho
0df328ee87 chore: Fix comment and error message
Took 12 minutes


Took 15 seconds
2025-08-14 17:46:26 +01:00
Diana Carvalho
22920617eb feat: Support Bebop quote through IndicativelyPriced state
Made a new feature gate (test-utils) for MockRFQState

Took 2 hours 19 minutes
2025-08-14 13:01:40 +01:00
Diana Carvalho
d301dfcc44 fix: After merge fixes with SwapBuilder
Took 4 minutes
2025-08-14 10:03:32 +01:00
Diana Carvalho
7a5ee8b57b Merge branch 'refs/heads/main' into feat/bebop-rfq-encoder-and-executor 2025-08-14 09:58:21 +01:00
Diana Carvalho
5eb9973dbd feat: Add estimated_amount_in to Swap. Add SwapBuilder
Use SwapBuilder everywhere inside crate
Integration tests will be done later

--- don't change below this line ---
ENG-4696 Took 1 hour 56 minutes

Took 4 minutes
2025-08-13 18:05:17 +01:00
Diana Carvalho
e79347842f fix(Bebop): Fix encoding and tests
Misc: Fix revert condition in UniswapXFiller

Took 1 hour 20 minutes
2025-08-13 15:11:43 +01:00
Diana Carvalho
7024da395d fix(Bebop): Fix AggregateOrder tests
Delete BebopExecutionHarness.t.sol

Took 53 minutes
2025-08-12 18:38:10 +01:00
Diana Carvalho
76a09d0402 fix: Simplify the BebopExecutor and fix Single tests
Make specific quotes that are expected to be used by the TychoRouter for the tests. Do not use the BebopHarness
Commented out Aggregate tests

Took 6 hours 40 minutes
2025-08-12 16:11:42 +01:00
pedrobergamini
29dc960a63 chore: fix encoding 2025-08-10 17:24:29 -03:00
pedrobergamini
30a5bd0585 chore: fix single encoding issue 2025-08-10 16:58:12 -03:00
Diana Carvalho
003ab7cea8 fix: After merging main fixes
Took 10 minutes
2025-08-08 14:54:40 +01:00
Diana Carvalho
42609df650 Merge branch 'refs/heads/main' into feat/bebop-rfq-encoder-and-executor
# Conflicts:
#	config/executor_addresses.json
#	foundry/scripts/deploy-executors.js
#	foundry/test/TychoRouterSequentialSwap.t.sol
#	foundry/test/assets/calldata.txt
#	src/encoding/models.rs
#	tests/common/mod.rs

Took 21 minutes
2025-08-08 14:40:03 +01:00
Diana Carvalho
c42a5dae6a fix: Encode sequential swaps with unwrapping WETH correctly
Took 24 minutes


Took 1 minute

Took 24 seconds
2025-08-06 18:02:24 +01:00
pedrobergamini
f065abbdc9 chore: add build_bebop_calldata helper and fix user_data building 2025-08-05 20:33:23 -03:00
Diana Carvalho
c399e316f5 Merge branch 'refs/heads/main' into hooks/dc/ENG-4624-pass-hook-data
# Conflicts:
#	foundry/test/assets/calldata.txt

Took 9 minutes
2025-07-31 17:50:45 +01:00
TAMARA LIPOWSKI
c217702560 feat: Add protocol state to Swap object
- This consists of lots of necessary battles with lifetimes.
2025-07-22 12:13:39 -04:00
TAMARA LIPOWSKI
e775238b08 fix: chain id call after main update 2025-07-14 11:29:03 -04:00
Tamara
f329d41b76 Merge branch 'main' into usx/dc/ENG-4673-integration-test 2025-07-14 09:06:31 -04:00
TAMARA LIPOWSKI
4ba59192fc feat: add testExecuteIntegration
- Needed to change the integration test setup to use two USV3 pools instead of one V3 and V2, since the V2 pool was taking too much fees for the order to be fulfilled.
- Also needed to change the fork block to make this test work, which meant also needing to update the data for the existing testExecute.
2025-07-11 17:05:45 -04:00
Diana Carvalho
2c25b5a18f feat: Use Chain from tycho-core and remove current implementation
--- don't change below this line ---
ENG-4705 Took 29 minutes
2025-07-10 17:20:53 +01:00
TAMARA LIPOWSKI
7cf8a7eeed chore: nightly fmt 2025-07-09 15:47:43 -04:00
TAMARA LIPOWSKI
4fef906e42 test: Use calldata in USX integration test
- Needed to update the filler address with the one from the test
- Removed unnecessary approval from non-integration test. The approval is now performed in the callback method.
2025-07-09 15:44:41 -04:00
Diana Carvalho
96d0bf4ba5 fix: Replicate a real Uniswap X order in integration test
Took 16 minutes
2025-07-09 14:38:48 -04:00
Diana Carvalho
d2ba255417 test: Add encoding test for a uniswap X integration test
Took 26 minutes
2025-07-09 14:38:48 -04:00
Diana Carvalho
01ab5d22b1 fix: Move Bebop tests according to new setup
Encoding: integration tests are now separate and inside their own test folder
Execution: the final integration test should be inside of the protocol test file now and not in TychoRouterProtocolIntegration.t.sol. For this I had to move the BebopExecutionHarness.t.sol outside of the Bebop test file (because of imports)

Took 24 minutes

# Commit time for manual adjustment:
# Took 2 minutes
2025-06-24 10:42:09 +01:00
Diana Carvalho
1d952b19be fix: After rebase fixes
Took 5 minutes
2025-06-23 15:50:45 +01:00
Diana Carvalho
df63b87569 fix: Add optimized_transfers_integration_tests.rs
I forgot these tests in the previous PR

Took 24 minutes
2025-06-23 15:34:11 +01:00
Diana Carvalho
e09789f347 test: Refactor tests
- Move encoding integration tests to integration test folder (in the rust project)
- Move protocol integration tests be inside the protocol file. This way we can change the block without any problems and it is easier for integrators

Took 6 minutes

Took 6 minutes


Took 17 minutes
2025-06-23 15:02:20 +01:00