From 89b05a59968e95dd5ef764ee0de5e56185c88c40 Mon Sep 17 00:00:00 2001 From: Duncan Townsend Date: Thu, 14 Aug 2025 17:04:36 -0400 Subject: [PATCH 1/7] Blacklist `IERC20.transferFrom.selector` in `BASIC` --- src/core/Basic.sol | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/core/Basic.sol b/src/core/Basic.sol index 0748aca0f..29887530a 100644 --- a/src/core/Basic.sol +++ b/src/core/Basic.sol @@ -23,6 +23,23 @@ abstract contract Basic is SettlerAbstract { if (_isRestrictedTarget(pool)) { revertConfusedDeputy(); } + { + // This check is NOT an exhaustive check. There are many tokens that have alternative + // allowance-spending methods, including (also nonexhaustively) DAI's `pull`, ERC677 and + // ERC1363's `transferFromAndCall`, ERC777's `operatorSend`, and LZ OFT's `sendFrom` and + // `sendAndCall`. We specifically blacklist ERC20's `transferFrom` because it is + // universally implemented. This check is comparatively cheap and covers many cases that + // could result in loss of funds. Fundamentally, though, for correct operation, it is + // forbidden to set allowances on this contract. The fact that this does not cover all + // cases IS NOT A BUG. + uint256 selector; + assembly ("memory-safe") { + selector := mul(lt(0x00, mload(data)), and(0xffffffff, mload(add(0x04, data)))) + } + if (selector == uint32(IERC20.transferFrom.selector)) { + revertConfusedDeputy(); + } + } bool success; bytes memory returnData; From 9a6cab7583f0dd8fe7824ca9276a3c8a61f9bac8 Mon Sep 17 00:00:00 2001 From: Duncan Townsend Date: Thu, 14 Aug 2025 18:07:05 -0400 Subject: [PATCH 2/7] Golf --- src/core/Basic.sol | 51 ++++++++++++++++++++++++++++++---------------- 1 file changed, 34 insertions(+), 17 deletions(-) diff --git a/src/core/Basic.sol b/src/core/Basic.sol index 29887530a..49fabc4f9 100644 --- a/src/core/Basic.sol +++ b/src/core/Basic.sol @@ -8,22 +8,19 @@ import {IERC20} from "@forge-std/interfaces/IERC20.sol"; import {SafeTransferLib} from "../vendor/SafeTransferLib.sol"; import {FullMath} from "../vendor/FullMath.sol"; import {Panic} from "../utils/Panic.sol"; -import {Revert} from "../utils/Revert.sol"; import {UnsafeMath} from "../utils/UnsafeMath.sol"; abstract contract Basic is SettlerAbstract { using UnsafeMath for uint256; + using SafeTransferLib for address payable; using SafeTransferLib for IERC20; using FullMath for uint256; - using Revert for bool; /// @dev Sell to a pool with a generic approval, transferFrom interaction. /// offset in the calldata is used to update the sellAmount given a proportion of the sellToken balance function basicSellToPool(IERC20 sellToken, uint256 bps, address pool, uint256 offset, bytes memory data) internal { - if (_isRestrictedTarget(pool)) { - revertConfusedDeputy(); - } { + bool condition = _isRestrictedTarget(pool); // This check is NOT an exhaustive check. There are many tokens that have alternative // allowance-spending methods, including (also nonexhaustively) DAI's `pull`, ERC677 and // ERC1363's `transferFromAndCall`, ERC777's `operatorSend`, and LZ OFT's `sendFrom` and @@ -32,11 +29,11 @@ abstract contract Basic is SettlerAbstract { // could result in loss of funds. Fundamentally, though, for correct operation, it is // forbidden to set allowances on this contract. The fact that this does not cover all // cases IS NOT A BUG. - uint256 selector; assembly ("memory-safe") { - selector := mul(lt(0x00, mload(data)), and(0xffffffff, mload(add(0x04, data)))) + // `0x23b872dd` is the selector for `transferFrom(address,address,uint256)` + condition := or(iszero(shl(0xe0, xor(0x23b872dd, mload(add(0x04, data))))), condition) } - if (selector == uint32(IERC20.transferFrom.selector)) { + if (condition) { revertConfusedDeputy(); } } @@ -46,12 +43,17 @@ abstract contract Basic is SettlerAbstract { uint256 value; if (sellToken == ETH_ADDRESS) { unchecked { + // `bps > BASIS` will result in a revert when we try to send more ETH than we have value = (address(this).balance * bps).unsafeDiv(BASIS); } if (data.length == 0) { - if (offset != 0) revert InvalidOffset(); - (success, returnData) = payable(pool).call{value: value}(""); - success.maybeRevert(returnData); + if (offset != 0) { + assembly ("memory-safe") { + mstore(0x00, 0x01da1572) // selector for `InvalidOffset()` + revert(0x1c, 0x04) + } + } + payable(pool).safeTransferETH(value); return; } else { if ((offset += 32) > data.length) { @@ -62,8 +64,13 @@ abstract contract Basic is SettlerAbstract { } } } else if (address(sellToken) == address(0)) { - // TODO: check for zero `bps` - if (offset != 0) revert InvalidOffset(); + // `bps != 0` is treated as a GIGO error + if (offset != 0) { + assembly ("memory-safe") { + mstore(0x00, 0x01da1572) // selector for `InvalidOffset()` + revert(0x1c, 0x04) + } + } } else { // We treat `bps > BASIS` as a GIGO error uint256 amount = sellToken.fastBalanceOf(address(this)).unsafeMulDiv(bps, BASIS); @@ -78,9 +85,19 @@ abstract contract Basic is SettlerAbstract { sellToken.safeApproveIfBelow(pool, amount); } } - (success, returnData) = payable(pool).call{value: value}(data); - success.maybeRevert(returnData); - // forbid sending data to EOAs - if (returnData.length == 0 && pool.code.length == 0) revert InvalidTarget(); + assembly ("memory-safe") { + if iszero(call(gas(), pool, value, add(0x20, data), mload(data), 0x00, 0x00)) { + let ptr := mload(0x40) + returndatacopy(ptr, 0x00, returndatasize()) + revert(ptr, returndatasize()) + } + if iszero(returndatasize()) { + if iszero(extcodesize(pool)) { + // forbid sending data to EOAs + mstore(0x00, 0x82d5d76a) // selector for `InvalidTarget()` + revert(0x1c, 0x04) + } + } + } } } From ba95aa15854c4d03040722896ac0c66a6f7f4bc9 Mon Sep 17 00:00:00 2001 From: Duncan Townsend Date: Thu, 14 Aug 2025 18:11:57 -0400 Subject: [PATCH 3/7] Correctly handle underlength calldata --- src/core/Basic.sol | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/core/Basic.sol b/src/core/Basic.sol index 49fabc4f9..9092ea74a 100644 --- a/src/core/Basic.sol +++ b/src/core/Basic.sol @@ -31,7 +31,8 @@ abstract contract Basic is SettlerAbstract { // cases IS NOT A BUG. assembly ("memory-safe") { // `0x23b872dd` is the selector for `transferFrom(address,address,uint256)` - condition := or(iszero(shl(0xe0, xor(0x23b872dd, mload(add(0x04, data))))), condition) + condition := + or(iszero(shl(0xe0, xor(0x23b872dd, mul(lt(0x03, mload(data)), mload(add(0x04, data)))))), condition) } if (condition) { revertConfusedDeputy(); From b2071b85872e1f642ac451b6e13887a1490f2e5e Mon Sep 17 00:00:00 2001 From: Duncan Townsend Date: Thu, 14 Aug 2025 18:16:24 -0400 Subject: [PATCH 4/7] Tweak constant --- src/core/Basic.sol | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/core/Basic.sol b/src/core/Basic.sol index 9092ea74a..3f905c527 100644 --- a/src/core/Basic.sol +++ b/src/core/Basic.sol @@ -31,8 +31,12 @@ abstract contract Basic is SettlerAbstract { // cases IS NOT A BUG. assembly ("memory-safe") { // `0x23b872dd` is the selector for `transferFrom(address,address,uint256)` + // `transferFrom` requires a calldata length of 0x64 bytes, not 0x44, but some (old) + // ERC20s don't check `CALLDATASIZE` and implicitly pad `amount` with + // zeroes. Therefore if `data` is 0x45 bytes or longer, it could result in loss of + // funds. condition := - or(iszero(shl(0xe0, xor(0x23b872dd, mul(lt(0x03, mload(data)), mload(add(0x04, data)))))), condition) + or(iszero(shl(0xe0, xor(0x23b872dd, mul(lt(0x44, mload(data)), mload(add(0x04, data)))))), condition) } if (condition) { revertConfusedDeputy(); From e3c43b227ce06f157f5f8ee0bdfb1bf66a3655b6 Mon Sep 17 00:00:00 2001 From: Duncan Townsend Date: Thu, 14 Aug 2025 18:19:22 -0400 Subject: [PATCH 5/7] Add unit test --- test/unit/core/BasicUnitTest.t.sol | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/test/unit/core/BasicUnitTest.t.sol b/test/unit/core/BasicUnitTest.t.sol index b5bd26673..1f3af87be 100644 --- a/test/unit/core/BasicUnitTest.t.sol +++ b/test/unit/core/BasicUnitTest.t.sol @@ -203,4 +203,14 @@ contract BasicUnitTest is Utils, Test { vm.expectRevert(); basic.sellToPool(IERC20(0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE), bps, POOL, offset, data); } + + function testBasicTransferFrom() public { + uint256 bps = 10_000; // doesn't matter + uint256 offset = 0; // doesn't matter + bytes memory data = + bytes.concat(IERC20.transferFrom.selector, abi.encode(address(0xdead), address(0xbeef)), bytes1(0x00)); + + vm.expectRevert(abi.encodeWithSignature("ConfusedDeputy()")); + basic.sellToPool(IERC20(address(0xc0ffeebabe)), bps, POOL, offset, data); + } } From b2fcfc90ae8496d4dc6dc57d4613b71577274b53 Mon Sep 17 00:00:00 2001 From: Duncan Townsend Date: Thu, 14 Aug 2025 18:28:33 -0400 Subject: [PATCH 6/7] Update snaps --- ...lowanceHolder_balancerV3VIP_USDC-USDT.snap | 2 +- .../allowanceHolder_ekuboVIP_USDC-USDT.snap | 2 +- .../allowanceHolder_ekuboVIP_USDC-WETH.snap | 2 +- .../allowanceHolder_empty_DAI-WETH.snap | 2 +- .../allowanceHolder_empty_USDC-USDT.snap | 2 +- .../allowanceHolder_empty_USDC-WETH.snap | 2 +- .../allowanceHolder_empty_USDT-CAKE.snap | 2 +- .../allowanceHolder_empty_USDT-WBNB.snap | 2 +- .../allowanceHolder_empty_USDT-WETH.snap | 2 +- ...owanceHolder_maverickV2_VIP_USDC-WETH.snap | 2 +- ...ceHolder_pancakeInfinityVIP_USDT-CAKE.snap | 2 +- ...ceHolder_pancakeInfinityVIP_USDT-WBNB.snap | 2 +- ...fq_proportionalFee_sellToken_DAI-WETH.snap | 2 +- ...q_proportionalFee_sellToken_USDC-USDT.snap | 2 +- ...q_proportionalFee_sellToken_USDC-WETH.snap | 2 +- ...q_proportionalFee_sellToken_USDT-CAKE.snap | 2 +- ...q_proportionalFee_sellToken_USDT-WBNB.snap | 2 +- ...q_proportionalFee_sellToken_USDT-WETH.snap | 2 +- ...older_uniswapV2_single_chain_DAI-WETH.snap | 2 +- ...lder_uniswapV2_single_chain_USDC-WETH.snap | 2 +- ...lder_uniswapV2_single_chain_USDT-WETH.snap | 2 +- ...allowanceHolder_uniswapV3VIP_DAI-WETH.snap | 2 +- ...llowanceHolder_uniswapV3VIP_USDC-USDT.snap | 2 +- ...llowanceHolder_uniswapV3VIP_USDC-WETH.snap | 2 +- ...llowanceHolder_uniswapV3VIP_USDT-WETH.snap | 2 +- ...Holder_uniswapV3VIP_contract_DAI-WETH.snap | 2 +- ...older_uniswapV3VIP_contract_USDC-USDT.snap | 2 +- ...older_uniswapV3VIP_contract_USDC-WETH.snap | 2 +- ...older_uniswapV3VIP_contract_USDT-WETH.snap | 2 +- .../allowanceHolder_uniswapV3_DAI-WETH.snap | 2 +- .../allowanceHolder_uniswapV3_USDC-USDT.snap | 2 +- .../allowanceHolder_uniswapV3_USDC-WETH.snap | 2 +- .../allowanceHolder_uniswapV3_USDT-WETH.snap | 2 +- .../settler_balancerV3VIP_USDC-USDT.snap | 2 +- .../settler_balancerV3_USDC-USDT.snap | 2 +- .../settler_basic_curve_USDT-WETH.snap | 2 +- .../settler_curveV2_fee_USDT-WETH.snap | 2 +- .../settler_dodoV1_USDC-WETH.snap | 2 +- .forge-snapshots/settler_dodov2_USDT-DAI.snap | 2 +- .../settler_dodov2_custody_USDT-DAI.snap | 2 +- .../settler_ekuboExtension_USDC-WETH.snap | 2 +- .../settler_ekuboVIP_USDC-USDT.snap | 2 +- .../settler_ekuboVIP_USDC-WETH.snap | 2 +- .forge-snapshots/settler_ekubo_USDC-USDT.snap | 2 +- .forge-snapshots/settler_ekubo_USDC-WETH.snap | 2 +- .../settler_eulerSwapCustody_USDC-USDT.snap | 2 +- .../settler_eulerSwap_USDC-USDT.snap | 2 +- .../settler_eulerSwap_USDT-USDC.snap | 2 +- ...xternalMoveExecute_uniswapV3_DAI-WETH.snap | 2 +- ...ternalMoveExecute_uniswapV3_USDC-USDT.snap | 2 +- ...ternalMoveExecute_uniswapV3_USDC-WETH.snap | 2 +- ...ternalMoveExecute_uniswapV3_USDT-WETH.snap | 2 +- ...ternalMoveExecute_uniswapV3_WETH-USDC.snap | 2 +- .../settler_maverickV2_USDC-WETH.snap | 2 +- .../settler_maverickV2_VIP_USDC-WETH.snap | 2 +- .../settler_metaTxn_balancerV3_USDC-USDT.snap | 2 +- .../settler_metaTxn_ekubo_USDC-USDT.snap | 2 +- .../settler_metaTxn_ekubo_USDC-WETH.snap | 2 +- .../settler_metaTxn_maverickV2_USDC-WETH.snap | 2 +- ...ler_metaTxn_pancakeInfinity_USDT-CAKE.snap | 2 +- ...ler_metaTxn_pancakeInfinity_USDT-WBNB.snap | 2 +- ...settler_metaTxn_uniswapV3VIP_DAI-WETH.snap | 2 +- ...ettler_metaTxn_uniswapV3VIP_USDC-USDT.snap | 2 +- ...ettler_metaTxn_uniswapV3VIP_USDC-WETH.snap | 2 +- ...ettler_metaTxn_uniswapV3VIP_USDT-WETH.snap | 2 +- .../settler_metaTxn_uniswapV3_DAI-WETH.snap | 2 +- .../settler_metaTxn_uniswapV3_USDC-USDT.snap | 2 +- .../settler_metaTxn_uniswapV3_USDC-WETH.snap | 2 +- .../settler_metaTxn_uniswapV3_USDT-WETH.snap | 2 +- .../settler_pancakeInfinityVIP_USDT-CAKE.snap | 2 +- .../settler_pancakeInfinityVIP_USDT-WBNB.snap | 2 +- .../settler_pancakeInfinity_USDT-CAKE.snap | 2 +- .../settler_pancakeInfinity_USDT-WBNB.snap | 2 +- ...settler_rfq_fee_full_custody_DAI-USDC.snap | 2 +- ...settler_rfq_fee_full_custody_DAI-WETH.snap | 2 +- ...settler_rfq_fee_full_custody_USDC-DAI.snap | 2 +- ...ettler_rfq_fee_full_custody_USDC-USDS.snap | 2 +- ...ettler_rfq_fee_full_custody_USDC-USDT.snap | 2 +- ...ettler_rfq_fee_full_custody_USDC-WETH.snap | 2 +- ...ettler_rfq_fee_full_custody_USDS-USDC.snap | 2 +- ...ettler_rfq_fee_full_custody_USDT-CAKE.snap | 2 +- ...ettler_rfq_fee_full_custody_USDT-WBNB.snap | 2 +- ...ettler_rfq_fee_full_custody_USDT-WETH.snap | 2 +- .../settler_uniswapV2_DAI-WETH.snap | 2 +- .../settler_uniswapV2_USDC-WETH.snap | 2 +- .../settler_uniswapV2_USDT-WETH.snap | 2 +- .../settler_uniswapV2_WETH-USDC.snap | 2 +- ...ettler_uniswapV2_fromNative_WETH-USDC.snap | 2 +- .../settler_uniswapV2_multihop_DAI-WETH.snap | 2 +- .../settler_uniswapV2_multihop_USDC-WETH.snap | 2 +- .../settler_uniswapV2_multihop_USDT-WETH.snap | 2 +- ...swapV2_multihop_single_chain_DAI-WETH.snap | 2 +- ...wapV2_multihop_single_chain_USDC-WETH.snap | 2 +- ...wapV2_multihop_single_chain_USDT-WETH.snap | 2 +- ...ttler_uniswapV2_single_chain_DAI-WETH.snap | 2 +- ...tler_uniswapV2_single_chain_USDC-WETH.snap | 2 +- ...tler_uniswapV2_single_chain_USDT-WETH.snap | 2 +- ...tler_uniswapV2_single_chain_WETH-USDC.snap | 2 +- .../settler_uniswapV2_toNative_DAI-WETH.snap | 2 +- .../settler_uniswapV2_toNative_USDC-WETH.snap | 2 +- .../settler_uniswapV2_toNative_USDT-WETH.snap | 2 +- .../settler_uniswapV3VIP_DAI-WETH.snap | 2 +- .../settler_uniswapV3VIP_USDC-USDT.snap | 2 +- .../settler_uniswapV3VIP_USDC-WETH.snap | 2 +- .../settler_uniswapV3VIP_USDT-WETH.snap | 2 +- .../settler_uniswapV3VIP_WETH-USDC.snap | 2 +- ...ettler_uniswapV3VIP_toNative_DAI-WETH.snap | 2 +- ...ttler_uniswapV3VIP_toNative_USDC-WETH.snap | 2 +- ...ttler_uniswapV3VIP_toNative_USDT-WETH.snap | 2 +- .../settler_uniswapV3_DAI-WETH.snap | 2 +- .../settler_uniswapV3_USDC-USDT.snap | 2 +- .../settler_uniswapV3_USDC-WETH.snap | 2 +- .../settler_uniswapV3_USDT-WETH.snap | 2 +- .../settler_uniswapV3_WETH-USDC.snap | 2 +- ...V3_buyToken_fee_full_custody_DAI-WETH.snap | 2 +- ...3_buyToken_fee_full_custody_USDC-USDT.snap | 2 +- ...3_buyToken_fee_full_custody_USDC-WETH.snap | 2 +- ...3_buyToken_fee_full_custody_USDT-WETH.snap | 2 +- ...3_buyToken_fee_full_custody_WETH-USDC.snap | 2 +- ..._buyToken_fee_single_custody_DAI-WETH.snap | 2 +- ...buyToken_fee_single_custody_USDC-USDT.snap | 2 +- ...buyToken_fee_single_custody_USDC-WETH.snap | 2 +- ...buyToken_fee_single_custody_USDT-WETH.snap | 2 +- ...buyToken_fee_single_custody_WETH-USDC.snap | 2 +- ...ettler_uniswapV3_fromNative_WETH-USDC.snap | 2 +- ...settler_uniswapV3_multiplex2_DAI-WETH.snap | 2 +- ...ettler_uniswapV3_multiplex2_USDC-USDT.snap | 2 +- ...ettler_uniswapV3_multiplex2_USDC-WETH.snap | 2 +- ...ettler_uniswapV3_multiplex2_USDT-WETH.snap | 2 +- ...ettler_uniswapV3_multiplex2_WETH-USDC.snap | 2 +- ...3_sellToken_fee_full_custody_DAI-WETH.snap | 2 +- ..._sellToken_fee_full_custody_USDC-USDT.snap | 2 +- ..._sellToken_fee_full_custody_USDC-WETH.snap | 2 +- ..._sellToken_fee_full_custody_USDT-WETH.snap | 2 +- ..._sellToken_fee_full_custody_WETH-USDC.snap | 2 +- ...ettler_uniswapV4VIP_toNative_DAI-WETH.snap | 2 +- ...ttler_uniswapV4VIP_toNative_USDC-WETH.snap | 2 +- ...ttler_uniswapV4VIP_toNative_USDT-WETH.snap | 2 +- ...ettler_uniswapV4_fromNative_WETH-USDC.snap | 2 +- .../settler_velodrome_USDT-USDC.snap | 2 +- .../settler_zeroExOtc_DAI-WETH.snap | 2 +- .../settler_zeroExOtc_USDC-USDT.snap | 2 +- .../settler_zeroExOtc_USDC-WETH.snap | 2 +- .../settler_zeroExOtc_USDT-WETH.snap | 2 +- .../settler_zeroExOtc_WETH-USDC.snap | 2 +- ...ettler_zeroExOtc_partialFill_DAI-WETH.snap | 2 +- ...ttler_zeroExOtc_partialFill_USDC-USDT.snap | 2 +- ...ttler_zeroExOtc_partialFill_USDC-WETH.snap | 2 +- ...ttler_zeroExOtc_partialFill_USDT-WETH.snap | 2 +- ...ttler_zeroExOtc_partialFill_WETH-USDC.snap | 2 +- .../universalRouter_uniswapV2_USDC-WETH.snap | 2 +- .../universalRouter_uniswapV3_USDC-WETH.snap | 2 +- .../universalRouter_uniswapV3_USDT-WETH.snap | 2 +- .forge-snapshots/wethDeposit.snap | 2 +- .forge-snapshots/wethWithdraw.snap | 2 +- README.md | 122 +++++++++--------- 156 files changed, 216 insertions(+), 216 deletions(-) diff --git a/.forge-snapshots/allowanceHolder_balancerV3VIP_USDC-USDT.snap b/.forge-snapshots/allowanceHolder_balancerV3VIP_USDC-USDT.snap index 68c7884bd..a1ba7f6b0 100644 --- a/.forge-snapshots/allowanceHolder_balancerV3VIP_USDC-USDT.snap +++ b/.forge-snapshots/allowanceHolder_balancerV3VIP_USDC-USDT.snap @@ -1 +1 @@ -301201 \ No newline at end of file +301156 \ No newline at end of file diff --git a/.forge-snapshots/allowanceHolder_ekuboVIP_USDC-USDT.snap b/.forge-snapshots/allowanceHolder_ekuboVIP_USDC-USDT.snap index 45b463068..bce0bf294 100644 --- a/.forge-snapshots/allowanceHolder_ekuboVIP_USDC-USDT.snap +++ b/.forge-snapshots/allowanceHolder_ekuboVIP_USDC-USDT.snap @@ -1 +1 @@ -142777 \ No newline at end of file +142724 \ No newline at end of file diff --git a/.forge-snapshots/allowanceHolder_ekuboVIP_USDC-WETH.snap b/.forge-snapshots/allowanceHolder_ekuboVIP_USDC-WETH.snap index b56a01ff7..54a676828 100644 --- a/.forge-snapshots/allowanceHolder_ekuboVIP_USDC-WETH.snap +++ b/.forge-snapshots/allowanceHolder_ekuboVIP_USDC-WETH.snap @@ -1 +1 @@ -158807 \ No newline at end of file +158584 \ No newline at end of file diff --git a/.forge-snapshots/allowanceHolder_empty_DAI-WETH.snap b/.forge-snapshots/allowanceHolder_empty_DAI-WETH.snap index 1215ddffc..b7b57ff03 100644 --- a/.forge-snapshots/allowanceHolder_empty_DAI-WETH.snap +++ b/.forge-snapshots/allowanceHolder_empty_DAI-WETH.snap @@ -1 +1 @@ -8687 \ No newline at end of file +8605 \ No newline at end of file diff --git a/.forge-snapshots/allowanceHolder_empty_USDC-USDT.snap b/.forge-snapshots/allowanceHolder_empty_USDC-USDT.snap index fd45b341c..b93035c8e 100644 --- a/.forge-snapshots/allowanceHolder_empty_USDC-USDT.snap +++ b/.forge-snapshots/allowanceHolder_empty_USDC-USDT.snap @@ -1 +1 @@ -30696 \ No newline at end of file +30614 \ No newline at end of file diff --git a/.forge-snapshots/allowanceHolder_empty_USDC-WETH.snap b/.forge-snapshots/allowanceHolder_empty_USDC-WETH.snap index 1215ddffc..b7b57ff03 100644 --- a/.forge-snapshots/allowanceHolder_empty_USDC-WETH.snap +++ b/.forge-snapshots/allowanceHolder_empty_USDC-WETH.snap @@ -1 +1 @@ -8687 \ No newline at end of file +8605 \ No newline at end of file diff --git a/.forge-snapshots/allowanceHolder_empty_USDT-CAKE.snap b/.forge-snapshots/allowanceHolder_empty_USDT-CAKE.snap index 7336251b2..4dbf62030 100644 --- a/.forge-snapshots/allowanceHolder_empty_USDT-CAKE.snap +++ b/.forge-snapshots/allowanceHolder_empty_USDT-CAKE.snap @@ -1 +1 @@ -30687 \ No newline at end of file +30605 \ No newline at end of file diff --git a/.forge-snapshots/allowanceHolder_empty_USDT-WBNB.snap b/.forge-snapshots/allowanceHolder_empty_USDT-WBNB.snap index 7336251b2..4dbf62030 100644 --- a/.forge-snapshots/allowanceHolder_empty_USDT-WBNB.snap +++ b/.forge-snapshots/allowanceHolder_empty_USDT-WBNB.snap @@ -1 +1 @@ -30687 \ No newline at end of file +30605 \ No newline at end of file diff --git a/.forge-snapshots/allowanceHolder_empty_USDT-WETH.snap b/.forge-snapshots/allowanceHolder_empty_USDT-WETH.snap index 1215ddffc..b7b57ff03 100644 --- a/.forge-snapshots/allowanceHolder_empty_USDT-WETH.snap +++ b/.forge-snapshots/allowanceHolder_empty_USDT-WETH.snap @@ -1 +1 @@ -8687 \ No newline at end of file +8605 \ No newline at end of file diff --git a/.forge-snapshots/allowanceHolder_maverickV2_VIP_USDC-WETH.snap b/.forge-snapshots/allowanceHolder_maverickV2_VIP_USDC-WETH.snap index 787ada2d7..ffb42b7fa 100644 --- a/.forge-snapshots/allowanceHolder_maverickV2_VIP_USDC-WETH.snap +++ b/.forge-snapshots/allowanceHolder_maverickV2_VIP_USDC-WETH.snap @@ -1 +1 @@ -119861 \ No newline at end of file +119813 \ No newline at end of file diff --git a/.forge-snapshots/allowanceHolder_pancakeInfinityVIP_USDT-CAKE.snap b/.forge-snapshots/allowanceHolder_pancakeInfinityVIP_USDT-CAKE.snap index b0c81e366..9c6bb18ec 100644 --- a/.forge-snapshots/allowanceHolder_pancakeInfinityVIP_USDT-CAKE.snap +++ b/.forge-snapshots/allowanceHolder_pancakeInfinityVIP_USDT-CAKE.snap @@ -1 +1 @@ -40993983 \ No newline at end of file +40993995 \ No newline at end of file diff --git a/.forge-snapshots/allowanceHolder_pancakeInfinityVIP_USDT-WBNB.snap b/.forge-snapshots/allowanceHolder_pancakeInfinityVIP_USDT-WBNB.snap index 922c59243..343590deb 100644 --- a/.forge-snapshots/allowanceHolder_pancakeInfinityVIP_USDT-WBNB.snap +++ b/.forge-snapshots/allowanceHolder_pancakeInfinityVIP_USDT-WBNB.snap @@ -1 +1 @@ -193444 \ No newline at end of file +193283 \ No newline at end of file diff --git a/.forge-snapshots/allowanceHolder_rfq_proportionalFee_sellToken_DAI-WETH.snap b/.forge-snapshots/allowanceHolder_rfq_proportionalFee_sellToken_DAI-WETH.snap index 5cb36fc11..e34d207e9 100644 --- a/.forge-snapshots/allowanceHolder_rfq_proportionalFee_sellToken_DAI-WETH.snap +++ b/.forge-snapshots/allowanceHolder_rfq_proportionalFee_sellToken_DAI-WETH.snap @@ -1 +1 @@ -125128 \ No newline at end of file +124938 \ No newline at end of file diff --git a/.forge-snapshots/allowanceHolder_rfq_proportionalFee_sellToken_USDC-USDT.snap b/.forge-snapshots/allowanceHolder_rfq_proportionalFee_sellToken_USDC-USDT.snap index f9a2d7109..e2f861f66 100644 --- a/.forge-snapshots/allowanceHolder_rfq_proportionalFee_sellToken_USDC-USDT.snap +++ b/.forge-snapshots/allowanceHolder_rfq_proportionalFee_sellToken_USDC-USDT.snap @@ -1 +1 @@ -169128 \ No newline at end of file +168938 \ No newline at end of file diff --git a/.forge-snapshots/allowanceHolder_rfq_proportionalFee_sellToken_USDC-WETH.snap b/.forge-snapshots/allowanceHolder_rfq_proportionalFee_sellToken_USDC-WETH.snap index aca0eed4a..58de9946f 100644 --- a/.forge-snapshots/allowanceHolder_rfq_proportionalFee_sellToken_USDC-WETH.snap +++ b/.forge-snapshots/allowanceHolder_rfq_proportionalFee_sellToken_USDC-WETH.snap @@ -1 +1 @@ -146589 \ No newline at end of file +146399 \ No newline at end of file diff --git a/.forge-snapshots/allowanceHolder_rfq_proportionalFee_sellToken_USDT-CAKE.snap b/.forge-snapshots/allowanceHolder_rfq_proportionalFee_sellToken_USDT-CAKE.snap index d5f6bc6fb..1a58faf58 100644 --- a/.forge-snapshots/allowanceHolder_rfq_proportionalFee_sellToken_USDT-CAKE.snap +++ b/.forge-snapshots/allowanceHolder_rfq_proportionalFee_sellToken_USDT-CAKE.snap @@ -1 +1 @@ -157242 \ No newline at end of file +157052 \ No newline at end of file diff --git a/.forge-snapshots/allowanceHolder_rfq_proportionalFee_sellToken_USDT-WBNB.snap b/.forge-snapshots/allowanceHolder_rfq_proportionalFee_sellToken_USDT-WBNB.snap index bc90cbbea..7c063f308 100644 --- a/.forge-snapshots/allowanceHolder_rfq_proportionalFee_sellToken_USDT-WBNB.snap +++ b/.forge-snapshots/allowanceHolder_rfq_proportionalFee_sellToken_USDT-WBNB.snap @@ -1 +1 @@ -151873 \ No newline at end of file +151683 \ No newline at end of file diff --git a/.forge-snapshots/allowanceHolder_rfq_proportionalFee_sellToken_USDT-WETH.snap b/.forge-snapshots/allowanceHolder_rfq_proportionalFee_sellToken_USDT-WETH.snap index e040c714b..3e9e405a9 100644 --- a/.forge-snapshots/allowanceHolder_rfq_proportionalFee_sellToken_USDT-WETH.snap +++ b/.forge-snapshots/allowanceHolder_rfq_proportionalFee_sellToken_USDT-WETH.snap @@ -1 +1 @@ -141872 \ No newline at end of file +141877 \ No newline at end of file diff --git a/.forge-snapshots/allowanceHolder_uniswapV2_single_chain_DAI-WETH.snap b/.forge-snapshots/allowanceHolder_uniswapV2_single_chain_DAI-WETH.snap index b92561f4e..6c143b2d4 100644 --- a/.forge-snapshots/allowanceHolder_uniswapV2_single_chain_DAI-WETH.snap +++ b/.forge-snapshots/allowanceHolder_uniswapV2_single_chain_DAI-WETH.snap @@ -1 +1 @@ -103293 \ No newline at end of file +103303 \ No newline at end of file diff --git a/.forge-snapshots/allowanceHolder_uniswapV2_single_chain_USDC-WETH.snap b/.forge-snapshots/allowanceHolder_uniswapV2_single_chain_USDC-WETH.snap index f37fa7567..85b3474e0 100644 --- a/.forge-snapshots/allowanceHolder_uniswapV2_single_chain_USDC-WETH.snap +++ b/.forge-snapshots/allowanceHolder_uniswapV2_single_chain_USDC-WETH.snap @@ -1 +1 @@ -120798 \ No newline at end of file +120808 \ No newline at end of file diff --git a/.forge-snapshots/allowanceHolder_uniswapV2_single_chain_USDT-WETH.snap b/.forge-snapshots/allowanceHolder_uniswapV2_single_chain_USDT-WETH.snap index 948581e25..55705f5f9 100644 --- a/.forge-snapshots/allowanceHolder_uniswapV2_single_chain_USDT-WETH.snap +++ b/.forge-snapshots/allowanceHolder_uniswapV2_single_chain_USDT-WETH.snap @@ -1 +1 @@ -115263 \ No newline at end of file +115273 \ No newline at end of file diff --git a/.forge-snapshots/allowanceHolder_uniswapV3VIP_DAI-WETH.snap b/.forge-snapshots/allowanceHolder_uniswapV3VIP_DAI-WETH.snap index f6e709fa1..923ce244b 100644 --- a/.forge-snapshots/allowanceHolder_uniswapV3VIP_DAI-WETH.snap +++ b/.forge-snapshots/allowanceHolder_uniswapV3VIP_DAI-WETH.snap @@ -1 +1 @@ -112744 \ No newline at end of file +112702 \ No newline at end of file diff --git a/.forge-snapshots/allowanceHolder_uniswapV3VIP_USDC-USDT.snap b/.forge-snapshots/allowanceHolder_uniswapV3VIP_USDC-USDT.snap index 1992292cf..fea580b38 100644 --- a/.forge-snapshots/allowanceHolder_uniswapV3VIP_USDC-USDT.snap +++ b/.forge-snapshots/allowanceHolder_uniswapV3VIP_USDC-USDT.snap @@ -1 +1 @@ -141048 \ No newline at end of file +141006 \ No newline at end of file diff --git a/.forge-snapshots/allowanceHolder_uniswapV3VIP_USDC-WETH.snap b/.forge-snapshots/allowanceHolder_uniswapV3VIP_USDC-WETH.snap index 7470f11ae..704717a00 100644 --- a/.forge-snapshots/allowanceHolder_uniswapV3VIP_USDC-WETH.snap +++ b/.forge-snapshots/allowanceHolder_uniswapV3VIP_USDC-WETH.snap @@ -1 +1 @@ -122073 \ No newline at end of file +122031 \ No newline at end of file diff --git a/.forge-snapshots/allowanceHolder_uniswapV3VIP_USDT-WETH.snap b/.forge-snapshots/allowanceHolder_uniswapV3VIP_USDT-WETH.snap index a8f5745f3..65b050243 100644 --- a/.forge-snapshots/allowanceHolder_uniswapV3VIP_USDT-WETH.snap +++ b/.forge-snapshots/allowanceHolder_uniswapV3VIP_USDT-WETH.snap @@ -1 +1 @@ -124300 \ No newline at end of file +124258 \ No newline at end of file diff --git a/.forge-snapshots/allowanceHolder_uniswapV3VIP_contract_DAI-WETH.snap b/.forge-snapshots/allowanceHolder_uniswapV3VIP_contract_DAI-WETH.snap index 4fd20a97a..4ac255903 100644 --- a/.forge-snapshots/allowanceHolder_uniswapV3VIP_contract_DAI-WETH.snap +++ b/.forge-snapshots/allowanceHolder_uniswapV3VIP_contract_DAI-WETH.snap @@ -1 +1 @@ -112863 \ No newline at end of file +112821 \ No newline at end of file diff --git a/.forge-snapshots/allowanceHolder_uniswapV3VIP_contract_USDC-USDT.snap b/.forge-snapshots/allowanceHolder_uniswapV3VIP_contract_USDC-USDT.snap index ab82cfb92..38b63c173 100644 --- a/.forge-snapshots/allowanceHolder_uniswapV3VIP_contract_USDC-USDT.snap +++ b/.forge-snapshots/allowanceHolder_uniswapV3VIP_contract_USDC-USDT.snap @@ -1 +1 @@ -141167 \ No newline at end of file +141125 \ No newline at end of file diff --git a/.forge-snapshots/allowanceHolder_uniswapV3VIP_contract_USDC-WETH.snap b/.forge-snapshots/allowanceHolder_uniswapV3VIP_contract_USDC-WETH.snap index e114681be..c685fc6b3 100644 --- a/.forge-snapshots/allowanceHolder_uniswapV3VIP_contract_USDC-WETH.snap +++ b/.forge-snapshots/allowanceHolder_uniswapV3VIP_contract_USDC-WETH.snap @@ -1 +1 @@ -122192 \ No newline at end of file +122150 \ No newline at end of file diff --git a/.forge-snapshots/allowanceHolder_uniswapV3VIP_contract_USDT-WETH.snap b/.forge-snapshots/allowanceHolder_uniswapV3VIP_contract_USDT-WETH.snap index b018137c0..e2c0f27c8 100644 --- a/.forge-snapshots/allowanceHolder_uniswapV3VIP_contract_USDT-WETH.snap +++ b/.forge-snapshots/allowanceHolder_uniswapV3VIP_contract_USDT-WETH.snap @@ -1 +1 @@ -124419 \ No newline at end of file +124377 \ No newline at end of file diff --git a/.forge-snapshots/allowanceHolder_uniswapV3_DAI-WETH.snap b/.forge-snapshots/allowanceHolder_uniswapV3_DAI-WETH.snap index daed36088..bc6e340c8 100644 --- a/.forge-snapshots/allowanceHolder_uniswapV3_DAI-WETH.snap +++ b/.forge-snapshots/allowanceHolder_uniswapV3_DAI-WETH.snap @@ -1 +1 @@ -138852 \ No newline at end of file +138828 \ No newline at end of file diff --git a/.forge-snapshots/allowanceHolder_uniswapV3_USDC-USDT.snap b/.forge-snapshots/allowanceHolder_uniswapV3_USDC-USDT.snap index 2eb54a961..a03c055bf 100644 --- a/.forge-snapshots/allowanceHolder_uniswapV3_USDC-USDT.snap +++ b/.forge-snapshots/allowanceHolder_uniswapV3_USDC-USDT.snap @@ -1 +1 @@ -171212 \ No newline at end of file +171188 \ No newline at end of file diff --git a/.forge-snapshots/allowanceHolder_uniswapV3_USDC-WETH.snap b/.forge-snapshots/allowanceHolder_uniswapV3_USDC-WETH.snap index 8766d0167..1ce83e37f 100644 --- a/.forge-snapshots/allowanceHolder_uniswapV3_USDC-WETH.snap +++ b/.forge-snapshots/allowanceHolder_uniswapV3_USDC-WETH.snap @@ -1 +1 @@ -150896 \ No newline at end of file +150872 \ No newline at end of file diff --git a/.forge-snapshots/allowanceHolder_uniswapV3_USDT-WETH.snap b/.forge-snapshots/allowanceHolder_uniswapV3_USDT-WETH.snap index 9f7ea7d58..05a24ac14 100644 --- a/.forge-snapshots/allowanceHolder_uniswapV3_USDT-WETH.snap +++ b/.forge-snapshots/allowanceHolder_uniswapV3_USDT-WETH.snap @@ -1 +1 @@ -154261 \ No newline at end of file +154237 \ No newline at end of file diff --git a/.forge-snapshots/settler_balancerV3VIP_USDC-USDT.snap b/.forge-snapshots/settler_balancerV3VIP_USDC-USDT.snap index 0dd4d71c8..230c46f8a 100644 --- a/.forge-snapshots/settler_balancerV3VIP_USDC-USDT.snap +++ b/.forge-snapshots/settler_balancerV3VIP_USDC-USDT.snap @@ -1 +1 @@ -309719 \ No newline at end of file +309685 \ No newline at end of file diff --git a/.forge-snapshots/settler_balancerV3_USDC-USDT.snap b/.forge-snapshots/settler_balancerV3_USDC-USDT.snap index 6719df4b8..d3272d8a8 100644 --- a/.forge-snapshots/settler_balancerV3_USDC-USDT.snap +++ b/.forge-snapshots/settler_balancerV3_USDC-USDT.snap @@ -1 +1 @@ -340058 \ No newline at end of file +340042 \ No newline at end of file diff --git a/.forge-snapshots/settler_basic_curve_USDT-WETH.snap b/.forge-snapshots/settler_basic_curve_USDT-WETH.snap index b796b99d8..fbfc68157 100644 --- a/.forge-snapshots/settler_basic_curve_USDT-WETH.snap +++ b/.forge-snapshots/settler_basic_curve_USDT-WETH.snap @@ -1 +1 @@ -366719 \ No newline at end of file +366749 \ No newline at end of file diff --git a/.forge-snapshots/settler_curveV2_fee_USDT-WETH.snap b/.forge-snapshots/settler_curveV2_fee_USDT-WETH.snap index 9eebcd1d2..668b3b685 100644 --- a/.forge-snapshots/settler_curveV2_fee_USDT-WETH.snap +++ b/.forge-snapshots/settler_curveV2_fee_USDT-WETH.snap @@ -1 +1 @@ -377745 \ No newline at end of file +377575 \ No newline at end of file diff --git a/.forge-snapshots/settler_dodoV1_USDC-WETH.snap b/.forge-snapshots/settler_dodoV1_USDC-WETH.snap index 72bdc02a9..bc0ea8415 100644 --- a/.forge-snapshots/settler_dodoV1_USDC-WETH.snap +++ b/.forge-snapshots/settler_dodoV1_USDC-WETH.snap @@ -1 +1 @@ -294248 \ No newline at end of file +294244 \ No newline at end of file diff --git a/.forge-snapshots/settler_dodov2_USDT-DAI.snap b/.forge-snapshots/settler_dodov2_USDT-DAI.snap index 3c2ebdc88..8e5015898 100644 --- a/.forge-snapshots/settler_dodov2_USDT-DAI.snap +++ b/.forge-snapshots/settler_dodov2_USDT-DAI.snap @@ -1 +1 @@ -214033 \ No newline at end of file +214054 \ No newline at end of file diff --git a/.forge-snapshots/settler_dodov2_custody_USDT-DAI.snap b/.forge-snapshots/settler_dodov2_custody_USDT-DAI.snap index 3cddaca76..819f44305 100644 --- a/.forge-snapshots/settler_dodov2_custody_USDT-DAI.snap +++ b/.forge-snapshots/settler_dodov2_custody_USDT-DAI.snap @@ -1 +1 @@ -183711 \ No newline at end of file +183732 \ No newline at end of file diff --git a/.forge-snapshots/settler_ekuboExtension_USDC-WETH.snap b/.forge-snapshots/settler_ekuboExtension_USDC-WETH.snap index 6e374cbf5..b44b0ee97 100644 --- a/.forge-snapshots/settler_ekuboExtension_USDC-WETH.snap +++ b/.forge-snapshots/settler_ekuboExtension_USDC-WETH.snap @@ -1 +1 @@ -251841 \ No newline at end of file +251647 \ No newline at end of file diff --git a/.forge-snapshots/settler_ekuboVIP_USDC-USDT.snap b/.forge-snapshots/settler_ekuboVIP_USDC-USDT.snap index 2fe414765..169892d14 100644 --- a/.forge-snapshots/settler_ekuboVIP_USDC-USDT.snap +++ b/.forge-snapshots/settler_ekuboVIP_USDC-USDT.snap @@ -1 +1 @@ -151329 \ No newline at end of file +151287 \ No newline at end of file diff --git a/.forge-snapshots/settler_ekuboVIP_USDC-WETH.snap b/.forge-snapshots/settler_ekuboVIP_USDC-WETH.snap index 7a1fc3b6b..4d9543e1c 100644 --- a/.forge-snapshots/settler_ekuboVIP_USDC-WETH.snap +++ b/.forge-snapshots/settler_ekuboVIP_USDC-WETH.snap @@ -1 +1 @@ -167706 \ No newline at end of file +167494 \ No newline at end of file diff --git a/.forge-snapshots/settler_ekubo_USDC-USDT.snap b/.forge-snapshots/settler_ekubo_USDC-USDT.snap index 95dd985f8..7c890edab 100644 --- a/.forge-snapshots/settler_ekubo_USDC-USDT.snap +++ b/.forge-snapshots/settler_ekubo_USDC-USDT.snap @@ -1 +1 @@ -181510 \ No newline at end of file +181486 \ No newline at end of file diff --git a/.forge-snapshots/settler_ekubo_USDC-WETH.snap b/.forge-snapshots/settler_ekubo_USDC-WETH.snap index 707478a74..896bc79b1 100644 --- a/.forge-snapshots/settler_ekubo_USDC-WETH.snap +++ b/.forge-snapshots/settler_ekubo_USDC-WETH.snap @@ -1 +1 @@ -196548 \ No newline at end of file +196354 \ No newline at end of file diff --git a/.forge-snapshots/settler_eulerSwapCustody_USDC-USDT.snap b/.forge-snapshots/settler_eulerSwapCustody_USDC-USDT.snap index d0a4cd148..53d264cac 100644 --- a/.forge-snapshots/settler_eulerSwapCustody_USDC-USDT.snap +++ b/.forge-snapshots/settler_eulerSwapCustody_USDC-USDT.snap @@ -1 +1 @@ -525440 \ No newline at end of file +525461 \ No newline at end of file diff --git a/.forge-snapshots/settler_eulerSwap_USDC-USDT.snap b/.forge-snapshots/settler_eulerSwap_USDC-USDT.snap index f5dc06dbb..bc25f6243 100644 --- a/.forge-snapshots/settler_eulerSwap_USDC-USDT.snap +++ b/.forge-snapshots/settler_eulerSwap_USDC-USDT.snap @@ -1 +1 @@ -554422 \ No newline at end of file +554443 \ No newline at end of file diff --git a/.forge-snapshots/settler_eulerSwap_USDT-USDC.snap b/.forge-snapshots/settler_eulerSwap_USDT-USDC.snap index f354c5cd7..e41f86b85 100644 --- a/.forge-snapshots/settler_eulerSwap_USDT-USDC.snap +++ b/.forge-snapshots/settler_eulerSwap_USDT-USDC.snap @@ -1 +1 @@ -560995 \ No newline at end of file +561016 \ No newline at end of file diff --git a/.forge-snapshots/settler_externalMoveExecute_uniswapV3_DAI-WETH.snap b/.forge-snapshots/settler_externalMoveExecute_uniswapV3_DAI-WETH.snap index 070d4b6d6..876e5b8af 100644 --- a/.forge-snapshots/settler_externalMoveExecute_uniswapV3_DAI-WETH.snap +++ b/.forge-snapshots/settler_externalMoveExecute_uniswapV3_DAI-WETH.snap @@ -1 +1 @@ -128834 \ No newline at end of file +128803 \ No newline at end of file diff --git a/.forge-snapshots/settler_externalMoveExecute_uniswapV3_USDC-USDT.snap b/.forge-snapshots/settler_externalMoveExecute_uniswapV3_USDC-USDT.snap index 2c050dd9c..e26150d92 100644 --- a/.forge-snapshots/settler_externalMoveExecute_uniswapV3_USDC-USDT.snap +++ b/.forge-snapshots/settler_externalMoveExecute_uniswapV3_USDC-USDT.snap @@ -1 +1 @@ -155567 \ No newline at end of file +155536 \ No newline at end of file diff --git a/.forge-snapshots/settler_externalMoveExecute_uniswapV3_USDC-WETH.snap b/.forge-snapshots/settler_externalMoveExecute_uniswapV3_USDC-WETH.snap index 40f848132..a152bc7e5 100644 --- a/.forge-snapshots/settler_externalMoveExecute_uniswapV3_USDC-WETH.snap +++ b/.forge-snapshots/settler_externalMoveExecute_uniswapV3_USDC-WETH.snap @@ -1 +1 @@ -135325 \ No newline at end of file +135294 \ No newline at end of file diff --git a/.forge-snapshots/settler_externalMoveExecute_uniswapV3_USDT-WETH.snap b/.forge-snapshots/settler_externalMoveExecute_uniswapV3_USDT-WETH.snap index 0872fa9bc..fc2964e72 100644 --- a/.forge-snapshots/settler_externalMoveExecute_uniswapV3_USDT-WETH.snap +++ b/.forge-snapshots/settler_externalMoveExecute_uniswapV3_USDT-WETH.snap @@ -1 +1 @@ -144558 \ No newline at end of file +144527 \ No newline at end of file diff --git a/.forge-snapshots/settler_externalMoveExecute_uniswapV3_WETH-USDC.snap b/.forge-snapshots/settler_externalMoveExecute_uniswapV3_WETH-USDC.snap index 18d3aa7d8..3d0c90e44 100644 --- a/.forge-snapshots/settler_externalMoveExecute_uniswapV3_WETH-USDC.snap +++ b/.forge-snapshots/settler_externalMoveExecute_uniswapV3_WETH-USDC.snap @@ -1 +1 @@ -160521 \ No newline at end of file +160490 \ No newline at end of file diff --git a/.forge-snapshots/settler_maverickV2_USDC-WETH.snap b/.forge-snapshots/settler_maverickV2_USDC-WETH.snap index d49a6506f..d3949c983 100644 --- a/.forge-snapshots/settler_maverickV2_USDC-WETH.snap +++ b/.forge-snapshots/settler_maverickV2_USDC-WETH.snap @@ -1 +1 @@ -155613 \ No newline at end of file +155634 \ No newline at end of file diff --git a/.forge-snapshots/settler_maverickV2_VIP_USDC-WETH.snap b/.forge-snapshots/settler_maverickV2_VIP_USDC-WETH.snap index 656895bc8..cd55ddeb1 100644 --- a/.forge-snapshots/settler_maverickV2_VIP_USDC-WETH.snap +++ b/.forge-snapshots/settler_maverickV2_VIP_USDC-WETH.snap @@ -1 +1 @@ -128423 \ No newline at end of file +128386 \ No newline at end of file diff --git a/.forge-snapshots/settler_metaTxn_balancerV3_USDC-USDT.snap b/.forge-snapshots/settler_metaTxn_balancerV3_USDC-USDT.snap index 9a327a52b..3da6879ae 100644 --- a/.forge-snapshots/settler_metaTxn_balancerV3_USDC-USDT.snap +++ b/.forge-snapshots/settler_metaTxn_balancerV3_USDC-USDT.snap @@ -1 +1 @@ -314788 \ No newline at end of file +314746 \ No newline at end of file diff --git a/.forge-snapshots/settler_metaTxn_ekubo_USDC-USDT.snap b/.forge-snapshots/settler_metaTxn_ekubo_USDC-USDT.snap index 7f5ca32fa..c077eb492 100644 --- a/.forge-snapshots/settler_metaTxn_ekubo_USDC-USDT.snap +++ b/.forge-snapshots/settler_metaTxn_ekubo_USDC-USDT.snap @@ -1 +1 @@ -156207 \ No newline at end of file +156165 \ No newline at end of file diff --git a/.forge-snapshots/settler_metaTxn_ekubo_USDC-WETH.snap b/.forge-snapshots/settler_metaTxn_ekubo_USDC-WETH.snap index 0c745e173..3a1aca1fa 100644 --- a/.forge-snapshots/settler_metaTxn_ekubo_USDC-WETH.snap +++ b/.forge-snapshots/settler_metaTxn_ekubo_USDC-WETH.snap @@ -1 +1 @@ -173069 \ No newline at end of file +172859 \ No newline at end of file diff --git a/.forge-snapshots/settler_metaTxn_maverickV2_USDC-WETH.snap b/.forge-snapshots/settler_metaTxn_maverickV2_USDC-WETH.snap index 87a7b82d8..4a6f34cad 100644 --- a/.forge-snapshots/settler_metaTxn_maverickV2_USDC-WETH.snap +++ b/.forge-snapshots/settler_metaTxn_maverickV2_USDC-WETH.snap @@ -1 +1 @@ -133508 \ No newline at end of file +133463 \ No newline at end of file diff --git a/.forge-snapshots/settler_metaTxn_pancakeInfinity_USDT-CAKE.snap b/.forge-snapshots/settler_metaTxn_pancakeInfinity_USDT-CAKE.snap index df63bded4..bc05c562d 100644 --- a/.forge-snapshots/settler_metaTxn_pancakeInfinity_USDT-CAKE.snap +++ b/.forge-snapshots/settler_metaTxn_pancakeInfinity_USDT-CAKE.snap @@ -1 +1 @@ -41007807 \ No newline at end of file +41007822 \ No newline at end of file diff --git a/.forge-snapshots/settler_metaTxn_pancakeInfinity_USDT-WBNB.snap b/.forge-snapshots/settler_metaTxn_pancakeInfinity_USDT-WBNB.snap index c5a830605..68ec7f10a 100644 --- a/.forge-snapshots/settler_metaTxn_pancakeInfinity_USDT-WBNB.snap +++ b/.forge-snapshots/settler_metaTxn_pancakeInfinity_USDT-WBNB.snap @@ -1 +1 @@ -207955 \ No newline at end of file +207799 \ No newline at end of file diff --git a/.forge-snapshots/settler_metaTxn_uniswapV3VIP_DAI-WETH.snap b/.forge-snapshots/settler_metaTxn_uniswapV3VIP_DAI-WETH.snap index 897280c67..83e7e9902 100644 --- a/.forge-snapshots/settler_metaTxn_uniswapV3VIP_DAI-WETH.snap +++ b/.forge-snapshots/settler_metaTxn_uniswapV3VIP_DAI-WETH.snap @@ -1 +1 @@ -125812 \ No newline at end of file +125773 \ No newline at end of file diff --git a/.forge-snapshots/settler_metaTxn_uniswapV3VIP_USDC-USDT.snap b/.forge-snapshots/settler_metaTxn_uniswapV3VIP_USDC-USDT.snap index 0084b7a73..212de38d8 100644 --- a/.forge-snapshots/settler_metaTxn_uniswapV3VIP_USDC-USDT.snap +++ b/.forge-snapshots/settler_metaTxn_uniswapV3VIP_USDC-USDT.snap @@ -1 +1 @@ -154115 \ No newline at end of file +154076 \ No newline at end of file diff --git a/.forge-snapshots/settler_metaTxn_uniswapV3VIP_USDC-WETH.snap b/.forge-snapshots/settler_metaTxn_uniswapV3VIP_USDC-WETH.snap index 84278776c..007796950 100644 --- a/.forge-snapshots/settler_metaTxn_uniswapV3VIP_USDC-WETH.snap +++ b/.forge-snapshots/settler_metaTxn_uniswapV3VIP_USDC-WETH.snap @@ -1 +1 @@ -135147 \ No newline at end of file +135108 \ No newline at end of file diff --git a/.forge-snapshots/settler_metaTxn_uniswapV3VIP_USDT-WETH.snap b/.forge-snapshots/settler_metaTxn_uniswapV3VIP_USDT-WETH.snap index ad0e3050a..455e4ee41 100644 --- a/.forge-snapshots/settler_metaTxn_uniswapV3VIP_USDT-WETH.snap +++ b/.forge-snapshots/settler_metaTxn_uniswapV3VIP_USDT-WETH.snap @@ -1 +1 @@ -137368 \ No newline at end of file +137329 \ No newline at end of file diff --git a/.forge-snapshots/settler_metaTxn_uniswapV3_DAI-WETH.snap b/.forge-snapshots/settler_metaTxn_uniswapV3_DAI-WETH.snap index 15679ddd8..07f937626 100644 --- a/.forge-snapshots/settler_metaTxn_uniswapV3_DAI-WETH.snap +++ b/.forge-snapshots/settler_metaTxn_uniswapV3_DAI-WETH.snap @@ -1 +1 @@ -151946 \ No newline at end of file +151895 \ No newline at end of file diff --git a/.forge-snapshots/settler_metaTxn_uniswapV3_USDC-USDT.snap b/.forge-snapshots/settler_metaTxn_uniswapV3_USDC-USDT.snap index 5a6ddf104..6603c7f97 100644 --- a/.forge-snapshots/settler_metaTxn_uniswapV3_USDC-USDT.snap +++ b/.forge-snapshots/settler_metaTxn_uniswapV3_USDC-USDT.snap @@ -1 +1 @@ -184306 \ No newline at end of file +184255 \ No newline at end of file diff --git a/.forge-snapshots/settler_metaTxn_uniswapV3_USDC-WETH.snap b/.forge-snapshots/settler_metaTxn_uniswapV3_USDC-WETH.snap index d764e8093..834815808 100644 --- a/.forge-snapshots/settler_metaTxn_uniswapV3_USDC-WETH.snap +++ b/.forge-snapshots/settler_metaTxn_uniswapV3_USDC-WETH.snap @@ -1 +1 @@ -163996 \ No newline at end of file +163945 \ No newline at end of file diff --git a/.forge-snapshots/settler_metaTxn_uniswapV3_USDT-WETH.snap b/.forge-snapshots/settler_metaTxn_uniswapV3_USDT-WETH.snap index 4312f71aa..d682f1de0 100644 --- a/.forge-snapshots/settler_metaTxn_uniswapV3_USDT-WETH.snap +++ b/.forge-snapshots/settler_metaTxn_uniswapV3_USDT-WETH.snap @@ -1 +1 @@ -167355 \ No newline at end of file +167304 \ No newline at end of file diff --git a/.forge-snapshots/settler_pancakeInfinityVIP_USDT-CAKE.snap b/.forge-snapshots/settler_pancakeInfinityVIP_USDT-CAKE.snap index 5c3a5f54a..91af0744d 100644 --- a/.forge-snapshots/settler_pancakeInfinityVIP_USDT-CAKE.snap +++ b/.forge-snapshots/settler_pancakeInfinityVIP_USDT-CAKE.snap @@ -1 +1 @@ -41002500 \ No newline at end of file +41002523 \ No newline at end of file diff --git a/.forge-snapshots/settler_pancakeInfinityVIP_USDT-WBNB.snap b/.forge-snapshots/settler_pancakeInfinityVIP_USDT-WBNB.snap index 2427bef01..8a0cb4888 100644 --- a/.forge-snapshots/settler_pancakeInfinityVIP_USDT-WBNB.snap +++ b/.forge-snapshots/settler_pancakeInfinityVIP_USDT-WBNB.snap @@ -1 +1 @@ -202309 \ No newline at end of file +202159 \ No newline at end of file diff --git a/.forge-snapshots/settler_pancakeInfinity_USDT-CAKE.snap b/.forge-snapshots/settler_pancakeInfinity_USDT-CAKE.snap index f0f6ae195..337afc297 100644 --- a/.forge-snapshots/settler_pancakeInfinity_USDT-CAKE.snap +++ b/.forge-snapshots/settler_pancakeInfinity_USDT-CAKE.snap @@ -1 +1 @@ -41028683 \ No newline at end of file +41028724 \ No newline at end of file diff --git a/.forge-snapshots/settler_pancakeInfinity_USDT-WBNB.snap b/.forge-snapshots/settler_pancakeInfinity_USDT-WBNB.snap index 5067694a2..19c3e5226 100644 --- a/.forge-snapshots/settler_pancakeInfinity_USDT-WBNB.snap +++ b/.forge-snapshots/settler_pancakeInfinity_USDT-WBNB.snap @@ -1 +1 @@ -228494 \ No newline at end of file +228362 \ No newline at end of file diff --git a/.forge-snapshots/settler_rfq_fee_full_custody_DAI-USDC.snap b/.forge-snapshots/settler_rfq_fee_full_custody_DAI-USDC.snap index 48099cae5..aa0b77acc 100644 --- a/.forge-snapshots/settler_rfq_fee_full_custody_DAI-USDC.snap +++ b/.forge-snapshots/settler_rfq_fee_full_custody_DAI-USDC.snap @@ -1 +1 @@ -240780 \ No newline at end of file +240593 \ No newline at end of file diff --git a/.forge-snapshots/settler_rfq_fee_full_custody_DAI-WETH.snap b/.forge-snapshots/settler_rfq_fee_full_custody_DAI-WETH.snap index 2844c054f..d03401881 100644 --- a/.forge-snapshots/settler_rfq_fee_full_custody_DAI-WETH.snap +++ b/.forge-snapshots/settler_rfq_fee_full_custody_DAI-WETH.snap @@ -1 +1 @@ -155990 \ No newline at end of file +155843 \ No newline at end of file diff --git a/.forge-snapshots/settler_rfq_fee_full_custody_USDC-DAI.snap b/.forge-snapshots/settler_rfq_fee_full_custody_USDC-DAI.snap index b8610cd95..d39f611a8 100644 --- a/.forge-snapshots/settler_rfq_fee_full_custody_USDC-DAI.snap +++ b/.forge-snapshots/settler_rfq_fee_full_custody_USDC-DAI.snap @@ -1 +1 @@ -236724 \ No newline at end of file +236537 \ No newline at end of file diff --git a/.forge-snapshots/settler_rfq_fee_full_custody_USDC-USDS.snap b/.forge-snapshots/settler_rfq_fee_full_custody_USDC-USDS.snap index 672600044..243aac8b5 100644 --- a/.forge-snapshots/settler_rfq_fee_full_custody_USDC-USDS.snap +++ b/.forge-snapshots/settler_rfq_fee_full_custody_USDC-USDS.snap @@ -1 +1 @@ -237283 \ No newline at end of file +237096 \ No newline at end of file diff --git a/.forge-snapshots/settler_rfq_fee_full_custody_USDC-USDT.snap b/.forge-snapshots/settler_rfq_fee_full_custody_USDC-USDT.snap index d20fa9da3..bcafc7d91 100644 --- a/.forge-snapshots/settler_rfq_fee_full_custody_USDC-USDT.snap +++ b/.forge-snapshots/settler_rfq_fee_full_custody_USDC-USDT.snap @@ -1 +1 @@ -202143 \ No newline at end of file +202174 \ No newline at end of file diff --git a/.forge-snapshots/settler_rfq_fee_full_custody_USDC-WETH.snap b/.forge-snapshots/settler_rfq_fee_full_custody_USDC-WETH.snap index e2fd98b0a..c6879f691 100644 --- a/.forge-snapshots/settler_rfq_fee_full_custody_USDC-WETH.snap +++ b/.forge-snapshots/settler_rfq_fee_full_custody_USDC-WETH.snap @@ -1 +1 @@ -174736 \ No newline at end of file +174589 \ No newline at end of file diff --git a/.forge-snapshots/settler_rfq_fee_full_custody_USDS-USDC.snap b/.forge-snapshots/settler_rfq_fee_full_custody_USDS-USDC.snap index 57aab1cf3..ae0c75002 100644 --- a/.forge-snapshots/settler_rfq_fee_full_custody_USDS-USDC.snap +++ b/.forge-snapshots/settler_rfq_fee_full_custody_USDS-USDC.snap @@ -1 +1 @@ -239659 \ No newline at end of file +239472 \ No newline at end of file diff --git a/.forge-snapshots/settler_rfq_fee_full_custody_USDT-CAKE.snap b/.forge-snapshots/settler_rfq_fee_full_custody_USDT-CAKE.snap index d09b7fc79..f393691ef 100644 --- a/.forge-snapshots/settler_rfq_fee_full_custody_USDT-CAKE.snap +++ b/.forge-snapshots/settler_rfq_fee_full_custody_USDT-CAKE.snap @@ -1 +1 @@ -188417 \ No newline at end of file +188270 \ No newline at end of file diff --git a/.forge-snapshots/settler_rfq_fee_full_custody_USDT-WBNB.snap b/.forge-snapshots/settler_rfq_fee_full_custody_USDT-WBNB.snap index d31ae8eae..eec12e893 100644 --- a/.forge-snapshots/settler_rfq_fee_full_custody_USDT-WBNB.snap +++ b/.forge-snapshots/settler_rfq_fee_full_custody_USDT-WBNB.snap @@ -1 +1 @@ -183012 \ No newline at end of file +182865 \ No newline at end of file diff --git a/.forge-snapshots/settler_rfq_fee_full_custody_USDT-WETH.snap b/.forge-snapshots/settler_rfq_fee_full_custody_USDT-WETH.snap index 1984ea6ac..aa58908c8 100644 --- a/.forge-snapshots/settler_rfq_fee_full_custody_USDT-WETH.snap +++ b/.forge-snapshots/settler_rfq_fee_full_custody_USDT-WETH.snap @@ -1 +1 @@ -170958 \ No newline at end of file +170811 \ No newline at end of file diff --git a/.forge-snapshots/settler_uniswapV2_DAI-WETH.snap b/.forge-snapshots/settler_uniswapV2_DAI-WETH.snap index 5f3bb3049..b7e1da479 100644 --- a/.forge-snapshots/settler_uniswapV2_DAI-WETH.snap +++ b/.forge-snapshots/settler_uniswapV2_DAI-WETH.snap @@ -1 +1 @@ -136318 \ No newline at end of file +136339 \ No newline at end of file diff --git a/.forge-snapshots/settler_uniswapV2_USDC-WETH.snap b/.forge-snapshots/settler_uniswapV2_USDC-WETH.snap index 3c0fed11d..f7656f2e1 100644 --- a/.forge-snapshots/settler_uniswapV2_USDC-WETH.snap +++ b/.forge-snapshots/settler_uniswapV2_USDC-WETH.snap @@ -1 +1 @@ -155801 \ No newline at end of file +155822 \ No newline at end of file diff --git a/.forge-snapshots/settler_uniswapV2_USDT-WETH.snap b/.forge-snapshots/settler_uniswapV2_USDT-WETH.snap index 97c22d380..bbc7511c7 100644 --- a/.forge-snapshots/settler_uniswapV2_USDT-WETH.snap +++ b/.forge-snapshots/settler_uniswapV2_USDT-WETH.snap @@ -1 +1 @@ -151715 \ No newline at end of file +151736 \ No newline at end of file diff --git a/.forge-snapshots/settler_uniswapV2_WETH-USDC.snap b/.forge-snapshots/settler_uniswapV2_WETH-USDC.snap index aa631621f..cdb8ca36c 100644 --- a/.forge-snapshots/settler_uniswapV2_WETH-USDC.snap +++ b/.forge-snapshots/settler_uniswapV2_WETH-USDC.snap @@ -1 +1 @@ -169086 \ No newline at end of file +169107 \ No newline at end of file diff --git a/.forge-snapshots/settler_uniswapV2_fromNative_WETH-USDC.snap b/.forge-snapshots/settler_uniswapV2_fromNative_WETH-USDC.snap index 1d9a45e7d..736bae003 100644 --- a/.forge-snapshots/settler_uniswapV2_fromNative_WETH-USDC.snap +++ b/.forge-snapshots/settler_uniswapV2_fromNative_WETH-USDC.snap @@ -1 +1 @@ -160596 \ No newline at end of file +160587 \ No newline at end of file diff --git a/.forge-snapshots/settler_uniswapV2_multihop_DAI-WETH.snap b/.forge-snapshots/settler_uniswapV2_multihop_DAI-WETH.snap index dc6e50203..013d5abcc 100644 --- a/.forge-snapshots/settler_uniswapV2_multihop_DAI-WETH.snap +++ b/.forge-snapshots/settler_uniswapV2_multihop_DAI-WETH.snap @@ -1 +1 @@ -194641 \ No newline at end of file +194680 \ No newline at end of file diff --git a/.forge-snapshots/settler_uniswapV2_multihop_USDC-WETH.snap b/.forge-snapshots/settler_uniswapV2_multihop_USDC-WETH.snap index b086bbca0..c2fca38f8 100644 --- a/.forge-snapshots/settler_uniswapV2_multihop_USDC-WETH.snap +++ b/.forge-snapshots/settler_uniswapV2_multihop_USDC-WETH.snap @@ -1 +1 @@ -214124 \ No newline at end of file +214163 \ No newline at end of file diff --git a/.forge-snapshots/settler_uniswapV2_multihop_USDT-WETH.snap b/.forge-snapshots/settler_uniswapV2_multihop_USDT-WETH.snap index db664cca4..200a67fa3 100644 --- a/.forge-snapshots/settler_uniswapV2_multihop_USDT-WETH.snap +++ b/.forge-snapshots/settler_uniswapV2_multihop_USDT-WETH.snap @@ -1 +1 @@ -210038 \ No newline at end of file +210077 \ No newline at end of file diff --git a/.forge-snapshots/settler_uniswapV2_multihop_single_chain_DAI-WETH.snap b/.forge-snapshots/settler_uniswapV2_multihop_single_chain_DAI-WETH.snap index c141a44cc..9bffb346e 100644 --- a/.forge-snapshots/settler_uniswapV2_multihop_single_chain_DAI-WETH.snap +++ b/.forge-snapshots/settler_uniswapV2_multihop_single_chain_DAI-WETH.snap @@ -1 +1 @@ -169059 \ No newline at end of file +169098 \ No newline at end of file diff --git a/.forge-snapshots/settler_uniswapV2_multihop_single_chain_USDC-WETH.snap b/.forge-snapshots/settler_uniswapV2_multihop_single_chain_USDC-WETH.snap index ec3256f36..c5f6dc5c3 100644 --- a/.forge-snapshots/settler_uniswapV2_multihop_single_chain_USDC-WETH.snap +++ b/.forge-snapshots/settler_uniswapV2_multihop_single_chain_USDC-WETH.snap @@ -1 +1 @@ -186564 \ No newline at end of file +186603 \ No newline at end of file diff --git a/.forge-snapshots/settler_uniswapV2_multihop_single_chain_USDT-WETH.snap b/.forge-snapshots/settler_uniswapV2_multihop_single_chain_USDT-WETH.snap index 1f568fea5..b1da7a19d 100644 --- a/.forge-snapshots/settler_uniswapV2_multihop_single_chain_USDT-WETH.snap +++ b/.forge-snapshots/settler_uniswapV2_multihop_single_chain_USDT-WETH.snap @@ -1 +1 @@ -181029 \ No newline at end of file +181068 \ No newline at end of file diff --git a/.forge-snapshots/settler_uniswapV2_single_chain_DAI-WETH.snap b/.forge-snapshots/settler_uniswapV2_single_chain_DAI-WETH.snap index 121cf3cbc..5057089e1 100644 --- a/.forge-snapshots/settler_uniswapV2_single_chain_DAI-WETH.snap +++ b/.forge-snapshots/settler_uniswapV2_single_chain_DAI-WETH.snap @@ -1 +1 @@ -110727 \ No newline at end of file +110748 \ No newline at end of file diff --git a/.forge-snapshots/settler_uniswapV2_single_chain_USDC-WETH.snap b/.forge-snapshots/settler_uniswapV2_single_chain_USDC-WETH.snap index ce6c46279..4833e422f 100644 --- a/.forge-snapshots/settler_uniswapV2_single_chain_USDC-WETH.snap +++ b/.forge-snapshots/settler_uniswapV2_single_chain_USDC-WETH.snap @@ -1 +1 @@ -128232 \ No newline at end of file +128253 \ No newline at end of file diff --git a/.forge-snapshots/settler_uniswapV2_single_chain_USDT-WETH.snap b/.forge-snapshots/settler_uniswapV2_single_chain_USDT-WETH.snap index 06112d1b9..1352aebb9 100644 --- a/.forge-snapshots/settler_uniswapV2_single_chain_USDT-WETH.snap +++ b/.forge-snapshots/settler_uniswapV2_single_chain_USDT-WETH.snap @@ -1 +1 @@ -122697 \ No newline at end of file +122718 \ No newline at end of file diff --git a/.forge-snapshots/settler_uniswapV2_single_chain_WETH-USDC.snap b/.forge-snapshots/settler_uniswapV2_single_chain_WETH-USDC.snap index 901bea222..0be515505 100644 --- a/.forge-snapshots/settler_uniswapV2_single_chain_WETH-USDC.snap +++ b/.forge-snapshots/settler_uniswapV2_single_chain_WETH-USDC.snap @@ -1 +1 @@ -143707 \ No newline at end of file +143728 \ No newline at end of file diff --git a/.forge-snapshots/settler_uniswapV2_toNative_DAI-WETH.snap b/.forge-snapshots/settler_uniswapV2_toNative_DAI-WETH.snap index 7b1a8a588..e992bbf93 100644 --- a/.forge-snapshots/settler_uniswapV2_toNative_DAI-WETH.snap +++ b/.forge-snapshots/settler_uniswapV2_toNative_DAI-WETH.snap @@ -1 +1 @@ -154571 \ No newline at end of file +154610 \ No newline at end of file diff --git a/.forge-snapshots/settler_uniswapV2_toNative_USDC-WETH.snap b/.forge-snapshots/settler_uniswapV2_toNative_USDC-WETH.snap index 64d22ce46..be42c704a 100644 --- a/.forge-snapshots/settler_uniswapV2_toNative_USDC-WETH.snap +++ b/.forge-snapshots/settler_uniswapV2_toNative_USDC-WETH.snap @@ -1 +1 @@ -172076 \ No newline at end of file +172115 \ No newline at end of file diff --git a/.forge-snapshots/settler_uniswapV2_toNative_USDT-WETH.snap b/.forge-snapshots/settler_uniswapV2_toNative_USDT-WETH.snap index 0fc61445a..b95d2eaf1 100644 --- a/.forge-snapshots/settler_uniswapV2_toNative_USDT-WETH.snap +++ b/.forge-snapshots/settler_uniswapV2_toNative_USDT-WETH.snap @@ -1 +1 @@ -166541 \ No newline at end of file +166580 \ No newline at end of file diff --git a/.forge-snapshots/settler_uniswapV3VIP_DAI-WETH.snap b/.forge-snapshots/settler_uniswapV3VIP_DAI-WETH.snap index 94bad2417..c791c51d5 100644 --- a/.forge-snapshots/settler_uniswapV3VIP_DAI-WETH.snap +++ b/.forge-snapshots/settler_uniswapV3VIP_DAI-WETH.snap @@ -1 +1 @@ -120384 \ No newline at end of file +120353 \ No newline at end of file diff --git a/.forge-snapshots/settler_uniswapV3VIP_USDC-USDT.snap b/.forge-snapshots/settler_uniswapV3VIP_USDC-USDT.snap index 586191522..458526103 100644 --- a/.forge-snapshots/settler_uniswapV3VIP_USDC-USDT.snap +++ b/.forge-snapshots/settler_uniswapV3VIP_USDC-USDT.snap @@ -1 +1 @@ -148687 \ No newline at end of file +148656 \ No newline at end of file diff --git a/.forge-snapshots/settler_uniswapV3VIP_USDC-WETH.snap b/.forge-snapshots/settler_uniswapV3VIP_USDC-WETH.snap index 7e8956a43..30e3d7e0c 100644 --- a/.forge-snapshots/settler_uniswapV3VIP_USDC-WETH.snap +++ b/.forge-snapshots/settler_uniswapV3VIP_USDC-WETH.snap @@ -1 +1 @@ -129713 \ No newline at end of file +129682 \ No newline at end of file diff --git a/.forge-snapshots/settler_uniswapV3VIP_USDT-WETH.snap b/.forge-snapshots/settler_uniswapV3VIP_USDT-WETH.snap index 107eb18c3..dd001ceb2 100644 --- a/.forge-snapshots/settler_uniswapV3VIP_USDT-WETH.snap +++ b/.forge-snapshots/settler_uniswapV3VIP_USDT-WETH.snap @@ -1 +1 @@ -131940 \ No newline at end of file +131909 \ No newline at end of file diff --git a/.forge-snapshots/settler_uniswapV3VIP_WETH-USDC.snap b/.forge-snapshots/settler_uniswapV3VIP_WETH-USDC.snap index 0bb077594..076b23da3 100644 --- a/.forge-snapshots/settler_uniswapV3VIP_WETH-USDC.snap +++ b/.forge-snapshots/settler_uniswapV3VIP_WETH-USDC.snap @@ -1 +1 @@ -152175 \ No newline at end of file +152144 \ No newline at end of file diff --git a/.forge-snapshots/settler_uniswapV3VIP_toNative_DAI-WETH.snap b/.forge-snapshots/settler_uniswapV3VIP_toNative_DAI-WETH.snap index fa9e1adaf..2031d6b50 100644 --- a/.forge-snapshots/settler_uniswapV3VIP_toNative_DAI-WETH.snap +++ b/.forge-snapshots/settler_uniswapV3VIP_toNative_DAI-WETH.snap @@ -1 +1 @@ -164362 \ No newline at end of file +164349 \ No newline at end of file diff --git a/.forge-snapshots/settler_uniswapV3VIP_toNative_USDC-WETH.snap b/.forge-snapshots/settler_uniswapV3VIP_toNative_USDC-WETH.snap index 9515a15d6..b738a4467 100644 --- a/.forge-snapshots/settler_uniswapV3VIP_toNative_USDC-WETH.snap +++ b/.forge-snapshots/settler_uniswapV3VIP_toNative_USDC-WETH.snap @@ -1 +1 @@ -173691 \ No newline at end of file +173678 \ No newline at end of file diff --git a/.forge-snapshots/settler_uniswapV3VIP_toNative_USDT-WETH.snap b/.forge-snapshots/settler_uniswapV3VIP_toNative_USDT-WETH.snap index 5ed6886e2..d19045035 100644 --- a/.forge-snapshots/settler_uniswapV3VIP_toNative_USDT-WETH.snap +++ b/.forge-snapshots/settler_uniswapV3VIP_toNative_USDT-WETH.snap @@ -1 +1 @@ -175918 \ No newline at end of file +175905 \ No newline at end of file diff --git a/.forge-snapshots/settler_uniswapV3_DAI-WETH.snap b/.forge-snapshots/settler_uniswapV3_DAI-WETH.snap index 7e48a2479..91a9756d2 100644 --- a/.forge-snapshots/settler_uniswapV3_DAI-WETH.snap +++ b/.forge-snapshots/settler_uniswapV3_DAI-WETH.snap @@ -1 +1 @@ -146484 \ No newline at end of file +146471 \ No newline at end of file diff --git a/.forge-snapshots/settler_uniswapV3_USDC-USDT.snap b/.forge-snapshots/settler_uniswapV3_USDC-USDT.snap index 91193a276..aa56cbd1f 100644 --- a/.forge-snapshots/settler_uniswapV3_USDC-USDT.snap +++ b/.forge-snapshots/settler_uniswapV3_USDC-USDT.snap @@ -1 +1 @@ -178844 \ No newline at end of file +178831 \ No newline at end of file diff --git a/.forge-snapshots/settler_uniswapV3_USDC-WETH.snap b/.forge-snapshots/settler_uniswapV3_USDC-WETH.snap index 5a8ae28a2..3bfb1b251 100644 --- a/.forge-snapshots/settler_uniswapV3_USDC-WETH.snap +++ b/.forge-snapshots/settler_uniswapV3_USDC-WETH.snap @@ -1 +1 @@ -158528 \ No newline at end of file +158515 \ No newline at end of file diff --git a/.forge-snapshots/settler_uniswapV3_USDT-WETH.snap b/.forge-snapshots/settler_uniswapV3_USDT-WETH.snap index 60c0df690..f8ec1f2a3 100644 --- a/.forge-snapshots/settler_uniswapV3_USDT-WETH.snap +++ b/.forge-snapshots/settler_uniswapV3_USDT-WETH.snap @@ -1 +1 @@ -161893 \ No newline at end of file +161880 \ No newline at end of file diff --git a/.forge-snapshots/settler_uniswapV3_WETH-USDC.snap b/.forge-snapshots/settler_uniswapV3_WETH-USDC.snap index 516600c56..5f818bd19 100644 --- a/.forge-snapshots/settler_uniswapV3_WETH-USDC.snap +++ b/.forge-snapshots/settler_uniswapV3_WETH-USDC.snap @@ -1 +1 @@ -177986 \ No newline at end of file +177973 \ No newline at end of file diff --git a/.forge-snapshots/settler_uniswapV3_buyToken_fee_full_custody_DAI-WETH.snap b/.forge-snapshots/settler_uniswapV3_buyToken_fee_full_custody_DAI-WETH.snap index 63a4c6d63..f22bb6843 100644 --- a/.forge-snapshots/settler_uniswapV3_buyToken_fee_full_custody_DAI-WETH.snap +++ b/.forge-snapshots/settler_uniswapV3_buyToken_fee_full_custody_DAI-WETH.snap @@ -1 +1 @@ -183813 \ No newline at end of file +183632 \ No newline at end of file diff --git a/.forge-snapshots/settler_uniswapV3_buyToken_fee_full_custody_USDC-USDT.snap b/.forge-snapshots/settler_uniswapV3_buyToken_fee_full_custody_USDC-USDT.snap index ae8a86523..d164a6f9d 100644 --- a/.forge-snapshots/settler_uniswapV3_buyToken_fee_full_custody_USDC-USDT.snap +++ b/.forge-snapshots/settler_uniswapV3_buyToken_fee_full_custody_USDC-USDT.snap @@ -1 +1 @@ -222365 \ No newline at end of file +222379 \ No newline at end of file diff --git a/.forge-snapshots/settler_uniswapV3_buyToken_fee_full_custody_USDC-WETH.snap b/.forge-snapshots/settler_uniswapV3_buyToken_fee_full_custody_USDC-WETH.snap index 514a515bc..0cb53501e 100644 --- a/.forge-snapshots/settler_uniswapV3_buyToken_fee_full_custody_USDC-WETH.snap +++ b/.forge-snapshots/settler_uniswapV3_buyToken_fee_full_custody_USDC-WETH.snap @@ -1 +1 @@ -195857 \ No newline at end of file +195676 \ No newline at end of file diff --git a/.forge-snapshots/settler_uniswapV3_buyToken_fee_full_custody_USDT-WETH.snap b/.forge-snapshots/settler_uniswapV3_buyToken_fee_full_custody_USDT-WETH.snap index e81e1ddd2..eee3349a1 100644 --- a/.forge-snapshots/settler_uniswapV3_buyToken_fee_full_custody_USDT-WETH.snap +++ b/.forge-snapshots/settler_uniswapV3_buyToken_fee_full_custody_USDT-WETH.snap @@ -1 +1 @@ -199222 \ No newline at end of file +199041 \ No newline at end of file diff --git a/.forge-snapshots/settler_uniswapV3_buyToken_fee_full_custody_WETH-USDC.snap b/.forge-snapshots/settler_uniswapV3_buyToken_fee_full_custody_WETH-USDC.snap index 4617a37e1..c6e35198a 100644 --- a/.forge-snapshots/settler_uniswapV3_buyToken_fee_full_custody_WETH-USDC.snap +++ b/.forge-snapshots/settler_uniswapV3_buyToken_fee_full_custody_WETH-USDC.snap @@ -1 +1 @@ -221311 \ No newline at end of file +221130 \ No newline at end of file diff --git a/.forge-snapshots/settler_uniswapV3_buyToken_fee_single_custody_DAI-WETH.snap b/.forge-snapshots/settler_uniswapV3_buyToken_fee_single_custody_DAI-WETH.snap index afeaeaea4..2c6ea76ce 100644 --- a/.forge-snapshots/settler_uniswapV3_buyToken_fee_single_custody_DAI-WETH.snap +++ b/.forge-snapshots/settler_uniswapV3_buyToken_fee_single_custody_DAI-WETH.snap @@ -1 +1 @@ -157849 \ No newline at end of file +157650 \ No newline at end of file diff --git a/.forge-snapshots/settler_uniswapV3_buyToken_fee_single_custody_USDC-USDT.snap b/.forge-snapshots/settler_uniswapV3_buyToken_fee_single_custody_USDC-USDT.snap index 2a1fd9646..248f79681 100644 --- a/.forge-snapshots/settler_uniswapV3_buyToken_fee_single_custody_USDC-USDT.snap +++ b/.forge-snapshots/settler_uniswapV3_buyToken_fee_single_custody_USDC-USDT.snap @@ -1 +1 @@ -192344 \ No newline at end of file +192340 \ No newline at end of file diff --git a/.forge-snapshots/settler_uniswapV3_buyToken_fee_single_custody_USDC-WETH.snap b/.forge-snapshots/settler_uniswapV3_buyToken_fee_single_custody_USDC-WETH.snap index 780e8f6ef..b46067ba2 100644 --- a/.forge-snapshots/settler_uniswapV3_buyToken_fee_single_custody_USDC-WETH.snap +++ b/.forge-snapshots/settler_uniswapV3_buyToken_fee_single_custody_USDC-WETH.snap @@ -1 +1 @@ -167178 \ No newline at end of file +166979 \ No newline at end of file diff --git a/.forge-snapshots/settler_uniswapV3_buyToken_fee_single_custody_USDT-WETH.snap b/.forge-snapshots/settler_uniswapV3_buyToken_fee_single_custody_USDT-WETH.snap index 60f8bb209..880e08539 100644 --- a/.forge-snapshots/settler_uniswapV3_buyToken_fee_single_custody_USDT-WETH.snap +++ b/.forge-snapshots/settler_uniswapV3_buyToken_fee_single_custody_USDT-WETH.snap @@ -1 +1 @@ -169405 \ No newline at end of file +169206 \ No newline at end of file diff --git a/.forge-snapshots/settler_uniswapV3_buyToken_fee_single_custody_WETH-USDC.snap b/.forge-snapshots/settler_uniswapV3_buyToken_fee_single_custody_WETH-USDC.snap index 39197c160..0ddc0f87b 100644 --- a/.forge-snapshots/settler_uniswapV3_buyToken_fee_single_custody_WETH-USDC.snap +++ b/.forge-snapshots/settler_uniswapV3_buyToken_fee_single_custody_WETH-USDC.snap @@ -1 +1 @@ -195630 \ No newline at end of file +195431 \ No newline at end of file diff --git a/.forge-snapshots/settler_uniswapV3_fromNative_WETH-USDC.snap b/.forge-snapshots/settler_uniswapV3_fromNative_WETH-USDC.snap index d1b28cb8e..5a0005498 100644 --- a/.forge-snapshots/settler_uniswapV3_fromNative_WETH-USDC.snap +++ b/.forge-snapshots/settler_uniswapV3_fromNative_WETH-USDC.snap @@ -1 +1 @@ -169532 \ No newline at end of file +169489 \ No newline at end of file diff --git a/.forge-snapshots/settler_uniswapV3_multiplex2_DAI-WETH.snap b/.forge-snapshots/settler_uniswapV3_multiplex2_DAI-WETH.snap index a7b456a29..10a621bd5 100644 --- a/.forge-snapshots/settler_uniswapV3_multiplex2_DAI-WETH.snap +++ b/.forge-snapshots/settler_uniswapV3_multiplex2_DAI-WETH.snap @@ -1 +1 @@ -178826 \ No newline at end of file +178797 \ No newline at end of file diff --git a/.forge-snapshots/settler_uniswapV3_multiplex2_USDC-USDT.snap b/.forge-snapshots/settler_uniswapV3_multiplex2_USDC-USDT.snap index fadb7fdf2..b2dd6948c 100644 --- a/.forge-snapshots/settler_uniswapV3_multiplex2_USDC-USDT.snap +++ b/.forge-snapshots/settler_uniswapV3_multiplex2_USDC-USDT.snap @@ -1 +1 @@ -215835 \ No newline at end of file +215806 \ No newline at end of file diff --git a/.forge-snapshots/settler_uniswapV3_multiplex2_USDC-WETH.snap b/.forge-snapshots/settler_uniswapV3_multiplex2_USDC-WETH.snap index ff2f76cb9..7633a767c 100644 --- a/.forge-snapshots/settler_uniswapV3_multiplex2_USDC-WETH.snap +++ b/.forge-snapshots/settler_uniswapV3_multiplex2_USDC-WETH.snap @@ -1 +1 @@ -195555 \ No newline at end of file +195526 \ No newline at end of file diff --git a/.forge-snapshots/settler_uniswapV3_multiplex2_USDT-WETH.snap b/.forge-snapshots/settler_uniswapV3_multiplex2_USDT-WETH.snap index 8d483f88c..c7b52a97c 100644 --- a/.forge-snapshots/settler_uniswapV3_multiplex2_USDT-WETH.snap +++ b/.forge-snapshots/settler_uniswapV3_multiplex2_USDT-WETH.snap @@ -1 +1 @@ -196542 \ No newline at end of file +196513 \ No newline at end of file diff --git a/.forge-snapshots/settler_uniswapV3_multiplex2_WETH-USDC.snap b/.forge-snapshots/settler_uniswapV3_multiplex2_WETH-USDC.snap index 8acf868e0..55536a2b3 100644 --- a/.forge-snapshots/settler_uniswapV3_multiplex2_WETH-USDC.snap +++ b/.forge-snapshots/settler_uniswapV3_multiplex2_WETH-USDC.snap @@ -1 +1 @@ -211719 \ No newline at end of file +211690 \ No newline at end of file diff --git a/.forge-snapshots/settler_uniswapV3_sellToken_fee_full_custody_DAI-WETH.snap b/.forge-snapshots/settler_uniswapV3_sellToken_fee_full_custody_DAI-WETH.snap index 2993e08c6..6afc859d6 100644 --- a/.forge-snapshots/settler_uniswapV3_sellToken_fee_full_custody_DAI-WETH.snap +++ b/.forge-snapshots/settler_uniswapV3_sellToken_fee_full_custody_DAI-WETH.snap @@ -1 +1 @@ -157802 \ No newline at end of file +157589 \ No newline at end of file diff --git a/.forge-snapshots/settler_uniswapV3_sellToken_fee_full_custody_USDC-USDT.snap b/.forge-snapshots/settler_uniswapV3_sellToken_fee_full_custody_USDC-USDT.snap index 011392ac2..75211632e 100644 --- a/.forge-snapshots/settler_uniswapV3_sellToken_fee_full_custody_USDC-USDT.snap +++ b/.forge-snapshots/settler_uniswapV3_sellToken_fee_full_custody_USDC-USDT.snap @@ -1 +1 @@ -194218 \ No newline at end of file +194005 \ No newline at end of file diff --git a/.forge-snapshots/settler_uniswapV3_sellToken_fee_full_custody_USDC-WETH.snap b/.forge-snapshots/settler_uniswapV3_sellToken_fee_full_custody_USDC-WETH.snap index 556647369..3b9680558 100644 --- a/.forge-snapshots/settler_uniswapV3_sellToken_fee_full_custody_USDC-WETH.snap +++ b/.forge-snapshots/settler_uniswapV3_sellToken_fee_full_custody_USDC-WETH.snap @@ -1 +1 @@ -172561 \ No newline at end of file +172348 \ No newline at end of file diff --git a/.forge-snapshots/settler_uniswapV3_sellToken_fee_full_custody_USDT-WETH.snap b/.forge-snapshots/settler_uniswapV3_sellToken_fee_full_custody_USDT-WETH.snap index 19949c9cc..9f6d705f2 100644 --- a/.forge-snapshots/settler_uniswapV3_sellToken_fee_full_custody_USDT-WETH.snap +++ b/.forge-snapshots/settler_uniswapV3_sellToken_fee_full_custody_USDT-WETH.snap @@ -1 +1 @@ -174987 \ No newline at end of file +174969 \ No newline at end of file diff --git a/.forge-snapshots/settler_uniswapV3_sellToken_fee_full_custody_WETH-USDC.snap b/.forge-snapshots/settler_uniswapV3_sellToken_fee_full_custody_WETH-USDC.snap index b5f8fd7e7..9aba84cde 100644 --- a/.forge-snapshots/settler_uniswapV3_sellToken_fee_full_custody_WETH-USDC.snap +++ b/.forge-snapshots/settler_uniswapV3_sellToken_fee_full_custody_WETH-USDC.snap @@ -1 +1 @@ -189024 \ No newline at end of file +188811 \ No newline at end of file diff --git a/.forge-snapshots/settler_uniswapV4VIP_toNative_DAI-WETH.snap b/.forge-snapshots/settler_uniswapV4VIP_toNative_DAI-WETH.snap index 9703c9e5e..b01de4e61 100644 --- a/.forge-snapshots/settler_uniswapV4VIP_toNative_DAI-WETH.snap +++ b/.forge-snapshots/settler_uniswapV4VIP_toNative_DAI-WETH.snap @@ -1 +1 @@ -117846 \ No newline at end of file +117815 \ No newline at end of file diff --git a/.forge-snapshots/settler_uniswapV4VIP_toNative_USDC-WETH.snap b/.forge-snapshots/settler_uniswapV4VIP_toNative_USDC-WETH.snap index 3b2d8ed45..8846f9571 100644 --- a/.forge-snapshots/settler_uniswapV4VIP_toNative_USDC-WETH.snap +++ b/.forge-snapshots/settler_uniswapV4VIP_toNative_USDC-WETH.snap @@ -1 +1 @@ -135179 \ No newline at end of file +135148 \ No newline at end of file diff --git a/.forge-snapshots/settler_uniswapV4VIP_toNative_USDT-WETH.snap b/.forge-snapshots/settler_uniswapV4VIP_toNative_USDT-WETH.snap index e5b187ed3..6d4e80317 100644 --- a/.forge-snapshots/settler_uniswapV4VIP_toNative_USDT-WETH.snap +++ b/.forge-snapshots/settler_uniswapV4VIP_toNative_USDT-WETH.snap @@ -1 +1 @@ -129576 \ No newline at end of file +129545 \ No newline at end of file diff --git a/.forge-snapshots/settler_uniswapV4_fromNative_WETH-USDC.snap b/.forge-snapshots/settler_uniswapV4_fromNative_WETH-USDC.snap index 6cf054d02..bd8e3b324 100644 --- a/.forge-snapshots/settler_uniswapV4_fromNative_WETH-USDC.snap +++ b/.forge-snapshots/settler_uniswapV4_fromNative_WETH-USDC.snap @@ -1 +1 @@ -128786 \ No newline at end of file +128755 \ No newline at end of file diff --git a/.forge-snapshots/settler_velodrome_USDT-USDC.snap b/.forge-snapshots/settler_velodrome_USDT-USDC.snap index b456f92b4..a634c9a30 100644 --- a/.forge-snapshots/settler_velodrome_USDT-USDC.snap +++ b/.forge-snapshots/settler_velodrome_USDT-USDC.snap @@ -1 +1 @@ -305081 \ No newline at end of file +305102 \ No newline at end of file diff --git a/.forge-snapshots/settler_zeroExOtc_DAI-WETH.snap b/.forge-snapshots/settler_zeroExOtc_DAI-WETH.snap index 6ad12b96f..b003b6d49 100644 --- a/.forge-snapshots/settler_zeroExOtc_DAI-WETH.snap +++ b/.forge-snapshots/settler_zeroExOtc_DAI-WETH.snap @@ -1 +1 @@ -172872 \ No newline at end of file +172704 \ No newline at end of file diff --git a/.forge-snapshots/settler_zeroExOtc_USDC-USDT.snap b/.forge-snapshots/settler_zeroExOtc_USDC-USDT.snap index d80a7e68e..644f3d900 100644 --- a/.forge-snapshots/settler_zeroExOtc_USDC-USDT.snap +++ b/.forge-snapshots/settler_zeroExOtc_USDC-USDT.snap @@ -1 +1 @@ -223332 \ No newline at end of file +223164 \ No newline at end of file diff --git a/.forge-snapshots/settler_zeroExOtc_USDC-WETH.snap b/.forge-snapshots/settler_zeroExOtc_USDC-WETH.snap index b67fa097f..adc2514f3 100644 --- a/.forge-snapshots/settler_zeroExOtc_USDC-WETH.snap +++ b/.forge-snapshots/settler_zeroExOtc_USDC-WETH.snap @@ -1 +1 @@ -197942 \ No newline at end of file +197774 \ No newline at end of file diff --git a/.forge-snapshots/settler_zeroExOtc_USDT-WETH.snap b/.forge-snapshots/settler_zeroExOtc_USDT-WETH.snap index f8b59b129..e2bf26823 100644 --- a/.forge-snapshots/settler_zeroExOtc_USDT-WETH.snap +++ b/.forge-snapshots/settler_zeroExOtc_USDT-WETH.snap @@ -1 +1 @@ -188204 \ No newline at end of file +188036 \ No newline at end of file diff --git a/.forge-snapshots/settler_zeroExOtc_WETH-USDC.snap b/.forge-snapshots/settler_zeroExOtc_WETH-USDC.snap index f7dbcb6fc..b2a931c58 100644 --- a/.forge-snapshots/settler_zeroExOtc_WETH-USDC.snap +++ b/.forge-snapshots/settler_zeroExOtc_WETH-USDC.snap @@ -1 +1 @@ -213497 \ No newline at end of file +213329 \ No newline at end of file diff --git a/.forge-snapshots/settler_zeroExOtc_partialFill_DAI-WETH.snap b/.forge-snapshots/settler_zeroExOtc_partialFill_DAI-WETH.snap index 5f723f7cd..671854129 100644 --- a/.forge-snapshots/settler_zeroExOtc_partialFill_DAI-WETH.snap +++ b/.forge-snapshots/settler_zeroExOtc_partialFill_DAI-WETH.snap @@ -1 +1 @@ -179759 \ No newline at end of file +179391 \ No newline at end of file diff --git a/.forge-snapshots/settler_zeroExOtc_partialFill_USDC-USDT.snap b/.forge-snapshots/settler_zeroExOtc_partialFill_USDC-USDT.snap index efdaec9d5..75241116a 100644 --- a/.forge-snapshots/settler_zeroExOtc_partialFill_USDC-USDT.snap +++ b/.forge-snapshots/settler_zeroExOtc_partialFill_USDC-USDT.snap @@ -1 +1 @@ -232275 \ No newline at end of file +231907 \ No newline at end of file diff --git a/.forge-snapshots/settler_zeroExOtc_partialFill_USDC-WETH.snap b/.forge-snapshots/settler_zeroExOtc_partialFill_USDC-WETH.snap index 3fadb8ae5..d13decb18 100644 --- a/.forge-snapshots/settler_zeroExOtc_partialFill_USDC-WETH.snap +++ b/.forge-snapshots/settler_zeroExOtc_partialFill_USDC-WETH.snap @@ -1 +1 @@ -207544 \ No newline at end of file +207176 \ No newline at end of file diff --git a/.forge-snapshots/settler_zeroExOtc_partialFill_USDT-WETH.snap b/.forge-snapshots/settler_zeroExOtc_partialFill_USDT-WETH.snap index 07a75158e..49f59e7da 100644 --- a/.forge-snapshots/settler_zeroExOtc_partialFill_USDT-WETH.snap +++ b/.forge-snapshots/settler_zeroExOtc_partialFill_USDT-WETH.snap @@ -1 +1 @@ -196867 \ No newline at end of file +196694 \ No newline at end of file diff --git a/.forge-snapshots/settler_zeroExOtc_partialFill_WETH-USDC.snap b/.forge-snapshots/settler_zeroExOtc_partialFill_WETH-USDC.snap index 16534b8b1..4453c1e9c 100644 --- a/.forge-snapshots/settler_zeroExOtc_partialFill_WETH-USDC.snap +++ b/.forge-snapshots/settler_zeroExOtc_partialFill_WETH-USDC.snap @@ -1 +1 @@ -220104 \ No newline at end of file +219736 \ No newline at end of file diff --git a/.forge-snapshots/universalRouter_uniswapV2_USDC-WETH.snap b/.forge-snapshots/universalRouter_uniswapV2_USDC-WETH.snap index db9573a2a..c85cb5494 100644 --- a/.forge-snapshots/universalRouter_uniswapV2_USDC-WETH.snap +++ b/.forge-snapshots/universalRouter_uniswapV2_USDC-WETH.snap @@ -1 +1 @@ -181534 \ No newline at end of file +181540 \ No newline at end of file diff --git a/.forge-snapshots/universalRouter_uniswapV3_USDC-WETH.snap b/.forge-snapshots/universalRouter_uniswapV3_USDC-WETH.snap index 532d2a95d..666eab52c 100644 --- a/.forge-snapshots/universalRouter_uniswapV3_USDC-WETH.snap +++ b/.forge-snapshots/universalRouter_uniswapV3_USDC-WETH.snap @@ -1 +1 @@ -177828 \ No newline at end of file +177834 \ No newline at end of file diff --git a/.forge-snapshots/universalRouter_uniswapV3_USDT-WETH.snap b/.forge-snapshots/universalRouter_uniswapV3_USDT-WETH.snap index 77e58c5b8..754feb00e 100644 --- a/.forge-snapshots/universalRouter_uniswapV3_USDT-WETH.snap +++ b/.forge-snapshots/universalRouter_uniswapV3_USDT-WETH.snap @@ -1 +1 @@ -180115 \ No newline at end of file +180121 \ No newline at end of file diff --git a/.forge-snapshots/wethDeposit.snap b/.forge-snapshots/wethDeposit.snap index dc6cc937a..bc45bb3ce 100644 --- a/.forge-snapshots/wethDeposit.snap +++ b/.forge-snapshots/wethDeposit.snap @@ -1 +1 @@ -85051 \ No newline at end of file +85098 \ No newline at end of file diff --git a/.forge-snapshots/wethWithdraw.snap b/.forge-snapshots/wethWithdraw.snap index 2281f0680..d42ba6fa5 100644 --- a/.forge-snapshots/wethWithdraw.snap +++ b/.forge-snapshots/wethWithdraw.snap @@ -1 +1 @@ -45809 \ No newline at end of file +45812 \ No newline at end of file diff --git a/README.md b/README.md index 49eb81ddd..7175476c6 100644 --- a/README.md +++ b/README.md @@ -585,53 +585,53 @@ comparison. | ------------------- | ---------- | --------- | ------ | ------ | | 0x V4 VIP | Uniswap V3 | USDC/WETH | 121305 | 0.00% | | 0x V4 Multiplex | Uniswap V3 | USDC/WETH | 135161 | 11.42% | -| Settler VIP (warm) | Uniswap V3 | USDC/WETH | 129713 | 6.93% | -| AllowanceHolder VIP | Uniswap V3 | USDC/WETH | 122073 | 0.63% | +| Settler VIP (warm) | Uniswap V3 | USDC/WETH | 129682 | 6.91% | +| AllowanceHolder VIP | Uniswap V3 | USDC/WETH | 122031 | 0.60% | | UniswapRouter V3 | Uniswap V3 | USDC/WETH | 117644 | -3.02% | | | | | | | | 0x V4 VIP | Uniswap V3 | DAI/WETH | 111976 | 0.00% | | 0x V4 Multiplex | Uniswap V3 | DAI/WETH | 125832 | 12.37% | -| Settler VIP (warm) | Uniswap V3 | DAI/WETH | 120384 | 7.51% | -| AllowanceHolder VIP | Uniswap V3 | DAI/WETH | 112744 | 0.69% | +| Settler VIP (warm) | Uniswap V3 | DAI/WETH | 120353 | 7.48% | +| AllowanceHolder VIP | Uniswap V3 | DAI/WETH | 112702 | 0.65% | | UniswapRouter V3 | Uniswap V3 | DAI/WETH | 108315 | -3.27% | | | | | | | | 0x V4 VIP | Uniswap V3 | USDT/WETH | 123567 | 0.00% | | 0x V4 Multiplex | Uniswap V3 | USDT/WETH | 137423 | 11.21% | -| Settler VIP (warm) | Uniswap V3 | USDT/WETH | 131940 | 6.78% | -| AllowanceHolder VIP | Uniswap V3 | USDT/WETH | 124300 | 0.59% | +| Settler VIP (warm) | Uniswap V3 | USDT/WETH | 131909 | 6.75% | +| AllowanceHolder VIP | Uniswap V3 | USDT/WETH | 124258 | 0.56% | | UniswapRouter V3 | Uniswap V3 | USDT/WETH | 119778 | -3.07% | | | | | | | -| Settler VIP (warm) | Uniswap V3 | WETH/USDC | 152175 | NaN% | +| Settler VIP (warm) | Uniswap V3 | WETH/USDC | 152144 | NaN% | | UniswapRouter V3 | Uniswap V3 | WETH/USDC | 140130 | NaN% | | | | | | | | Custody | DEX | Pair | Gas | % | | -------------------- | ---------- | --------- | ------ | ------- | | 0x V4 TransformERC20 | Uniswap V3 | USDC/WETH | 239842 | 0.00% | -| Settler | Uniswap V3 | USDC/WETH | 158528 | -33.90% | -| AllowanceHolder | Uniswap V3 | USDC/WETH | 150896 | -37.09% | +| Settler | Uniswap V3 | USDC/WETH | 158515 | -33.91% | +| AllowanceHolder | Uniswap V3 | USDC/WETH | 150872 | -37.10% | | | | | | | | 0x V4 TransformERC20 | Uniswap V3 | DAI/WETH | 221474 | 0.00% | -| Settler | Uniswap V3 | DAI/WETH | 146484 | -33.86% | -| AllowanceHolder | Uniswap V3 | DAI/WETH | 138852 | -37.31% | +| Settler | Uniswap V3 | DAI/WETH | 146471 | -33.87% | +| AllowanceHolder | Uniswap V3 | DAI/WETH | 138828 | -37.32% | | | | | | | | 0x V4 TransformERC20 | Uniswap V3 | USDT/WETH | 237157 | 0.00% | -| Settler | Uniswap V3 | USDT/WETH | 161893 | -31.74% | -| AllowanceHolder | Uniswap V3 | USDT/WETH | 154261 | -34.95% | +| Settler | Uniswap V3 | USDT/WETH | 161880 | -31.74% | +| AllowanceHolder | Uniswap V3 | USDT/WETH | 154237 | -34.96% | | | | | | | -| Settler | Uniswap V3 | WETH/USDC | 177986 | NaN% | +| Settler | Uniswap V3 | WETH/USDC | 177973 | NaN% | | | | | | | | MetaTransactions | DEX | Pair | Gas | % | | ---------------- | ---------- | --------- | ------ | ------- | | 0x V4 Multiplex | Uniswap V3 | USDC/WETH | 204754 | 0.00% | -| Settler | Uniswap V3 | USDC/WETH | 163996 | -19.91% | +| Settler | Uniswap V3 | USDC/WETH | 163945 | -19.93% | | | | | | | | 0x V4 Multiplex | Uniswap V3 | DAI/WETH | 195425 | 0.00% | -| Settler | Uniswap V3 | DAI/WETH | 151946 | -22.25% | +| Settler | Uniswap V3 | DAI/WETH | 151895 | -22.27% | | | | | | | | 0x V4 Multiplex | Uniswap V3 | USDT/WETH | 207016 | 0.00% | -| Settler | Uniswap V3 | USDT/WETH | 167355 | -19.16% | +| Settler | Uniswap V3 | USDT/WETH | 167304 | -19.18% | | | | | | | | | | | | | @@ -639,51 +639,51 @@ comparison. | --------------- | ------- | --------- | ------ | ------- | | 0x V4 | 0x V4 | USDC/WETH | 111629 | 0.00% | | Settler | Settler | USDC/WETH | 114418 | 2.50% | -| Settler | 0x V4 | USDC/WETH | 197942 | 77.32% | +| Settler | 0x V4 | USDC/WETH | 197774 | 77.17% | | AllowanceHolder | Settler | USDC/WETH | 106575 | -4.53% | | | | | | | | 0x V4 | 0x V4 | DAI/WETH | 78498 | 0.00% | | Settler | Settler | DAI/WETH | 94944 | 20.95% | -| Settler | 0x V4 | DAI/WETH | 172872 | 120.22% | +| Settler | 0x V4 | DAI/WETH | 172704 | 120.01% | | AllowanceHolder | Settler | DAI/WETH | 87101 | 10.96% | | | | | | | | 0x V4 | 0x V4 | USDT/WETH | 89610 | 0.00% | | Settler | Settler | USDT/WETH | 106056 | 18.35% | -| Settler | 0x V4 | USDT/WETH | 188204 | 110.03% | +| Settler | 0x V4 | USDT/WETH | 188036 | 109.84% | | AllowanceHolder | Settler | USDT/WETH | 98213 | 9.60% | | | | | | | -| Settler | 0x V4 | WETH/USDC | 213497 | NaN% | +| Settler | 0x V4 | WETH/USDC | 213329 | NaN% | | | | | | | | UniversalRouter | DEX | Pair | Gas | % | | --------------- | --------- | --------- | ------ | ------- | -| UniversalRouter | UniswapV2 | USDC/WETH | 181534 | 0.00% | -| Settler | UniswapV2 | USDC/WETH | 172076 | -5.21% | -| UniversalRouter | UniswapV3 | USDC/WETH | 177828 | -2.04% | -| Settler | UniswapV3 | USDC/WETH | 173691 | -4.32% | -| UniversalRouter | UniswapV4 | USDC/WETH | 142771 | -21.35% | -| Settler | UniswapV4 | USDC/WETH | 135179 | -25.54% | +| UniversalRouter | UniswapV2 | USDC/WETH | 181540 | 0.00% | +| Settler | UniswapV2 | USDC/WETH | 172115 | -5.19% | +| UniversalRouter | UniswapV3 | USDC/WETH | 177834 | -2.04% | +| Settler | UniswapV3 | USDC/WETH | 173678 | -4.33% | +| UniversalRouter | UniswapV4 | USDC/WETH | 142771 | -21.36% | +| Settler | UniswapV4 | USDC/WETH | 135148 | -25.55% | | | | | | | | UniversalRouter | UniswapV2 | DAI/WETH | 164029 | 0.00% | -| Settler | UniswapV2 | DAI/WETH | 154571 | -5.77% | +| Settler | UniswapV2 | DAI/WETH | 154610 | -5.74% | | UniversalRouter | UniswapV3 | DAI/WETH | 168492 | 2.72% | -| Settler | UniswapV3 | DAI/WETH | 164362 | 0.20% | +| Settler | UniswapV3 | DAI/WETH | 164349 | 0.20% | | UniversalRouter | UniswapV4 | DAI/WETH | 125438 | -23.53% | -| Settler | UniswapV4 | DAI/WETH | 117846 | -28.16% | +| Settler | UniswapV4 | DAI/WETH | 117815 | -28.17% | | | | | | | | UniversalRouter | UniswapV2 | USDT/WETH | 176025 | 0.00% | -| Settler | UniswapV2 | USDT/WETH | 166541 | -5.39% | -| UniversalRouter | UniswapV3 | USDT/WETH | 180115 | 2.32% | -| Settler | UniswapV3 | USDT/WETH | 175918 | -0.06% | +| Settler | UniswapV2 | USDT/WETH | 166580 | -5.37% | +| UniversalRouter | UniswapV3 | USDT/WETH | 180121 | 2.33% | +| Settler | UniswapV3 | USDT/WETH | 175905 | -0.07% | | UniversalRouter | UniswapV4 | USDT/WETH | 137168 | -22.07% | -| Settler | UniswapV4 | USDT/WETH | 129576 | -26.39% | +| Settler | UniswapV4 | USDT/WETH | 129545 | -26.41% | | | | | | | | UniversalRouter | UniswapV2 | WETH/USDC | 167078 | 0.00% | -| Settler | UniswapV2 | WETH/USDC | 160596 | -3.88% | +| Settler | UniswapV2 | WETH/USDC | 160587 | -3.89% | | UniversalRouter | UniswapV3 | WETH/USDC | 169758 | 1.60% | -| Settler | UniswapV3 | WETH/USDC | 169532 | 1.47% | +| Settler | UniswapV3 | WETH/USDC | 169489 | 1.44% | | UniversalRouter | UniswapV4 | WETH/USDC | 131921 | -21.04% | -| Settler | UniswapV4 | WETH/USDC | 128786 | -22.92% | +| Settler | UniswapV4 | WETH/USDC | 128755 | -22.94% | | | | | | | | Curve | DEX | Pair | Gas | % | @@ -692,7 +692,7 @@ comparison. | | | | | | | | | | | | | 0x V4 | Curve | USDT/WETH | 400419 | 0.00% | -| Settler | Curve | USDT/WETH | 366719 | -8.42% | +| Settler | Curve | USDT/WETH | 366749 | -8.41% | | Settler | CurveV2 Tricrypto VIP | USDT/WETH | 243871 | -39.10% | | Curve | Curve | USDT/WETH | 289546 | -27.69% | | Curve Swap Router | Curve | USDT/WETH | 359785 | -10.15% | @@ -701,7 +701,7 @@ comparison. | DODO V1 | DEX | Pair | Gas | % | | ------- | ------- | --------- | ------ | ----- | -| Settler | DODO V1 | USDC/WETH | 294248 | 0.00% | +| Settler | DODO V1 | USDC/WETH | 294244 | 0.00% | | | | | | | | | | | | | | | | | | | @@ -709,56 +709,56 @@ comparison. | Buy token fee | DEX | Pair | Gas | % | | ----------------- | ---------- | --------- | ------ | ----- | -| Settler - custody | Uniswap V3 | USDC/WETH | 167178 | 0.00% | +| Settler - custody | Uniswap V3 | USDC/WETH | 166979 | 0.00% | | | | | | | -| Settler - custody | Uniswap V3 | DAI/WETH | 157849 | 0.00% | +| Settler - custody | Uniswap V3 | DAI/WETH | 157650 | 0.00% | | | | | | | -| Settler - custody | Uniswap V3 | USDT/WETH | 169405 | 0.00% | +| Settler - custody | Uniswap V3 | USDT/WETH | 169206 | 0.00% | | | | | | | -| Settler - custody | Uniswap V3 | WETH/USDC | 195630 | 0.00% | +| Settler - custody | Uniswap V3 | WETH/USDC | 195431 | 0.00% | | | | | | | | Sell token fee | DEX | Pair | Gas | % | | -------------- | ---------- | --------- | ------ | ------- | -| Settler | Uniswap V3 | USDC/WETH | 172561 | 0.00% | +| Settler | Uniswap V3 | USDC/WETH | 172348 | 0.00% | | | | | | | -| Settler | Uniswap V3 | DAI/WETH | 157802 | 0.00% | +| Settler | Uniswap V3 | DAI/WETH | 157589 | 0.00% | | | | | | | -| Settler | Uniswap V3 | USDT/WETH | 174987 | 0.00% | -| Settler | Curve | USDT/WETH | 377745 | 115.87% | +| Settler | Uniswap V3 | USDT/WETH | 174969 | 0.00% | +| Settler | Curve | USDT/WETH | 377575 | 115.80% | | | | | | | -| Settler | Uniswap V3 | WETH/USDC | 189024 | 0.00% | +| Settler | Uniswap V3 | WETH/USDC | 188811 | 0.00% | | | | | | | | AllowanceHolder | DEX | Pair | Gas | % | | ------------------------------------ | -------------- | --------- | ------ | ------- | -| execute | Uniswap V3 VIP | USDC/WETH | 122073 | 0.00% | -| Settler - external move then execute | Uniswap V3 | USDC/WETH | 135325 | 10.86% | -| execute | RFQ | USDC/WETH | 106575 | -12.70% | +| execute | Uniswap V3 VIP | USDC/WETH | 122031 | 0.00% | +| Settler - external move then execute | Uniswap V3 | USDC/WETH | 135294 | 10.87% | +| execute | RFQ | USDC/WETH | 106575 | -12.67% | | | | | | | -| execute | Uniswap V3 VIP | DAI/WETH | 112744 | 0.00% | -| Settler - external move then execute | Uniswap V3 | DAI/WETH | 128834 | 14.27% | -| execute | RFQ | DAI/WETH | 87101 | -22.74% | +| execute | Uniswap V3 VIP | DAI/WETH | 112702 | 0.00% | +| Settler - external move then execute | Uniswap V3 | DAI/WETH | 128803 | 14.29% | +| execute | RFQ | DAI/WETH | 87101 | -22.72% | | | | | | | -| execute | Uniswap V3 VIP | USDT/WETH | 124300 | 0.00% | -| Settler - external move then execute | Uniswap V3 | USDT/WETH | 144558 | 16.30% | -| execute | RFQ | USDT/WETH | 98213 | -20.99% | +| execute | Uniswap V3 VIP | USDT/WETH | 124258 | 0.00% | +| Settler - external move then execute | Uniswap V3 | USDT/WETH | 144527 | 16.31% | +| execute | RFQ | USDT/WETH | 98213 | -20.96% | | | | | | | -| Settler - external move then execute | Uniswap V3 | WETH/USDC | 160521 | NaN% | +| Settler - external move then execute | Uniswap V3 | WETH/USDC | 160490 | NaN% | | | | | | | | AllowanceHolder sell token fees | DEX | Pair | Gas | % | | ------------------------------- | --- | --------- | ------ | ------ | | no fee | RFQ | USDC/WETH | 106575 | 0.00% | -| proportional fee | RFQ | USDC/WETH | 146589 | 37.55% | +| proportional fee | RFQ | USDC/WETH | 146399 | 37.37% | | fixed fee | RFQ | USDC/WETH | 122824 | 15.25% | | | | | | | | no fee | RFQ | DAI/WETH | 87101 | 0.00% | -| proportional fee | RFQ | DAI/WETH | 125128 | 43.66% | +| proportional fee | RFQ | DAI/WETH | 124938 | 43.44% | | fixed fee | RFQ | DAI/WETH | 99176 | 13.86% | | | | | | | | no fee | RFQ | USDT/WETH | 98213 | 0.00% | -| proportional fee | RFQ | USDT/WETH | 141872 | 44.45% | +| proportional fee | RFQ | USDT/WETH | 141877 | 44.46% | | fixed fee | RFQ | USDT/WETH | 111400 | 13.43% | | | | | | | | | | | | | From f2b7c02a1273a25959c2d6dbcd14b140fc04da07 Mon Sep 17 00:00:00 2001 From: Duncan Townsend Date: Thu, 21 Aug 2025 09:22:26 -0400 Subject: [PATCH 7/7] Reference DAI's `move` --- src/core/Basic.sol | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/core/Basic.sol b/src/core/Basic.sol index 3f905c527..821e88f6c 100644 --- a/src/core/Basic.sol +++ b/src/core/Basic.sol @@ -22,13 +22,13 @@ abstract contract Basic is SettlerAbstract { { bool condition = _isRestrictedTarget(pool); // This check is NOT an exhaustive check. There are many tokens that have alternative - // allowance-spending methods, including (also nonexhaustively) DAI's `pull`, ERC677 and - // ERC1363's `transferFromAndCall`, ERC777's `operatorSend`, and LZ OFT's `sendFrom` and - // `sendAndCall`. We specifically blacklist ERC20's `transferFrom` because it is - // universally implemented. This check is comparatively cheap and covers many cases that - // could result in loss of funds. Fundamentally, though, for correct operation, it is - // forbidden to set allowances on this contract. The fact that this does not cover all - // cases IS NOT A BUG. + // allowance-spending methods, including (also nonexhaustively) DAI's `pull`/`move`, + // ERC677 and ERC1363's `transferFromAndCall`, ERC777's `operatorSend`, and LZ OFT's + // `sendFrom`/`sendAndCall`. We specifically blacklist ERC20's `transferFrom` because it + // is universally implemented. This check is comparatively cheap and covers many cases + // that could result in loss of funds. Fundamentally, though, for correct operation, it + // is forbidden to set allowances on this contract. The fact that this does not cover + // all cases IS NOT A BUG. assembly ("memory-safe") { // `0x23b872dd` is the selector for `transferFrom(address,address,uint256)` // `transferFrom` requires a calldata length of 0x64 bytes, not 0x44, but some (old)