Commit Graph

548 Commits

Author SHA1 Message Date
TAMARA LIPOWSKI
c974312a37 feat: Bebop executor in base 2025-08-18 18:23:32 -04:00
Diana Carvalho
72b60aa324 feat: Update BebopExecutor deployed address
Took 38 minutes
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
914bc69485 test: Remove unnecessary setup in Bebop.t.sol
Took 6 minutes
2025-08-14 09:59:07 +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
adrian
e03ecf48d5 feat: add hashflow executor 2025-08-14 10:42:51 +02:00
Diana Carvalho
cf0921076f chore: Remove unnecessary entries in calldata.txt
Took 5 minutes
2025-08-13 15:43:10 +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
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
ee3d0cc060 chore: Update BebopExecutionHarness 2025-08-10 18:06:08 -03:00
pedrobergamini
29dc960a63 chore: fix encoding 2025-08-10 17:24:29 -03:00
pedrobergamini
97a961ecb8 chore: fix single encoding bebop tests 2025-08-10 16:59:06 -03:00
pedrobergamini
712d863368 chore: cleanup tech debt from Bebop tests and the execution harness 2025-08-08 12:28:24 -03:00
pedrobergamini
7f8e1e6e3b chore: assert exact eth balance at aggregate test 2025-08-08 12:00:12 -03:00
pedrobergamini
a76c35d95e chore: resolve merge conflicts 2025-08-08 11:41:00 -03:00
pedrobergamini
c0d49f95ad chore: commit progress so far on test fixing 2025-08-08 11:35:43 -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
1336eb5f90 chore: start implementing test changes related to partialFillOffset and encoded receiver 2025-08-05 22:45:48 -03:00
pedrobergamini
504a4db702 chore: include partialFillOffset as part of user_data 2025-08-05 20:32:42 -03:00
pedrobergamini
4cb570edb1 chore: fix test filledTakerAmount extraction and decoding logic 2025-08-04 18:52:53 -03:00
pedrobergamini
d4df49a796 chore: strip selector from calldata to setup state for harness 2025-08-04 18:13:06 -03:00
pedrobergamini
49754e654e chore: fix filledTakerAmount calldata override logic 2025-08-04 18:12:31 -03:00
pedrobergamini
7ef587575a chore: create internal _swap method for harness usage 2025-08-04 14:51:58 -03:00
pedrobergamini
3c7a846ff4 chore: update filledTakerAmount 0 logic 2025-08-04 14:23:20 -03:00
pedrobergamini
276d611157 chore: update BebopExecutor 2025-08-04 10:25:00 -03:00
Diana Carvalho
51d9484de0 fix: Rename mainnet to ethereum in txServiceUrls for Safe
This is used the scripts that interact with TychoRouter

Took 7 minutes
2025-07-31 17:08:28 +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
5bf5c8124b docs: Extend Uniswap X deployment docs
--- don't change below this line ---
ENG-4675 Took 4 minutes
2025-07-15 17:13:05 +01:00
Diana Carvalho
d2d8b29056 fix: Read Tycho Router addresses from file
--- don't change below this line ---
ENG-4675 Took 17 minutes
2025-07-15 17:08:26 +01:00
Diana Carvalho
efa6fae0e8 feat: Uniswap X deployment script
--- don't change below this line ---
ENG-4675 Took 23 minutes
2025-07-15 10:01:38 +01:00
TAMARA LIPOWSKI
a0531bdfad chore: typo fix 2025-07-11 17:18:32 -04:00
TAMARA LIPOWSKI
a53fa6502d test: rewrite testExecute without hack
- We can use the same transaction as the integration test, with a different low-fee USV3 pool.
- Don't need to roll the fork either.
2025-07-11 17:17:32 -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
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
TAMARA LIPOWSKI
9e2f228a47 fix: use encodePacked to encode if approval needed
- Also approve max amount for the tycho router to use (to save on gas)
2025-07-09 14:32:43 -04:00
TAMARA LIPOWSKI
1b6a24fd75 fix: silence slither on native address setting
- We don't need a zero address check, since we expect this to be the zero address for most cases.
2025-07-09 12:21:12 -04:00
TAMARA LIPOWSKI
3752c155ea feat: Handle native ETH outputs
- In this case, the ETH needs to be manually transferred to the reactor.
- Native ETH input is not supported for UniswapX

Source:
https://support.uniswap.org/hc/en-us/articles/17544708791821-Are-there-network-costs-for-UniswapX
2025-07-09 12:21:12 -04:00
TAMARA LIPOWSKI
e243667f9e feat: (WIP) Handle approvals in UniswapXFiller
Reasons for using regular approvals instead of permit2:
- More simplicity, simpler setup
- Unfortunately we won't be able to "expire" approvals, which is a risk we may be okay with taking - since one advantage of this is that we will be able save on gas by not approving the reactor every single time (is this our intention?)

TODO:
- Do we really need input tokens to pass through our router?
- Handle native ETH (double check how this is transferred in the reactor)
2025-07-09 12:21:12 -04:00
Tamara
8518a3a756 Merge branch 'main' into usx/tnl/ENG-4668-naive-callback 2025-07-09 08:06:57 -04:00
dianacarvalho1
7a13f9e510 Merge branch 'main' into router/dc/ENG-4611-update-executors-scripts-safe 2025-07-09 09:35:15 +01:00
TAMARA LIPOWSKI
a2d123a263 fix: disable slither warnings
- locked-ether: We do have a withdraw method. Not sure why it doesn't register with slither. Already tried renaming.
- low-level-calls: This low level call is integral to the design of our filler contract.=
2025-07-08 14:00:17 -04:00
TAMARA LIPOWSKI
a114dfc9da feat: UniswapXFiller callback - naive implementation
Added testCallback + execution integration test with real onchain data
2025-07-08 12:05:15 -04:00
Diana Carvalho
ba60e4bb73 fix: Simplify nonceOffset logic
Set new role addresses for all chains

Took 1 hour 43 minutes
2025-07-08 16:55:41 +01:00