585 Commits

Author SHA1 Message Date
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
2adcb89e6d fix: Recalculate calldata after merging main
Took 2 minutes


Took 40 seconds
2025-07-31 18:18:08 +01: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
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
TAMARA LIPOWSKI
d61469ea67 fix: Make slither happy
Naming conventions (mixed case) for variables
2025-07-08 10:24:40 -04:00
TAMARA LIPOWSKI
00f22d62c1 feat: Take reactor address as input to UniswapXFiller
- Put reactor zero address check in separate line for more easy debugging.
- Also includes other small cosmetic changes.
2025-07-08 09:48:25 -04:00
Diana Carvalho
2733bb0072 feat: Upgrade scripts to submit to Safe wallet
Also add revoke-role.js script

Took 4 hours 0 minutes
2025-07-08 12:23:41 +01:00
TAMARA LIPOWSKI
ce1fe1dd94 feat: UniswapXFiller skeleton 2025-07-07 18:13:06 -04:00
dianacarvalho1
c003197c42 Merge branch 'main' into balancer-v3/dc/ENG-4425-deploy 2025-07-07 12:00:51 +01:00
Diana Carvalho
0c01e61d50 chore: Use tycho project in tenderly
Took 15 minutes
2025-07-04 12:15:12 +01:00
greendianasaur
1e499e1e3b Merge branch 'main' into balancer-v3/dc/ENG-4425-deploy 2025-07-01 17:28:36 +01:00
Diana Carvalho
3fe9906e5b feat: Deploy EkuboExecutor with MEV-resist
Took 31 minutes
2025-07-01 16:00:51 +01:00
Diana Carvalho
f9ef8e0dbd feat: Deploy BebopExecutor
Took 40 minutes
2025-06-25 10:04:03 +01:00
die-herdplatte
5aaac2855e forge fmt 2025-06-24 17:42:28 +02:00
die-herdplatte
817aa35557 Merge remote-tracking branch 'upstream/main' into ekubo-mev-resist 2025-06-24 17:40:12 +02:00
Diana Carvalho
210d4fa604 fix: Fix test imports
I think the auto importer messed things up

Took 27 minutes
2025-06-24 16:35:47 +01:00
Diana Carvalho
266e30d1aa feat: Deploy Balancer V3 executor
Took 19 minutes
2025-06-24 11:52:12 +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
pedrobergamini
80c2ef7881 chore: improve test assertion and function ordering 2025-06-23 14:38:57 -03:00