Commit Graph

149 Commits

Author SHA1 Message Date
tim
5c930b1187 Liquidity Party execution 2025-12-10 14:47:04 -04:00
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
ed61a01e8a refactor: use Bytes instead of String for addresses in encoders 2025-10-09 09:30:29 +02:00
Diana Carvalho
c51c6f52a5 feat: Add historical_trade option to encoding
Adding it is necessary because sometimes we use the encoding crate for historical trades for testing. This is relevant for protocols that need token approvals like Balancer v2 and Curve. For this case, we prefer to set the approval flag to always be true than checking if it's necessary using and RPC. This RPC check would be wrong because it always uses the latest block

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
2c38cf84fc fix: access hooks attr, not hook
This was a discrepancy between indexer and execution.
2025-08-21 17:41:03 -04:00
TAMARA LIPOWSKI
03414532c6 chore: merge main 2025-08-21 14:31:05 -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
52c91a12b8 refactor: remove effectiveTrader from calldata and always set it to trader's value 2025-08-21 13:11:13 +02:00
adrian
5c5678f291 test: update hashflow sequential swap test 2025-08-21 13:11:13 +02:00
adrian
c013bf7072 fix: in bebop's encode_swap, fail early if router address is not present 2025-08-21 13:11:13 +02:00
adrian
c506f2c048 fix: in hashflow's encode_swap, fail early if router address is not present 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
987956eb0b fix: Implement From<SimulationError> for EncodingError
Took 6 minutes
2025-08-18 09:50:12 +01: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
83a44b4d46 test(Bebop): Add a test selling ETH
Took 14 minutes
2025-08-13 15:35:36 +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
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
pedrobergamini
712d863368 chore: cleanup tech debt from Bebop tests and the execution harness 2025-08-08 12:28:24 -03:00
pedrobergamini
a76c35d95e chore: resolve merge conflicts 2025-08-08 11:41:00 -03:00
pedrobergamini
196900b749 chore: update encoder 2025-08-08 11:35:34 -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
pedrobergamini
2583e9239e chore: fix extract_aggregate_taker_amount and bebop unit tests 2025-08-05 22:44:32 -03:00
pedrobergamini
504a4db702 chore: include partialFillOffset as part of user_data 2025-08-05 20:32:42 -03:00
pedrobergamini
c0f675ff21 chore: fix selectors at encoder 2025-08-04 18:12:04 -03:00
pedrobergamini
75ef134e73 chore: add filter / map loop for taker_amount calculation 2025-08-04 14:00:04 -03:00
pedrobergamini
fe5f72e278 chore: update swap_encoders.rs 2025-08-04 10:31:15 -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
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
Diana Carvalho
0f679d6e06 fix: Use native token curve address and not regular zero address
Took 18 minutes


Took 1 minute
2025-06-27 17:59:37 +01:00
Diana Carvalho
312269dabb fix: Fix wrong log in CurveEncoder
Took 5 minutes
2025-06-27 09:39:13 +01: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
f1281eb703 Merge branch 'refs/heads/main' into feat/bebop-rfq-encoder-and-executor
# Conflicts:
#	foundry/test/TychoRouterProtocolIntegration.t.sol
#	foundry/test/TychoRouterTestSetup.sol
#	foundry/test/assets/calldata.txt
#	foundry/test/protocols/BebopExecutor.t.sol
#	src/encoding/evm/tycho_encoders.rs

Took 4 minutes
2025-06-24 10:17:33 +01:00
Diana Carvalho
1d952b19be fix: After rebase fixes
Took 5 minutes
2025-06-23 15:50:45 +01:00
Diana Carvalho
93678d9d19 feat(univ4): Pass user_data as hook_data in execution
Because we don't know the size of hook data, it needs to be at the end of the protocol data. But we also don't know the size of the intermediary swaps. To solve this, we are now ple encoding the intermediary swaps and only then appending the hook data

Took 2 hours 50 minutes

Took 40 seconds
2025-06-23 15:44:26 +01:00
Diana Carvalho
a0581773cd feat: Support hooks (without special calldata)
Add hook address to encoded data and then use it in execution
Add execution test for Euler

Took 1 hour 19 minutes

Took 2 hours 40 minutes

Took 3 minutes


Took 2 minutes
2025-06-23 15:44:26 +01:00
Diana Carvalho
1d263f8b4c fix: After rebase fixes
Took 6 minutes
2025-06-23 15:02:21 +01:00