Skip to content

Latest commit

 

History

History
892 lines (462 loc) · 50.1 KB

CHANGELOG.md

File metadata and controls

892 lines (462 loc) · 50.1 KB

0.64.0 (2025-03-13)

Features

  • update tycho-core to 0.61.1 (53b8c6a)

0.63.0 (2025-03-10)

Features

  • add cyclicSwapAmountOut tracker in _swap, add split cylic tests (4d67df4)

Bug Fixes

  • amountConsumed check in _swapChecked for cyclic swap (91f36fe)
  • remove amountIn addition to amountOut in _swap for cyclic swaps, add testCyclicSwapWithTwoPools test to verify (57acbd5)

0.62.0 (2025-03-06)

Features

  • enforce checked amount when encoding to router (a4476e0)

0.61.0 (2025-03-05)

Features

  • Rename Etherscan in deployment verification (bc54eac)

0.60.0 (2025-03-05)

Features

  • Check min amount out is not zero (5c28d77)

0.59.0 (2025-03-05)

Features

  • add transferFrom in swap and move core swap logic inside _swapChecked (f853739)

Bug Fixes

  • TychoRouter swap check test naming and docs (7833086)

0.58.2 (2025-03-05)

Bug Fixes

  • Make permit2 permit an action in the universal router (db9c8cd)

0.58.1 (2025-03-04)

Bug Fixes

  • add amountIn in error TychoRouter__AmountInDiffersFromConsumed (a3bffd4)
  • inequality check for amountConsumed and amountIn (6f421eb)

0.58.0 (2025-03-03)

Features

  • Rename ETH_RPC_URL -> RPC_URL (9bb0d9b)

0.57.0 (2025-03-03)

Features

  • Rename shortcut methods of encoder builder (6f572ee)

0.56.0 (2025-02-28)

Features

  • update base executor addresses (bc47c12)

Bug Fixes

  • make USV2 factory configurable in Executor (33973a6)

0.55.0 (2025-02-27)

Features

  • Change license to SPDX-License-Identifier: UNLICENSED everywhere (59eb219)
  • Deploy to mainnet (again) (fedc504)
  • Deploy to mainnet. Update all addresses (3d65ac8)
  • Verify contracts on etherscan (79045e2)

0.54.0 (2025-02-27)

Features

Bug Fixes

  • Add a value to the Transaction if token in is ETH (05a1843)
  • Get correct runtime everywhere (6a6f2d3)
  • the key for univ4 fee is key_lp_fee (9eb4299)

0.53.1 (2025-02-27)

Bug Fixes

  • remove 0 amount check in _unwrapEth (0273f58)

0.53.0 (2025-02-26)

Features

  • support base deployment (7ca9120)

Bug Fixes

  • (deployment) add tenderly keys to json files (1bdcbb8)
  • proper executor address json after merge (adfcb3d)
  • rename mainnet -> ethereum (ac35256)
  • TENDERLY_RPC_URL -> RPC_URL (e5759b9)

0.52.2 (2025-02-26)

0.52.1 (2025-02-26)

0.52.0 (2025-02-26)

Features

  • Add deployment and fund wallet scripts (cbea0bd)
  • Deploy executors and set them in router (02a9da1)
  • Deploy on mainnet (34563c3)
  • Set roles script (90cf194)
  • Verify router contract on tenderly (77ba949)

Bug Fixes

  • Unify both executor addresses in one file (57789a4)

0.51.2 (2025-02-26)

Bug Fixes

  • Restrict receive callers to have code (801976f)

0.51.1 (2025-02-25)

0.51.0 (2025-02-24)

Features

  • hardcode callback and swap selection in dispatcher (58116e0)
  • rm selector from usv3, usv4, update tests, and rename dispatcher file (69745b1)

Bug Fixes

  • usv4 integration tests and remove selector from swap/strategy encoder (18efe03)

0.50.0 (2025-02-22)

Features

  • add target verification for usv2 and usv3 using _computePairAddress (7936ba1)

0.49.0 (2025-02-21)

Features

  • Use openzepplin's sendValue instead of send for ETH transfers (0ba5d02)

0.48.1 (2025-02-21)

Bug Fixes

  • Native ETH input/output integration tests/fixes (a7aa4d7)

0.48.0 (2025-02-21)

Features

  • Adapt SplitSwapStrategyEncoder to have optional permit2 logic (20e6419)
  • Implement Clone for EVMTychoEncoder (8b2af4f)
  • Update tycho-core (c6c734d)

0.47.0 (2025-02-20)

Features

  • Don't encode min amount for USV4 (d65d575)
  • UniswapV4 integration test and fixes (45fdfc7)

Bug Fixes

  • Pass proper group tokens in EncodingContext... (81c8a04)

0.46.1 (2025-02-20)

0.46.0 (2025-02-20)

Features

  • add native and weth addresses for supported networks (83f1955)

Bug Fixes

  • add decode_hex to models (7dd59db)

0.45.0 (2025-02-20)

Features

  • TychoRouter swap method not requiring Permit2 (c3482a5)

0.44.0 (2025-02-19)

Features

  • add integration test for complex swaps (5e9b388)
  • add new attributes in encoding context, update usv4 swap encoder and tests (1bfe656)
  • add single swap integration test for usv4 executor (529456f)
  • add usv4 swap encoder with single swap test (789416b)
  • add util fns, change callback_selector to string, update first_swap check (9219dd3)
  • early return in usv4 swap encoder for second swap, add utils (f7ddace)
  • update test_encode_uniswap_v4_grouped (baeebb9)

Bug Fixes

  • update EncodingContext in strategy_encoder (7f3aca9)

0.43.0 (2025-02-19)

Features

  • Add methods to builder to set chain and strategy independently (684de4f)
  • Create a EVMEncoderBuilder (03506fa)
  • Remove direct_execution from Solution (8537d27)

Bug Fixes

0.42.0 (2025-02-19)

Features

  • Support swap grouping for executor strategy (ac83117)

0.41.0 (2025-02-18)

Features

  • add back uniswapV3SwapCallback in router (260f9d8)
  • add uniswapV3SwapCallback in USV3 executor (9d3b96f)
  • Change signature of _handleCallback to take only bytes calldata (2aa63d7)
  • fix input decoding in usv3 executor and execution dispatcher (80500e6)
  • move callback testing to usv3 executor (5853de6)
  • rename execution dispatcher to dispatcher and use dispatcher for USV4 callback (ad91e48)
  • update _handleCallback, add verifyCallback with docs (076586d)
  • update handleCallback in USV3 to do verification (cccb252)
  • update new interface in codebase (bd19713)

0.40.0 (2025-02-18)

Features

  • (WIP) UniswapV4 encoding (f32210b)
  • Generalize group_swaps method (47b6180)
  • Merge USV4 strategy back into split strategy (44aabf1)

Bug Fixes

  • Do not count intermediary tokens in indices (e94154b)
  • Do not group split swaps (957bf89)

0.39.0 (2025-02-14)

Features

  • univ4: Implement swapping with multiple hops (21a8c1a)
  • univ4: Refactor input and handle single swap case (be7883a)

Bug Fixes

  • Fix PLE tests that break after foundry update (69d03f0)
  • univ4: Append callback data instead of prepending (4d0f5ce)
  • univ4: Make slither happy (8a8bc69)

0.38.0 (2025-02-13)

Features

  • Add a production foundry profile (dae38ce)
  • Support uniswap v4 callback in TychoRouter (591d73b)

Bug Fixes

  • Verify that the executor exists in the uni v4 callback (4c5e3bf)

0.37.0 (2025-02-12)

Features

  • add callback (ed90cb4)
  • add new pair test (7ca647f)
  • add router params (e62c332)
  • add test for UniswapV4Executor (4599f07)
  • add univ4 executor (cb4c8f4)
  • handle amounts in unlockCallback (b2097ca)
  • move encoding to test (c264084)
  • support multi swap decoding (d998c88)
  • update solc and add V4Router into UniswapV4Executor (bdd3daf)

Bug Fixes

  • _pay and msgSender (d790682)
  • add equality check, amountInOrOut check, update _decodeData (b47cff3)
  • git submodules and strict equality check in v4 executor (a8cc84d)
  • handle native token balance changes (0c40e9e)
  • reciever issue (ae0b07b)
  • remove executeActions wrapper, strict equality checks and rename swap return (2371ab2)
  • remove extra _receiver and redundant asserts (ff3209b)
  • rm callback fn (1a36c33)
  • rm redundant transfer (24d4e76)

0.36.2 (2025-02-12)

Bug Fixes

  • Miscellaneous audit remarks (582533f)

0.36.1 (2025-02-11)

0.36.0 (2025-02-11)

Features

  • Add selector to Transaction (dd7ecac)

0.35.1 (2025-02-11)

Bug Fixes

  • (TychoRouter) Revert if empty swaps (37efe52)

0.35.0 (2025-02-07)

Features

  • Add clone to EVMTychoEncoder (b333d60)
  • Add uniswap v3 to swap encoders list (c791c93)
  • Get current runtime if there is any (12f85cc)
  • Increase tycho-core version (6bbb6da)
  • Make executors_file_path optional and use a default value if None (4680a4b)
  • Read default executors at compile time into a json (f5232f4)
  • Remove router_address from TychoEncoder (a234ff7)
  • The execution structs should receiver tycho_core Chain (cad9f39)
  • Use block_in_place instead of block_on (d4af59d)

Bug Fixes

  • After rebase fixes (bef4740)
  • Change version of serde to match tycho-simulation (3116fef)
  • Don't have a DEFAULT_CONFIG_PATH in bin (d7f20aa)
  • Uniswap v3 pool fee is big endian, not little endian (0c9050c)
  • univ3: The fee keyword is just "fee" and not "pool_fee" (164d062)

0.34.0 (2025-02-06)

Features

Bug Fixes

0.33.0 (2025-02-06)

Features

  • Get native/wrapped addresses from chain (8cd7d9f)
  • Take Chain object containing native/wrapped addresses (e83b8d9)

Bug Fixes

  • Do not let user specify the native/wrapped token (1a07c7d)

0.32.0 (2025-02-06)

Features

  • Accept any struct that implements Into in Swap (cb14022)

0.31.0 (2025-02-05)

Features

  • add tests for split swap validations (b69aef9)
  • add tests for wrap unwrap case (4d97c3f)
  • add validation for split swap (f80ffa9)

Bug Fixes

  • checks in validations (95edd5b)
  • get_mock_split_swap_strategy_encoder (7b72263)
  • use native action to validate path (c787f5e)

0.30.1 (2025-02-04)

Bug Fixes

0.30.0 (2025-02-04)

Features

0.29.1 (2025-02-04)

Bug Fixes

  • Fix bug with token indexing when wrapping/unwrapping (3f4e27a)
  • test fixes after merge (ff283bc)

0.29.0 (2025-02-04)

Features

  • add swap encoder test in balancer v2 executor (6333072)

Bug Fixes

0.28.0 (2025-02-04)

Features

  • Tycho encoder validation (4bc6159)

Bug Fixes

  • test_validate_fails_for_unwrap_wrong_last_swap (0660321)

0.27.0 (2025-02-04)

Features

  • Add complex swap to quickstart example (80454f0)
  • Add simple quickstart example (84d162d)

Bug Fixes

  • bring back one #[allow(dead_code)] (ae315b4)
  • Calculate min_amount_out correctly and extend test to prove this (de1c782)

0.26.0 (2025-02-03)

Features

  • Verify that no amount in is left in the router (0860d67)

0.25.3 (2025-01-31)

Bug Fixes

  • transfer ETH if tokenOut is ETH (3245ea7)

0.25.2 (2025-01-31)

Bug Fixes

  • Accidentally changed wrong test's calldata (faacd3f)
  • Expect decimal during encoding, add assert to test (5a81ed6)

0.25.1 (2025-01-31)

Bug Fixes

  • Fix selector - shouldn't contain spaces (5d6f0c1)
  • Fix token index order in strategy encoding. (c85c353)

0.25.0 (2025-01-31)

Features

  • Add ChainId model (089e7d2)
  • Implement SplitSwapStrategyEncoder (feb91cc)
  • Remove generalisation on user approvals manager (3a69bbf)
  • Simplify router encoder (6e8d2ed)

Bug Fixes

  • Don't leak evm specific code to interfaces(PrivateKeySigner, Chain) (7a8872c)
  • Post merge's fixes (a28b548)
  • replace all unwraps with proper error handling (5f3d440)
  • Use abi_encode_packed in ple_encode() (82e671d)
  • Use max instead of min to get the min_amount_out (575c5be)

0.24.0 (2025-01-30)

Features

  • rename batchSetExecutor to setExecutors (c653062)
  • replace setExecutor with batchSetExecutor (ea504fa)

Bug Fixes

0.23.0 (2025-01-30)

Features

  • add executor encoder test (ad70a0d)
  • add swap test with hex for univ2 executor (0196767)
  • add univ2 executor test with hex (c482e21)
  • remove exact_out from USV2 (8cb95f0)
  • resolve pr comments (1b8bf56)
  • update ExecutorEncoder interface and relevant types (5c39651)

0.22.0 (2025-01-30)

Features

  • fixed USV3 Verification (96af542)
  • Implement generic callback (fafeba9)
  • UniswapV3Executor and integration tests (ca32446)
  • USV3 verification (7822c4f)

Bug Fixes

  • Remove amountReceived and dataOffset from the callback verification (63b94b5)
  • Remove amountReceived, dataOffset from ICallbackVerifier interface (33ada0c)
  • Remove exactOut from USV3 encoding (d8b44f6)

0.21.0 (2025-01-28)

Features

  • add balancer v2 executor (a700189)
  • add node.js workflow (25756ff)
  • add tests for Balancer V2 executor (a4e405f)
  • approve max (cb6d165)
  • update remappings and remove node modules (b65b682)

Bug Fixes

0.20.0 (2025-01-28)

Features

  • Add executor and selector to Swap (c2347ac)
  • Add swap method (first attempt) (a8f6fc1)
  • Add swap method with tests (50429ad)
  • Assume that funds will never go straight from a pool to the receiver (655cf91)
  • Smother slither and add a reentrancy guard in swap() (dfa7033)
  • Wrap and unwrap ETH (3b2d9fc)

Bug Fixes

0.19.0 (2025-01-28)

Features

0.18.0 (2025-01-27)

Features

  • Perform staticcall to CallbackVerifier (ad0748e)

0.17.0 (2025-01-27)

Features

  • add pause/unpause methods (c982ed9)

Bug Fixes

0.16.0 (2025-01-27)

Features

  • add balance v2 encoder test (9cecea8)

Bug Fixes

0.15.0 (2025-01-24)

Features

Bug Fixes

  • Add input validation size in Uniswapv2SwapExecutor (ed44f4e)
  • Remove exactOut logic from Uniswapv2SwapExecutor (b9f4451)

0.14.0 (2025-01-24)

Features

  • delegatecall to executor in SwapExecutionDispatcher (e91ee96)
  • Emit event when removing executor (1fabff1)

Bug Fixes

  • ISwapExecutor shouldn't be payable (3df17e8)
  • Silence slither warnings (b616e11)

0.13.0 (2025-01-23)

Features

Bug Fixes

  • Correct encoding of the approvals (04e925f)
  • Small improvements (b9cfc4a)

0.12.0 (2025-01-23)

Features

  • add tests for withdraw, fee and make it DRY (056582c)

Bug Fixes

0.11.0 (2025-01-23)

Features

  • add LibPrefixLengthEncodedByteArray with tests (f25da21)
  • keep assembly (ae662d0)

0.10.0 (2025-01-23)

Features

Bug Fixes

  • use FEE_SETTER_ROLE for setFeeReceiver (15d3bec)

0.9.0 (2025-01-22)

Features

  • Emit events when setting executors/verifiers (59950a7)
  • Set swap executors and verifiers (4cb3286)

0.8.0 (2025-01-22)

Features

Bug Fixes

0.7.0 (2025-01-22)

Features

0.6.0 (2025-01-21)

Features

Bug Fixes

  • Filter paths when running slither in CI (96809d4)

0.5.0 (2025-01-20)

Features

  • Implement ProtocolApprovalsManager (cbf2b4d)

0.4.0 (2025-01-20)

Features

  • Add Slither to CI (f0620bd)
  • Add Slither to README.md and include contract file to test (2998bb3)

Bug Fixes

0.3.0 (2025-01-17)

Features

Bug Fixes

0.2.0 (2025-01-17)

Features

  • Simplify StrategyEncoders and RouterEncoder (38b8bb0)

0.1.0 (2025-01-17)

Features

  • Add chain in config.json for the executor addresses (f5df1bb)
  • Add evm feature gate (6c6ba21)

Bug Fixes

  • Make executor_address a String instead of Address (1d3ac22)

0.0.1 (2025-01-17)

Bug Fixes

0.0.0 (2025-01-17)