From 065ea63402c08c0827ab34b2bf586dc5ee78cb28 Mon Sep 17 00:00:00 2001 From: GianfrancoBazzani Date: Mon, 9 Dec 2024 20:42:06 +0100 Subject: [PATCH 1/6] :x: refactor: Get rid of all using PoolIdLibrary for PoolKey; directives and PoolIdLibrary imports --- src/PositionDescriptor.sol | 3 +-- src/PositionManager.sol | 2 -- src/base/BaseV4Quoter.sol | 3 +-- src/libraries/PositionInfoLibrary.sol | 3 +-- test/StateViewTest.t.sol | 3 +-- test/V4Quoter.t.sol | 3 +-- test/libraries/PositionInfoLibrary.t.sol | 2 -- test/position-managers/Execute.t.sol | 3 +-- test/position-managers/IncreaseLiquidity.t.sol | 3 +-- test/position-managers/NativeToken.t.sol | 3 +-- test/position-managers/Permit.t.sol | 3 +-- test/position-managers/PositionManager.gas.t.sol | 3 +-- .../position-managers/PositionManager.modifyLiquidities.t.sol | 3 +-- test/position-managers/PositionManager.multicall.t.sol | 4 +--- test/position-managers/PositionManager.notifier.t.sol | 2 -- test/position-managers/PositionManager.t.sol | 3 +-- test/shared/FeeMath.sol | 4 +--- 17 files changed, 14 insertions(+), 36 deletions(-) diff --git a/src/PositionDescriptor.sol b/src/PositionDescriptor.sol index 021cbd5e5..c1c05f4bc 100644 --- a/src/PositionDescriptor.sol +++ b/src/PositionDescriptor.sol @@ -5,7 +5,7 @@ import {IPoolManager} from "@uniswap/v4-core/src/interfaces/IPoolManager.sol"; import {Currency, CurrencyLibrary} from "@uniswap/v4-core/src/types/Currency.sol"; import {StateLibrary} from "@uniswap/v4-core/src/libraries/StateLibrary.sol"; import {PoolKey} from "@uniswap/v4-core/src/types/PoolKey.sol"; -import {PoolId, PoolIdLibrary} from "@uniswap/v4-core/src/types/PoolId.sol"; +import {PoolId} from "@uniswap/v4-core/src/types/PoolId.sol"; import {IPositionManager} from "./interfaces/IPositionManager.sol"; import {IPositionDescriptor} from "./interfaces/IPositionDescriptor.sol"; import {PositionInfo, PositionInfoLibrary} from "./libraries/PositionInfoLibrary.sol"; @@ -17,7 +17,6 @@ import {SafeCurrencyMetadata} from "./libraries/SafeCurrencyMetadata.sol"; /// @notice Produces a string containing the data URI for a JSON metadata string contract PositionDescriptor is IPositionDescriptor { using StateLibrary for IPoolManager; - using PoolIdLibrary for PoolKey; using CurrencyLibrary for Currency; using PositionInfoLibrary for PositionInfo; diff --git a/src/PositionManager.sol b/src/PositionManager.sol index f9dbd2e38..d2bcb566e 100644 --- a/src/PositionManager.sol +++ b/src/PositionManager.sol @@ -3,7 +3,6 @@ pragma solidity 0.8.26; import {IPoolManager} from "@uniswap/v4-core/src/interfaces/IPoolManager.sol"; import {PoolKey} from "@uniswap/v4-core/src/types/PoolKey.sol"; -import {PoolIdLibrary} from "@uniswap/v4-core/src/types/PoolId.sol"; import {Currency, CurrencyLibrary} from "@uniswap/v4-core/src/types/Currency.sol"; import {BalanceDelta} from "@uniswap/v4-core/src/types/BalanceDelta.sol"; import {SafeCast} from "@uniswap/v4-core/src/libraries/SafeCast.sol"; @@ -109,7 +108,6 @@ contract PositionManager is Permit2Forwarder, NativeWrapper { - using PoolIdLibrary for PoolKey; using StateLibrary for IPoolManager; using TransientStateLibrary for IPoolManager; using SafeCast for uint256; diff --git a/src/base/BaseV4Quoter.sol b/src/base/BaseV4Quoter.sol index 52bacdb3f..1e82c82a2 100644 --- a/src/base/BaseV4Quoter.sol +++ b/src/base/BaseV4Quoter.sol @@ -5,12 +5,11 @@ import {BalanceDelta} from "@uniswap/v4-core/src/types/BalanceDelta.sol"; import {PoolKey} from "@uniswap/v4-core/src/types/PoolKey.sol"; import {QuoterRevert} from "../libraries/QuoterRevert.sol"; import {SafeCallback} from "../base/SafeCallback.sol"; -import {PoolId, PoolIdLibrary} from "@uniswap/v4-core/src/types/PoolId.sol"; +import {PoolId} from "@uniswap/v4-core/src/types/PoolId.sol"; import {TickMath} from "@uniswap/v4-core/src/libraries/TickMath.sol"; abstract contract BaseV4Quoter is SafeCallback { using QuoterRevert for *; - using PoolIdLibrary for PoolId; error NotEnoughLiquidity(PoolId poolId); error NotSelf(); diff --git a/src/libraries/PositionInfoLibrary.sol b/src/libraries/PositionInfoLibrary.sol index 2baba26a1..65d44eb54 100644 --- a/src/libraries/PositionInfoLibrary.sol +++ b/src/libraries/PositionInfoLibrary.sol @@ -2,7 +2,7 @@ pragma solidity ^0.8.24; import {PoolKey} from "@uniswap/v4-core/src/types/PoolKey.sol"; -import {PoolId, PoolIdLibrary} from "@uniswap/v4-core/src/types/PoolId.sol"; +import {PoolId} from "@uniswap/v4-core/src/types/PoolId.sol"; /** * @dev PositionInfo is a packed version of solidity structure. @@ -31,7 +31,6 @@ import {PoolId, PoolIdLibrary} from "@uniswap/v4-core/src/types/PoolId.sol"; type PositionInfo is uint256; library PositionInfoLibrary { - using PoolIdLibrary for PoolKey; PositionInfo internal constant EMPTY_POSITION_INFO = PositionInfo.wrap(0); diff --git a/test/StateViewTest.t.sol b/test/StateViewTest.t.sol index 64a6e750d..753a3a462 100644 --- a/test/StateViewTest.t.sol +++ b/test/StateViewTest.t.sol @@ -10,7 +10,7 @@ import {TickMath} from "@uniswap/v4-core/src/libraries/TickMath.sol"; import {IPoolManager} from "@uniswap/v4-core/src/interfaces/IPoolManager.sol"; import {PoolKey} from "@uniswap/v4-core/src/types/PoolKey.sol"; import {BalanceDelta} from "@uniswap/v4-core/src/types/BalanceDelta.sol"; -import {PoolId, PoolIdLibrary} from "@uniswap/v4-core/src/types/PoolId.sol"; +import {PoolId} from "@uniswap/v4-core/src/types/PoolId.sol"; import {CurrencyLibrary, Currency} from "@uniswap/v4-core/src/types/Currency.sol"; import {Pool} from "@uniswap/v4-core/src/libraries/Pool.sol"; import {TickBitmap} from "@uniswap/v4-core/src/libraries/TickBitmap.sol"; @@ -24,7 +24,6 @@ import {StateView} from "../src/lens/StateView.sol"; /// This test was taken from StateLibrary.t.sol in v4-core and adapted to use the StateView contract instead. contract StateViewTest is Test, Deployers, Fuzzers { using FixedPointMathLib for uint256; - using PoolIdLibrary for PoolKey; PoolId poolId; diff --git a/test/V4Quoter.t.sol b/test/V4Quoter.t.sol index 3b8b03f89..f8eda5d60 100644 --- a/test/V4Quoter.t.sol +++ b/test/V4Quoter.t.sol @@ -14,7 +14,7 @@ import {SafeCast} from "@uniswap/v4-core/src/libraries/SafeCast.sol"; import {Deployers} from "@uniswap/v4-core/test/utils/Deployers.sol"; import {IHooks} from "@uniswap/v4-core/src/interfaces/IHooks.sol"; import {PoolModifyLiquidityTest} from "@uniswap/v4-core/src/test/PoolModifyLiquidityTest.sol"; -import {PoolId, PoolIdLibrary} from "@uniswap/v4-core/src/types/PoolId.sol"; +import {PoolId} from "@uniswap/v4-core/src/types/PoolId.sol"; import {PoolKey} from "@uniswap/v4-core/src/types/PoolKey.sol"; import {IPoolManager} from "@uniswap/v4-core/src/interfaces/IPoolManager.sol"; import {Currency} from "@uniswap/v4-core/src/types/Currency.sol"; @@ -26,7 +26,6 @@ import {MockERC20} from "solmate/src/test/utils/mocks/MockERC20.sol"; contract QuoterTest is Test, Deployers { using SafeCast for *; - using PoolIdLibrary for PoolKey; using StateLibrary for IPoolManager; // Min tick for full range with tick spacing of 60 diff --git a/test/libraries/PositionInfoLibrary.t.sol b/test/libraries/PositionInfoLibrary.t.sol index 12af50151..3c208c17d 100644 --- a/test/libraries/PositionInfoLibrary.t.sol +++ b/test/libraries/PositionInfoLibrary.t.sol @@ -3,12 +3,10 @@ pragma solidity ^0.8.24; import "forge-std/Test.sol"; import {PoolKey} from "@uniswap/v4-core/src/types/PoolKey.sol"; -import {PoolIdLibrary} from "@uniswap/v4-core/src/types/PoolId.sol"; import {PositionInfo, PositionInfoLibrary, PoolId} from "../../src/libraries/PositionInfoLibrary.sol"; contract PositionInfoLibraryTest is Test { using PositionInfoLibrary for PositionInfo; - using PoolIdLibrary for PoolKey; function setUp() public {} diff --git a/test/position-managers/Execute.t.sol b/test/position-managers/Execute.t.sol index dd99d86b1..3b7fe74f4 100644 --- a/test/position-managers/Execute.t.sol +++ b/test/position-managers/Execute.t.sol @@ -6,7 +6,7 @@ import {PoolManager} from "@uniswap/v4-core/src/PoolManager.sol"; import {IPoolManager} from "@uniswap/v4-core/src/interfaces/IPoolManager.sol"; import {IHooks} from "@uniswap/v4-core/src/interfaces/IHooks.sol"; import {Currency, CurrencyLibrary} from "@uniswap/v4-core/src/types/Currency.sol"; -import {PoolId, PoolIdLibrary} from "@uniswap/v4-core/src/types/PoolId.sol"; +import {PoolId} from "@uniswap/v4-core/src/types/PoolId.sol"; import {PoolKey} from "@uniswap/v4-core/src/types/PoolKey.sol"; import {BalanceDelta} from "@uniswap/v4-core/src/types/BalanceDelta.sol"; import {FixedPointMathLib} from "solmate/src/utils/FixedPointMathLib.sol"; @@ -30,7 +30,6 @@ import {PosmTestSetup} from "../shared/PosmTestSetup.sol"; contract ExecuteTest is Test, PosmTestSetup, LiquidityFuzzers { using FixedPointMathLib for uint256; using CurrencyLibrary for Currency; - using PoolIdLibrary for PoolKey; using Planner for Plan; using StateLibrary for IPoolManager; diff --git a/test/position-managers/IncreaseLiquidity.t.sol b/test/position-managers/IncreaseLiquidity.t.sol index a0264d2b1..8053fe193 100644 --- a/test/position-managers/IncreaseLiquidity.t.sol +++ b/test/position-managers/IncreaseLiquidity.t.sol @@ -6,7 +6,7 @@ import {PoolManager} from "@uniswap/v4-core/src/PoolManager.sol"; import {IPoolManager} from "@uniswap/v4-core/src/interfaces/IPoolManager.sol"; import {IHooks} from "@uniswap/v4-core/src/interfaces/IHooks.sol"; import {Currency, CurrencyLibrary} from "@uniswap/v4-core/src/types/Currency.sol"; -import {PoolId, PoolIdLibrary} from "@uniswap/v4-core/src/types/PoolId.sol"; +import {PoolId} from "@uniswap/v4-core/src/types/PoolId.sol"; import {PoolKey} from "@uniswap/v4-core/src/types/PoolKey.sol"; import {BalanceDelta} from "@uniswap/v4-core/src/types/BalanceDelta.sol"; import {LiquidityAmounts} from "@uniswap/v4-core/test/utils/LiquidityAmounts.sol"; @@ -33,7 +33,6 @@ import {ActionConstants} from "../../src/libraries/ActionConstants.sol"; contract IncreaseLiquidityTest is Test, PosmTestSetup, Fuzzers { using FixedPointMathLib for uint256; using CurrencyLibrary for Currency; - using PoolIdLibrary for PoolKey; using Planner for Plan; using FeeMath for IPositionManager; using StateLibrary for IPoolManager; diff --git a/test/position-managers/NativeToken.t.sol b/test/position-managers/NativeToken.t.sol index c79f74dea..dac7ea39d 100644 --- a/test/position-managers/NativeToken.t.sol +++ b/test/position-managers/NativeToken.t.sol @@ -7,7 +7,7 @@ import {IPoolManager} from "@uniswap/v4-core/src/interfaces/IPoolManager.sol"; import {IHooks} from "@uniswap/v4-core/src/interfaces/IHooks.sol"; import {Deployers} from "@uniswap/v4-core/test/utils/Deployers.sol"; import {Currency, CurrencyLibrary} from "@uniswap/v4-core/src/types/Currency.sol"; -import {PoolId, PoolIdLibrary} from "@uniswap/v4-core/src/types/PoolId.sol"; +import {PoolId} from "@uniswap/v4-core/src/types/PoolId.sol"; import {PoolKey} from "@uniswap/v4-core/src/types/PoolKey.sol"; import {BalanceDelta, toBalanceDelta} from "@uniswap/v4-core/src/types/BalanceDelta.sol"; import {PoolSwapTest} from "@uniswap/v4-core/src/test/PoolSwapTest.sol"; @@ -38,7 +38,6 @@ contract PositionManagerTest is Test, PosmTestSetup, LiquidityFuzzers { using FixedPointMathLib for uint256; using CurrencyLibrary for Currency; using Planner for Plan; - using PoolIdLibrary for PoolKey; using StateLibrary for IPoolManager; using SafeCast for *; diff --git a/test/position-managers/Permit.t.sol b/test/position-managers/Permit.t.sol index 0ce9a5b9a..e4b7f4fe3 100644 --- a/test/position-managers/Permit.t.sol +++ b/test/position-managers/Permit.t.sol @@ -6,7 +6,7 @@ import {PoolManager} from "@uniswap/v4-core/src/PoolManager.sol"; import {IPoolManager} from "@uniswap/v4-core/src/interfaces/IPoolManager.sol"; import {IHooks} from "@uniswap/v4-core/src/interfaces/IHooks.sol"; import {Currency, CurrencyLibrary} from "@uniswap/v4-core/src/types/Currency.sol"; -import {PoolId, PoolIdLibrary} from "@uniswap/v4-core/src/types/PoolId.sol"; +import {PoolId} from "@uniswap/v4-core/src/types/PoolId.sol"; import {PoolKey} from "@uniswap/v4-core/src/types/PoolKey.sol"; import {FixedPointMathLib} from "solmate/src/utils/FixedPointMathLib.sol"; import {StateLibrary} from "@uniswap/v4-core/src/libraries/StateLibrary.sol"; @@ -25,7 +25,6 @@ import {PosmTestSetup} from "../shared/PosmTestSetup.sol"; contract PermitTest is Test, PosmTestSetup { using FixedPointMathLib for uint256; using CurrencyLibrary for Currency; - using PoolIdLibrary for PoolKey; using StateLibrary for IPoolManager; PoolId poolId; diff --git a/test/position-managers/PositionManager.gas.t.sol b/test/position-managers/PositionManager.gas.t.sol index fec639407..b2759d7ba 100644 --- a/test/position-managers/PositionManager.gas.t.sol +++ b/test/position-managers/PositionManager.gas.t.sol @@ -6,7 +6,7 @@ import {PoolManager} from "@uniswap/v4-core/src/PoolManager.sol"; import {IPoolManager} from "@uniswap/v4-core/src/interfaces/IPoolManager.sol"; import {IHooks} from "@uniswap/v4-core/src/interfaces/IHooks.sol"; import {Currency, CurrencyLibrary} from "@uniswap/v4-core/src/types/Currency.sol"; -import {PoolId, PoolIdLibrary} from "@uniswap/v4-core/src/types/PoolId.sol"; +import {PoolId} from "@uniswap/v4-core/src/types/PoolId.sol"; import {PoolKey} from "@uniswap/v4-core/src/types/PoolKey.sol"; import {LiquidityAmounts} from "@uniswap/v4-core/test/utils/LiquidityAmounts.sol"; import {TickMath} from "@uniswap/v4-core/src/libraries/TickMath.sol"; @@ -28,7 +28,6 @@ import {MockSubscriber} from "../mocks/MockSubscriber.sol"; contract PosMGasTest is Test, PosmTestSetup { using FixedPointMathLib for uint256; using CurrencyLibrary for Currency; - using PoolIdLibrary for PoolKey; using Planner for Plan; PoolId poolId; diff --git a/test/position-managers/PositionManager.modifyLiquidities.t.sol b/test/position-managers/PositionManager.modifyLiquidities.t.sol index 664758616..fefa729a1 100644 --- a/test/position-managers/PositionManager.modifyLiquidities.t.sol +++ b/test/position-managers/PositionManager.modifyLiquidities.t.sol @@ -10,7 +10,7 @@ import {IPoolManager} from "@uniswap/v4-core/src/interfaces/IPoolManager.sol"; import {IHooks} from "@uniswap/v4-core/src/interfaces/IHooks.sol"; import {Hooks} from "@uniswap/v4-core/src/libraries/Hooks.sol"; import {Currency, CurrencyLibrary} from "@uniswap/v4-core/src/types/Currency.sol"; -import {PoolId, PoolIdLibrary} from "@uniswap/v4-core/src/types/PoolId.sol"; +import {PoolId} from "@uniswap/v4-core/src/types/PoolId.sol"; import {PoolKey} from "@uniswap/v4-core/src/types/PoolKey.sol"; import {BalanceDelta} from "@uniswap/v4-core/src/types/BalanceDelta.sol"; import {StateLibrary} from "@uniswap/v4-core/src/libraries/StateLibrary.sol"; @@ -40,7 +40,6 @@ import {MockFOT} from "../mocks/MockFeeOnTransfer.sol"; contract PositionManagerModifyLiquiditiesTest is Test, PosmTestSetup, LiquidityFuzzers { using StateLibrary for IPoolManager; - using PoolIdLibrary for PoolKey; using Planner for Plan; using BipsLibrary for uint256; diff --git a/test/position-managers/PositionManager.multicall.t.sol b/test/position-managers/PositionManager.multicall.t.sol index 087c21027..dc40891a9 100644 --- a/test/position-managers/PositionManager.multicall.t.sol +++ b/test/position-managers/PositionManager.multicall.t.sol @@ -6,7 +6,7 @@ import {PoolManager} from "@uniswap/v4-core/src/PoolManager.sol"; import {IPoolManager} from "@uniswap/v4-core/src/interfaces/IPoolManager.sol"; import {IHooks} from "@uniswap/v4-core/src/interfaces/IHooks.sol"; import {Currency, CurrencyLibrary} from "@uniswap/v4-core/src/types/Currency.sol"; -import {PoolId, PoolIdLibrary} from "@uniswap/v4-core/src/types/PoolId.sol"; +import {PoolId} from "@uniswap/v4-core/src/types/PoolId.sol"; import {PoolKey} from "@uniswap/v4-core/src/types/PoolKey.sol"; import {BalanceDelta} from "@uniswap/v4-core/src/types/BalanceDelta.sol"; import {TickMath} from "@uniswap/v4-core/src/libraries/TickMath.sol"; @@ -34,10 +34,8 @@ import {IERC721Permit_v4} from "../../src/interfaces/IERC721Permit_v4.sol"; contract PositionManagerMulticallTest is Test, Permit2SignatureHelpers, PosmTestSetup, LiquidityFuzzers { using FixedPointMathLib for uint256; using CurrencyLibrary for Currency; - using PoolIdLibrary for PoolKey; using StateLibrary for IPoolManager; using Planner for Plan; - using PoolIdLibrary for PoolKey; using StateLibrary for IPoolManager; PoolId poolId; diff --git a/test/position-managers/PositionManager.notifier.t.sol b/test/position-managers/PositionManager.notifier.t.sol index 5dd2aea85..365efa555 100644 --- a/test/position-managers/PositionManager.notifier.t.sol +++ b/test/position-managers/PositionManager.notifier.t.sol @@ -8,7 +8,6 @@ import {Position} from "@uniswap/v4-core/src/libraries/Position.sol"; import {PoolKey} from "@uniswap/v4-core/src/types/PoolKey.sol"; import {IPoolManager} from "@uniswap/v4-core/src/interfaces/IPoolManager.sol"; import {StateLibrary} from "@uniswap/v4-core/src/libraries/StateLibrary.sol"; -import {PoolIdLibrary} from "@uniswap/v4-core/src/types/PoolId.sol"; import {BalanceDelta, toBalanceDelta} from "@uniswap/v4-core/src/types/BalanceDelta.sol"; import {Hooks} from "@uniswap/v4-core/src/libraries/Hooks.sol"; import {PosmTestSetup} from "../shared/PosmTestSetup.sol"; @@ -24,7 +23,6 @@ import {PositionInfoLibrary, PositionInfo} from "../../src/libraries/PositionInf import {MockReenterHook} from "../mocks/MockReenterHook.sol"; contract PositionManagerNotifierTest is Test, PosmTestSetup { - using PoolIdLibrary for PoolKey; using StateLibrary for IPoolManager; using Planner for Plan; using PositionInfoLibrary for PositionInfo; diff --git a/test/position-managers/PositionManager.t.sol b/test/position-managers/PositionManager.t.sol index 7db64e9b9..c2fe2ffd5 100644 --- a/test/position-managers/PositionManager.t.sol +++ b/test/position-managers/PositionManager.t.sol @@ -6,7 +6,7 @@ import {PoolManager} from "@uniswap/v4-core/src/PoolManager.sol"; import {IPoolManager} from "@uniswap/v4-core/src/interfaces/IPoolManager.sol"; import {IHooks} from "@uniswap/v4-core/src/interfaces/IHooks.sol"; import {Currency, CurrencyLibrary} from "@uniswap/v4-core/src/types/Currency.sol"; -import {PoolId, PoolIdLibrary} from "@uniswap/v4-core/src/types/PoolId.sol"; +import {PoolId} from "@uniswap/v4-core/src/types/PoolId.sol"; import {PoolKey} from "@uniswap/v4-core/src/types/PoolKey.sol"; import {BalanceDelta} from "@uniswap/v4-core/src/types/BalanceDelta.sol"; import {LiquidityAmounts} from "@uniswap/v4-core/test/utils/LiquidityAmounts.sol"; @@ -39,7 +39,6 @@ contract PositionManagerTest is Test, PosmTestSetup, LiquidityFuzzers { using FixedPointMathLib for uint256; using CurrencyLibrary for Currency; using Planner for Plan; - using PoolIdLibrary for PoolKey; using StateLibrary for IPoolManager; PoolId poolId; diff --git a/test/shared/FeeMath.sol b/test/shared/FeeMath.sol index bb593eeb5..34ede00bd 100644 --- a/test/shared/FeeMath.sol +++ b/test/shared/FeeMath.sol @@ -8,7 +8,7 @@ import {SafeCast} from "@uniswap/v4-core/src/libraries/SafeCast.sol"; import {IPoolManager} from "@uniswap/v4-core/src/interfaces/IPoolManager.sol"; import {StateLibrary} from "@uniswap/v4-core/src/libraries/StateLibrary.sol"; import {BalanceDelta, toBalanceDelta} from "@uniswap/v4-core/src/types/BalanceDelta.sol"; -import {PoolId, PoolIdLibrary} from "@uniswap/v4-core/src/types/PoolId.sol"; +import {PoolId} from "@uniswap/v4-core/src/types/PoolId.sol"; import {PoolKey} from "@uniswap/v4-core/src/types/PoolKey.sol"; import {IPositionManager} from "../../src/interfaces/IPositionManager.sol"; @@ -18,8 +18,6 @@ import {PositionConfig} from "../shared/PositionConfig.sol"; library FeeMath { using SafeCast for uint256; using StateLibrary for IPoolManager; - using PoolIdLibrary for PoolKey; - using PoolIdLibrary for PoolKey; /// @notice Calculates the fees accrued to a position. Used for testing purposes. function getFeesOwed(IPositionManager posm, IPoolManager manager, PositionConfig memory config, uint256 tokenId) From 95ae65fba9ff13d45294fd4104b295863dfbd8f1 Mon Sep 17 00:00:00 2001 From: GianfrancoBazzani Date: Mon, 9 Dec 2024 20:55:00 +0100 Subject: [PATCH 2/6] :x: refactor: Get rid of all using CurrencyLibrary for Currency; directives and CurrencyLibrary imports --- src/PositionDescriptor.sol | 3 +-- test/DeltaResolver.t.sol | 1 - test/PositionDescriptor.t.sol | 1 - test/StateViewTest.t.sol | 2 +- test/mocks/MockDeltaResolver.sol | 3 +-- test/mocks/MockV4Router.sol | 3 +-- test/position-managers/Execute.t.sol | 3 +-- test/position-managers/FeeCollection.t.sol | 3 +-- test/position-managers/IncreaseLiquidity.t.sol | 3 +-- test/position-managers/NativeToken.t.sol | 1 - test/position-managers/Permit.t.sol | 3 +-- test/position-managers/PositionManager.gas.t.sol | 1 - test/position-managers/PositionManager.multicall.t.sol | 1 - test/position-managers/PositionManager.t.sol | 3 +-- test/router/Payments.gas.t.sol | 3 +-- test/router/Payments.t.sol | 3 +-- test/router/V4Router.gas.t.sol | 1 - test/router/V4Router.t.sol | 1 - 18 files changed, 11 insertions(+), 28 deletions(-) diff --git a/src/PositionDescriptor.sol b/src/PositionDescriptor.sol index c1c05f4bc..4286f627b 100644 --- a/src/PositionDescriptor.sol +++ b/src/PositionDescriptor.sol @@ -2,7 +2,7 @@ pragma solidity 0.8.26; import {IPoolManager} from "@uniswap/v4-core/src/interfaces/IPoolManager.sol"; -import {Currency, CurrencyLibrary} from "@uniswap/v4-core/src/types/Currency.sol"; +import {Currency} from "@uniswap/v4-core/src/types/Currency.sol"; import {StateLibrary} from "@uniswap/v4-core/src/libraries/StateLibrary.sol"; import {PoolKey} from "@uniswap/v4-core/src/types/PoolKey.sol"; import {PoolId} from "@uniswap/v4-core/src/types/PoolId.sol"; @@ -17,7 +17,6 @@ import {SafeCurrencyMetadata} from "./libraries/SafeCurrencyMetadata.sol"; /// @notice Produces a string containing the data URI for a JSON metadata string contract PositionDescriptor is IPositionDescriptor { using StateLibrary for IPoolManager; - using CurrencyLibrary for Currency; using PositionInfoLibrary for PositionInfo; error InvalidTokenId(uint256 tokenId); diff --git a/test/DeltaResolver.t.sol b/test/DeltaResolver.t.sol index e1f1ce6a3..8788630c2 100644 --- a/test/DeltaResolver.t.sol +++ b/test/DeltaResolver.t.sol @@ -10,7 +10,6 @@ import {ERC20} from "solmate/src/tokens/ERC20.sol"; import {MockDeltaResolver} from "./mocks/MockDeltaResolver.sol"; contract DeltaResolverTest is Test, Deployers { - using CurrencyLibrary for Currency; MockDeltaResolver resolver; diff --git a/test/PositionDescriptor.t.sol b/test/PositionDescriptor.t.sol index c20465f01..3fe0016e3 100644 --- a/test/PositionDescriptor.t.sol +++ b/test/PositionDescriptor.t.sol @@ -18,7 +18,6 @@ import {Descriptor} from "../src/libraries/Descriptor.sol"; contract PositionDescriptorTest is Test, PosmTestSetup { using Base64 for string; - using CurrencyLibrary for Currency; address public WETH9 = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2; address public DAI = 0x6B175474E89094C44Da98b954EedeAC495271d0F; diff --git a/test/StateViewTest.t.sol b/test/StateViewTest.t.sol index 753a3a462..744d6330e 100644 --- a/test/StateViewTest.t.sol +++ b/test/StateViewTest.t.sol @@ -11,7 +11,7 @@ import {IPoolManager} from "@uniswap/v4-core/src/interfaces/IPoolManager.sol"; import {PoolKey} from "@uniswap/v4-core/src/types/PoolKey.sol"; import {BalanceDelta} from "@uniswap/v4-core/src/types/BalanceDelta.sol"; import {PoolId} from "@uniswap/v4-core/src/types/PoolId.sol"; -import {CurrencyLibrary, Currency} from "@uniswap/v4-core/src/types/Currency.sol"; +import {Currency} from "@uniswap/v4-core/src/types/Currency.sol"; import {Pool} from "@uniswap/v4-core/src/libraries/Pool.sol"; import {TickBitmap} from "@uniswap/v4-core/src/libraries/TickBitmap.sol"; import {FixedPoint128} from "@uniswap/v4-core/src/libraries/FixedPoint128.sol"; diff --git a/test/mocks/MockDeltaResolver.sol b/test/mocks/MockDeltaResolver.sol index 6de67fbb7..1982a122c 100644 --- a/test/mocks/MockDeltaResolver.sol +++ b/test/mocks/MockDeltaResolver.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT pragma solidity ^0.8.24; -import {Currency, CurrencyLibrary} from "@uniswap/v4-core/src/types/Currency.sol"; +import {Currency} from "@uniswap/v4-core/src/types/Currency.sol"; import {IPoolManager} from "@uniswap/v4-core/src/interfaces/IPoolManager.sol"; import {IUnlockCallback} from "@uniswap/v4-core/src/interfaces/callback/IUnlockCallback.sol"; import {DeltaResolver} from "../../src/base/DeltaResolver.sol"; @@ -10,7 +10,6 @@ import {ERC20} from "solmate/src/tokens/ERC20.sol"; import {Test} from "forge-std/Test.sol"; contract MockDeltaResolver is Test, DeltaResolver, IUnlockCallback { - using CurrencyLibrary for Currency; uint256 public payCallCount; diff --git a/test/mocks/MockV4Router.sol b/test/mocks/MockV4Router.sol index fc935bb39..dcd2f243c 100644 --- a/test/mocks/MockV4Router.sol +++ b/test/mocks/MockV4Router.sol @@ -2,7 +2,7 @@ pragma solidity ^0.8.19; import {IPoolManager} from "@uniswap/v4-core/src/interfaces/IPoolManager.sol"; -import {Currency, CurrencyLibrary} from "@uniswap/v4-core/src/types/Currency.sol"; +import {Currency} from "@uniswap/v4-core/src/types/Currency.sol"; import {V4Router} from "../../src/V4Router.sol"; import {ReentrancyLock} from "../../src/base/ReentrancyLock.sol"; import {SafeTransferLib} from "solmate/src/utils/SafeTransferLib.sol"; @@ -10,7 +10,6 @@ import {ERC20} from "solmate/src/tokens/ERC20.sol"; contract MockV4Router is V4Router, ReentrancyLock { using SafeTransferLib for *; - using CurrencyLibrary for Currency; constructor(IPoolManager _poolManager) V4Router(_poolManager) {} diff --git a/test/position-managers/Execute.t.sol b/test/position-managers/Execute.t.sol index 3b7fe74f4..8d7e2b085 100644 --- a/test/position-managers/Execute.t.sol +++ b/test/position-managers/Execute.t.sol @@ -5,7 +5,7 @@ import "forge-std/Test.sol"; import {PoolManager} from "@uniswap/v4-core/src/PoolManager.sol"; import {IPoolManager} from "@uniswap/v4-core/src/interfaces/IPoolManager.sol"; import {IHooks} from "@uniswap/v4-core/src/interfaces/IHooks.sol"; -import {Currency, CurrencyLibrary} from "@uniswap/v4-core/src/types/Currency.sol"; +import {Currency} from "@uniswap/v4-core/src/types/Currency.sol"; import {PoolId} from "@uniswap/v4-core/src/types/PoolId.sol"; import {PoolKey} from "@uniswap/v4-core/src/types/PoolKey.sol"; import {BalanceDelta} from "@uniswap/v4-core/src/types/BalanceDelta.sol"; @@ -29,7 +29,6 @@ import {PosmTestSetup} from "../shared/PosmTestSetup.sol"; contract ExecuteTest is Test, PosmTestSetup, LiquidityFuzzers { using FixedPointMathLib for uint256; - using CurrencyLibrary for Currency; using Planner for Plan; using StateLibrary for IPoolManager; diff --git a/test/position-managers/FeeCollection.t.sol b/test/position-managers/FeeCollection.t.sol index c25085365..9b4caa642 100644 --- a/test/position-managers/FeeCollection.t.sol +++ b/test/position-managers/FeeCollection.t.sol @@ -5,7 +5,7 @@ import "forge-std/Test.sol"; import {PoolManager} from "@uniswap/v4-core/src/PoolManager.sol"; import {IPoolManager} from "@uniswap/v4-core/src/interfaces/IPoolManager.sol"; import {IHooks} from "@uniswap/v4-core/src/interfaces/IHooks.sol"; -import {Currency, CurrencyLibrary} from "@uniswap/v4-core/src/types/Currency.sol"; +import {Currency} from "@uniswap/v4-core/src/types/Currency.sol"; import {PoolId, PoolIdLibrary} from "@uniswap/v4-core/src/types/PoolId.sol"; import {PoolKey} from "@uniswap/v4-core/src/types/PoolKey.sol"; import {BalanceDelta} from "@uniswap/v4-core/src/types/BalanceDelta.sol"; @@ -23,7 +23,6 @@ import {IPositionManager} from "../../src/interfaces/IPositionManager.sol"; contract FeeCollectionTest is Test, PosmTestSetup, LiquidityFuzzers { using FixedPointMathLib for uint256; - using CurrencyLibrary for Currency; using FeeMath for IPositionManager; PoolId poolId; diff --git a/test/position-managers/IncreaseLiquidity.t.sol b/test/position-managers/IncreaseLiquidity.t.sol index 8053fe193..3ff328095 100644 --- a/test/position-managers/IncreaseLiquidity.t.sol +++ b/test/position-managers/IncreaseLiquidity.t.sol @@ -5,7 +5,7 @@ import "forge-std/Test.sol"; import {PoolManager} from "@uniswap/v4-core/src/PoolManager.sol"; import {IPoolManager} from "@uniswap/v4-core/src/interfaces/IPoolManager.sol"; import {IHooks} from "@uniswap/v4-core/src/interfaces/IHooks.sol"; -import {Currency, CurrencyLibrary} from "@uniswap/v4-core/src/types/Currency.sol"; +import {Currency} from "@uniswap/v4-core/src/types/Currency.sol"; import {PoolId} from "@uniswap/v4-core/src/types/PoolId.sol"; import {PoolKey} from "@uniswap/v4-core/src/types/PoolKey.sol"; import {BalanceDelta} from "@uniswap/v4-core/src/types/BalanceDelta.sol"; @@ -32,7 +32,6 @@ import {ActionConstants} from "../../src/libraries/ActionConstants.sol"; contract IncreaseLiquidityTest is Test, PosmTestSetup, Fuzzers { using FixedPointMathLib for uint256; - using CurrencyLibrary for Currency; using Planner for Plan; using FeeMath for IPositionManager; using StateLibrary for IPoolManager; diff --git a/test/position-managers/NativeToken.t.sol b/test/position-managers/NativeToken.t.sol index dac7ea39d..cdfb50972 100644 --- a/test/position-managers/NativeToken.t.sol +++ b/test/position-managers/NativeToken.t.sol @@ -36,7 +36,6 @@ import {PositionConfig} from "../shared/PositionConfig.sol"; contract PositionManagerTest is Test, PosmTestSetup, LiquidityFuzzers { using FixedPointMathLib for uint256; - using CurrencyLibrary for Currency; using Planner for Plan; using StateLibrary for IPoolManager; using SafeCast for *; diff --git a/test/position-managers/Permit.t.sol b/test/position-managers/Permit.t.sol index e4b7f4fe3..857d1ff3f 100644 --- a/test/position-managers/Permit.t.sol +++ b/test/position-managers/Permit.t.sol @@ -5,7 +5,7 @@ import "forge-std/Test.sol"; import {PoolManager} from "@uniswap/v4-core/src/PoolManager.sol"; import {IPoolManager} from "@uniswap/v4-core/src/interfaces/IPoolManager.sol"; import {IHooks} from "@uniswap/v4-core/src/interfaces/IHooks.sol"; -import {Currency, CurrencyLibrary} from "@uniswap/v4-core/src/types/Currency.sol"; +import {Currency} from "@uniswap/v4-core/src/types/Currency.sol"; import {PoolId} from "@uniswap/v4-core/src/types/PoolId.sol"; import {PoolKey} from "@uniswap/v4-core/src/types/PoolKey.sol"; import {FixedPointMathLib} from "solmate/src/utils/FixedPointMathLib.sol"; @@ -24,7 +24,6 @@ import {PosmTestSetup} from "../shared/PosmTestSetup.sol"; contract PermitTest is Test, PosmTestSetup { using FixedPointMathLib for uint256; - using CurrencyLibrary for Currency; using StateLibrary for IPoolManager; PoolId poolId; diff --git a/test/position-managers/PositionManager.gas.t.sol b/test/position-managers/PositionManager.gas.t.sol index b2759d7ba..6511a2213 100644 --- a/test/position-managers/PositionManager.gas.t.sol +++ b/test/position-managers/PositionManager.gas.t.sol @@ -27,7 +27,6 @@ import {MockSubscriber} from "../mocks/MockSubscriber.sol"; contract PosMGasTest is Test, PosmTestSetup { using FixedPointMathLib for uint256; - using CurrencyLibrary for Currency; using Planner for Plan; PoolId poolId; diff --git a/test/position-managers/PositionManager.multicall.t.sol b/test/position-managers/PositionManager.multicall.t.sol index dc40891a9..eda18e341 100644 --- a/test/position-managers/PositionManager.multicall.t.sol +++ b/test/position-managers/PositionManager.multicall.t.sol @@ -33,7 +33,6 @@ import {IERC721Permit_v4} from "../../src/interfaces/IERC721Permit_v4.sol"; contract PositionManagerMulticallTest is Test, Permit2SignatureHelpers, PosmTestSetup, LiquidityFuzzers { using FixedPointMathLib for uint256; - using CurrencyLibrary for Currency; using StateLibrary for IPoolManager; using Planner for Plan; using StateLibrary for IPoolManager; diff --git a/test/position-managers/PositionManager.t.sol b/test/position-managers/PositionManager.t.sol index c2fe2ffd5..cb93666ba 100644 --- a/test/position-managers/PositionManager.t.sol +++ b/test/position-managers/PositionManager.t.sol @@ -5,7 +5,7 @@ import "forge-std/Test.sol"; import {PoolManager} from "@uniswap/v4-core/src/PoolManager.sol"; import {IPoolManager} from "@uniswap/v4-core/src/interfaces/IPoolManager.sol"; import {IHooks} from "@uniswap/v4-core/src/interfaces/IHooks.sol"; -import {Currency, CurrencyLibrary} from "@uniswap/v4-core/src/types/Currency.sol"; +import {Currency} from "@uniswap/v4-core/src/types/Currency.sol"; import {PoolId} from "@uniswap/v4-core/src/types/PoolId.sol"; import {PoolKey} from "@uniswap/v4-core/src/types/PoolKey.sol"; import {BalanceDelta} from "@uniswap/v4-core/src/types/BalanceDelta.sol"; @@ -37,7 +37,6 @@ import {ReentrancyLock} from "../../src/base/ReentrancyLock.sol"; contract PositionManagerTest is Test, PosmTestSetup, LiquidityFuzzers { using FixedPointMathLib for uint256; - using CurrencyLibrary for Currency; using Planner for Plan; using StateLibrary for IPoolManager; diff --git a/test/router/Payments.gas.t.sol b/test/router/Payments.gas.t.sol index 06d13918a..abaf76c03 100644 --- a/test/router/Payments.gas.t.sol +++ b/test/router/Payments.gas.t.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: UNLICENSED pragma solidity ^0.8.19; -import {Currency, CurrencyLibrary} from "@uniswap/v4-core/src/types/Currency.sol"; +import {Currency} from "@uniswap/v4-core/src/types/Currency.sol"; import {IV4Router} from "../../src/interfaces/IV4Router.sol"; import {RoutingTestHelpers} from "../shared/RoutingTestHelpers.sol"; @@ -10,7 +10,6 @@ import {Actions} from "../../src/libraries/Actions.sol"; import {ActionConstants} from "../../src/libraries/ActionConstants.sol"; contract PaymentsTests is RoutingTestHelpers { - using CurrencyLibrary for Currency; using Planner for Plan; function setUp() public { diff --git a/test/router/Payments.t.sol b/test/router/Payments.t.sol index 832159ccf..6c2a66880 100644 --- a/test/router/Payments.t.sol +++ b/test/router/Payments.t.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: UNLICENSED pragma solidity ^0.8.19; -import {Currency, CurrencyLibrary} from "@uniswap/v4-core/src/types/Currency.sol"; +import {Currency} from "@uniswap/v4-core/src/types/Currency.sol"; import {IV4Router} from "../../src/interfaces/IV4Router.sol"; import {RoutingTestHelpers} from "../shared/RoutingTestHelpers.sol"; @@ -11,7 +11,6 @@ import {ActionConstants} from "../../src/libraries/ActionConstants.sol"; import {BipsLibrary} from "../../src/libraries/BipsLibrary.sol"; contract PaymentsTests is RoutingTestHelpers { - using CurrencyLibrary for Currency; using Planner for Plan; address bob = makeAddr("BOB"); diff --git a/test/router/V4Router.gas.t.sol b/test/router/V4Router.gas.t.sol index 3be320291..84c1a9c68 100644 --- a/test/router/V4Router.gas.t.sol +++ b/test/router/V4Router.gas.t.sol @@ -10,7 +10,6 @@ import {Actions} from "../../src/libraries/Actions.sol"; import {ActionConstants} from "../../src/libraries/ActionConstants.sol"; contract V4RouterTest is RoutingTestHelpers { - using CurrencyLibrary for Currency; using Planner for Plan; function setUp() public { diff --git a/test/router/V4Router.t.sol b/test/router/V4Router.t.sol index 0c74e0046..0324fc743 100644 --- a/test/router/V4Router.t.sol +++ b/test/router/V4Router.t.sol @@ -9,7 +9,6 @@ import {Actions} from "../../src/libraries/Actions.sol"; import {ActionConstants} from "../../src/libraries/ActionConstants.sol"; contract V4RouterTest is RoutingTestHelpers { - using CurrencyLibrary for Currency; using Planner for Plan; address alice = makeAddr("ALICE"); From 24c3d2557bfc1c37de89d773a8f39a7fac2017e1 Mon Sep 17 00:00:00 2001 From: GianfrancoBazzani Date: Mon, 9 Dec 2024 21:24:11 +0100 Subject: [PATCH 3/6] :heavy_plus_sign: refactor: Add global usage of PositionInfoLibrary for PositionInfo --- src/PositionDescriptor.sol | 3 +-- src/PositionManager.sol | 1 - src/libraries/PathKey.sol | 2 ++ src/libraries/PositionInfoLibrary.sol | 2 ++ test/libraries/PositionInfoLibrary.t.sol | 1 - test/position-managers/PositionManager.notifier.t.sol | 3 +-- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/PositionDescriptor.sol b/src/PositionDescriptor.sol index 4286f627b..06adb0f84 100644 --- a/src/PositionDescriptor.sol +++ b/src/PositionDescriptor.sol @@ -8,7 +8,7 @@ import {PoolKey} from "@uniswap/v4-core/src/types/PoolKey.sol"; import {PoolId} from "@uniswap/v4-core/src/types/PoolId.sol"; import {IPositionManager} from "./interfaces/IPositionManager.sol"; import {IPositionDescriptor} from "./interfaces/IPositionDescriptor.sol"; -import {PositionInfo, PositionInfoLibrary} from "./libraries/PositionInfoLibrary.sol"; +import {PositionInfo} from "./libraries/PositionInfoLibrary.sol"; import {Descriptor} from "./libraries/Descriptor.sol"; import {CurrencyRatioSortOrder} from "./libraries/CurrencyRatioSortOrder.sol"; import {SafeCurrencyMetadata} from "./libraries/SafeCurrencyMetadata.sol"; @@ -17,7 +17,6 @@ import {SafeCurrencyMetadata} from "./libraries/SafeCurrencyMetadata.sol"; /// @notice Produces a string containing the data URI for a JSON metadata string contract PositionDescriptor is IPositionDescriptor { using StateLibrary for IPoolManager; - using PositionInfoLibrary for PositionInfo; error InvalidTokenId(uint256 tokenId); diff --git a/src/PositionManager.sol b/src/PositionManager.sol index d2bcb566e..e7b56ef19 100644 --- a/src/PositionManager.sol +++ b/src/PositionManager.sol @@ -114,7 +114,6 @@ contract PositionManager is using SafeCast for int256; using CalldataDecoder for bytes; using SlippageCheck for BalanceDelta; - using PositionInfoLibrary for PositionInfo; /// @inheritdoc IPositionManager /// @dev The ID of the next token that will be minted. Skips 0 diff --git a/src/libraries/PathKey.sol b/src/libraries/PathKey.sol index daa2fdd07..b6902db3d 100644 --- a/src/libraries/PathKey.sol +++ b/src/libraries/PathKey.sol @@ -13,6 +13,8 @@ struct PathKey { bytes hookData; } +using PathKeyLibrary for PathKey global; + /// @title PathKey Library /// @notice Functions for working with PathKeys library PathKeyLibrary { diff --git a/src/libraries/PositionInfoLibrary.sol b/src/libraries/PositionInfoLibrary.sol index 65d44eb54..ac9885f16 100644 --- a/src/libraries/PositionInfoLibrary.sol +++ b/src/libraries/PositionInfoLibrary.sol @@ -30,6 +30,8 @@ import {PoolId} from "@uniswap/v4-core/src/types/PoolId.sol"; */ type PositionInfo is uint256; +using PositionInfoLibrary for PositionInfo global; + library PositionInfoLibrary { PositionInfo internal constant EMPTY_POSITION_INFO = PositionInfo.wrap(0); diff --git a/test/libraries/PositionInfoLibrary.t.sol b/test/libraries/PositionInfoLibrary.t.sol index 3c208c17d..bf80a341b 100644 --- a/test/libraries/PositionInfoLibrary.t.sol +++ b/test/libraries/PositionInfoLibrary.t.sol @@ -6,7 +6,6 @@ import {PoolKey} from "@uniswap/v4-core/src/types/PoolKey.sol"; import {PositionInfo, PositionInfoLibrary, PoolId} from "../../src/libraries/PositionInfoLibrary.sol"; contract PositionInfoLibraryTest is Test { - using PositionInfoLibrary for PositionInfo; function setUp() public {} diff --git a/test/position-managers/PositionManager.notifier.t.sol b/test/position-managers/PositionManager.notifier.t.sol index 365efa555..9ddebac15 100644 --- a/test/position-managers/PositionManager.notifier.t.sol +++ b/test/position-managers/PositionManager.notifier.t.sol @@ -19,13 +19,12 @@ import {Plan, Planner} from "../shared/Planner.sol"; import {Actions} from "../../src/libraries/Actions.sol"; import {INotifier} from "../../src/interfaces/INotifier.sol"; import {MockReturnDataSubscriber, MockRevertSubscriber} from "../mocks/MockBadSubscribers.sol"; -import {PositionInfoLibrary, PositionInfo} from "../../src/libraries/PositionInfoLibrary.sol"; +import {PositionInfo} from "../../src/libraries/PositionInfoLibrary.sol"; import {MockReenterHook} from "../mocks/MockReenterHook.sol"; contract PositionManagerNotifierTest is Test, PosmTestSetup { using StateLibrary for IPoolManager; using Planner for Plan; - using PositionInfoLibrary for PositionInfo; MockSubscriber sub; MockReturnDataSubscriber badSubscriber; From 05b0a6851dabbfae4225694b23d0748332bd3d66 Mon Sep 17 00:00:00 2001 From: GianfrancoBazzani Date: Mon, 9 Dec 2024 21:26:32 +0100 Subject: [PATCH 4/6] :heavy_plus_sign: refactor: Add global usage of PathKeyLibrary for PathKey --- src/V4Router.sol | 3 +-- src/lens/V4Quoter.sol | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/src/V4Router.sol b/src/V4Router.sol index e149da215..1def436ec 100644 --- a/src/V4Router.sol +++ b/src/V4Router.sol @@ -8,7 +8,7 @@ import {Currency} from "@uniswap/v4-core/src/types/Currency.sol"; import {TickMath} from "@uniswap/v4-core/src/libraries/TickMath.sol"; import {SafeCast} from "@uniswap/v4-core/src/libraries/SafeCast.sol"; -import {PathKey, PathKeyLibrary} from "./libraries/PathKey.sol"; +import {PathKey} from "./libraries/PathKey.sol"; import {CalldataDecoder} from "./libraries/CalldataDecoder.sol"; import {IV4Router} from "./interfaces/IV4Router.sol"; import {BaseActionsRouter} from "./base/BaseActionsRouter.sol"; @@ -23,7 +23,6 @@ import {BipsLibrary} from "./libraries/BipsLibrary.sol"; /// An inheriting contract should call _executeActions at the point that they wish actions to be executed abstract contract V4Router is IV4Router, BaseActionsRouter, DeltaResolver { using SafeCast for *; - using PathKeyLibrary for PathKey; using CalldataDecoder for bytes; using BipsLibrary for uint256; diff --git a/src/lens/V4Quoter.sol b/src/lens/V4Quoter.sol index 0f6b78648..c21ba9881 100644 --- a/src/lens/V4Quoter.sol +++ b/src/lens/V4Quoter.sol @@ -7,12 +7,11 @@ import {Currency} from "@uniswap/v4-core/src/types/Currency.sol"; import {PoolKey} from "@uniswap/v4-core/src/types/PoolKey.sol"; import {StateLibrary} from "@uniswap/v4-core/src/libraries/StateLibrary.sol"; import {IV4Quoter} from "../interfaces/IV4Quoter.sol"; -import {PathKey, PathKeyLibrary} from "../libraries/PathKey.sol"; +import {PathKey} from "../libraries/PathKey.sol"; import {QuoterRevert} from "../libraries/QuoterRevert.sol"; import {BaseV4Quoter} from "../base/BaseV4Quoter.sol"; contract V4Quoter is IV4Quoter, BaseV4Quoter { - using PathKeyLibrary for PathKey; using QuoterRevert for *; constructor(IPoolManager _poolManager) BaseV4Quoter(_poolManager) {} From 6776c1097bc7282de3b0569b9cef57b64a535912 Mon Sep 17 00:00:00 2001 From: GianfrancoBazzani Date: Mon, 9 Dec 2024 21:44:06 +0100 Subject: [PATCH 5/6] :heavy_plus_sign: refactor: Add global usage of Planner for Plan --- test/BaseActionsRouter.t.sol | 1 - test/position-managers/Execute.t.sol | 1 - test/position-managers/IncreaseLiquidity.t.sol | 1 - test/position-managers/NativeToken.t.sol | 1 - test/position-managers/PositionManager.gas.t.sol | 1 - test/position-managers/PositionManager.modifyLiquidities.t.sol | 2 -- test/position-managers/PositionManager.multicall.t.sol | 1 - test/position-managers/PositionManager.notifier.t.sol | 1 - test/position-managers/PositionManager.t.sol | 1 - test/router/Payments.gas.t.sol | 3 +-- test/router/Payments.t.sol | 3 +-- test/router/V4Router.gas.t.sol | 3 +-- test/router/V4Router.t.sol | 3 +-- test/shared/LiquidityOperations.sol | 1 - test/shared/Planner.sol | 3 ++- test/shared/RoutingTestHelpers.sol | 1 - test/shared/fuzz/LiquidityFuzzers.sol | 1 - 17 files changed, 6 insertions(+), 22 deletions(-) diff --git a/test/BaseActionsRouter.t.sol b/test/BaseActionsRouter.t.sol index 33a39adda..3e1481d0f 100644 --- a/test/BaseActionsRouter.t.sol +++ b/test/BaseActionsRouter.t.sol @@ -10,7 +10,6 @@ import {Test} from "forge-std/Test.sol"; import {Deployers} from "@uniswap/v4-core/test/utils/Deployers.sol"; contract BaseActionsRouterTest is Test, Deployers { - using Planner for Plan; MockBaseActionsRouter router; diff --git a/test/position-managers/Execute.t.sol b/test/position-managers/Execute.t.sol index 8d7e2b085..c4e711851 100644 --- a/test/position-managers/Execute.t.sol +++ b/test/position-managers/Execute.t.sol @@ -29,7 +29,6 @@ import {PosmTestSetup} from "../shared/PosmTestSetup.sol"; contract ExecuteTest is Test, PosmTestSetup, LiquidityFuzzers { using FixedPointMathLib for uint256; - using Planner for Plan; using StateLibrary for IPoolManager; PoolId poolId; diff --git a/test/position-managers/IncreaseLiquidity.t.sol b/test/position-managers/IncreaseLiquidity.t.sol index 3ff328095..699b508ae 100644 --- a/test/position-managers/IncreaseLiquidity.t.sol +++ b/test/position-managers/IncreaseLiquidity.t.sol @@ -32,7 +32,6 @@ import {ActionConstants} from "../../src/libraries/ActionConstants.sol"; contract IncreaseLiquidityTest is Test, PosmTestSetup, Fuzzers { using FixedPointMathLib for uint256; - using Planner for Plan; using FeeMath for IPositionManager; using StateLibrary for IPoolManager; diff --git a/test/position-managers/NativeToken.t.sol b/test/position-managers/NativeToken.t.sol index cdfb50972..c18317be1 100644 --- a/test/position-managers/NativeToken.t.sol +++ b/test/position-managers/NativeToken.t.sol @@ -36,7 +36,6 @@ import {PositionConfig} from "../shared/PositionConfig.sol"; contract PositionManagerTest is Test, PosmTestSetup, LiquidityFuzzers { using FixedPointMathLib for uint256; - using Planner for Plan; using StateLibrary for IPoolManager; using SafeCast for *; diff --git a/test/position-managers/PositionManager.gas.t.sol b/test/position-managers/PositionManager.gas.t.sol index 6511a2213..a73a3dc2e 100644 --- a/test/position-managers/PositionManager.gas.t.sol +++ b/test/position-managers/PositionManager.gas.t.sol @@ -27,7 +27,6 @@ import {MockSubscriber} from "../mocks/MockSubscriber.sol"; contract PosMGasTest is Test, PosmTestSetup { using FixedPointMathLib for uint256; - using Planner for Plan; PoolId poolId; address alice; diff --git a/test/position-managers/PositionManager.modifyLiquidities.t.sol b/test/position-managers/PositionManager.modifyLiquidities.t.sol index fefa729a1..16c86019f 100644 --- a/test/position-managers/PositionManager.modifyLiquidities.t.sol +++ b/test/position-managers/PositionManager.modifyLiquidities.t.sol @@ -34,13 +34,11 @@ import {LiquidityFuzzers} from "../shared/fuzz/LiquidityFuzzers.sol"; import {Planner, Plan} from "../shared/Planner.sol"; import {PosmTestSetup} from "../shared/PosmTestSetup.sol"; import {ActionConstants} from "../../src/libraries/ActionConstants.sol"; -import {Planner, Plan} from "../shared/Planner.sol"; import {DeltaResolver} from "../../src/base/DeltaResolver.sol"; import {MockFOT} from "../mocks/MockFeeOnTransfer.sol"; contract PositionManagerModifyLiquiditiesTest is Test, PosmTestSetup, LiquidityFuzzers { using StateLibrary for IPoolManager; - using Planner for Plan; using BipsLibrary for uint256; PoolId poolId; diff --git a/test/position-managers/PositionManager.multicall.t.sol b/test/position-managers/PositionManager.multicall.t.sol index eda18e341..d14037ca4 100644 --- a/test/position-managers/PositionManager.multicall.t.sol +++ b/test/position-managers/PositionManager.multicall.t.sol @@ -34,7 +34,6 @@ import {IERC721Permit_v4} from "../../src/interfaces/IERC721Permit_v4.sol"; contract PositionManagerMulticallTest is Test, Permit2SignatureHelpers, PosmTestSetup, LiquidityFuzzers { using FixedPointMathLib for uint256; using StateLibrary for IPoolManager; - using Planner for Plan; using StateLibrary for IPoolManager; PoolId poolId; diff --git a/test/position-managers/PositionManager.notifier.t.sol b/test/position-managers/PositionManager.notifier.t.sol index 9ddebac15..c17ed220c 100644 --- a/test/position-managers/PositionManager.notifier.t.sol +++ b/test/position-managers/PositionManager.notifier.t.sol @@ -24,7 +24,6 @@ import {MockReenterHook} from "../mocks/MockReenterHook.sol"; contract PositionManagerNotifierTest is Test, PosmTestSetup { using StateLibrary for IPoolManager; - using Planner for Plan; MockSubscriber sub; MockReturnDataSubscriber badSubscriber; diff --git a/test/position-managers/PositionManager.t.sol b/test/position-managers/PositionManager.t.sol index cb93666ba..12c5373c3 100644 --- a/test/position-managers/PositionManager.t.sol +++ b/test/position-managers/PositionManager.t.sol @@ -37,7 +37,6 @@ import {ReentrancyLock} from "../../src/base/ReentrancyLock.sol"; contract PositionManagerTest is Test, PosmTestSetup, LiquidityFuzzers { using FixedPointMathLib for uint256; - using Planner for Plan; using StateLibrary for IPoolManager; PoolId poolId; diff --git a/test/router/Payments.gas.t.sol b/test/router/Payments.gas.t.sol index abaf76c03..51bc6c42f 100644 --- a/test/router/Payments.gas.t.sol +++ b/test/router/Payments.gas.t.sol @@ -5,12 +5,11 @@ import {Currency} from "@uniswap/v4-core/src/types/Currency.sol"; import {IV4Router} from "../../src/interfaces/IV4Router.sol"; import {RoutingTestHelpers} from "../shared/RoutingTestHelpers.sol"; -import {Plan, Planner} from "../shared/Planner.sol"; +import {Planner} from "../shared/Planner.sol"; import {Actions} from "../../src/libraries/Actions.sol"; import {ActionConstants} from "../../src/libraries/ActionConstants.sol"; contract PaymentsTests is RoutingTestHelpers { - using Planner for Plan; function setUp() public { setupRouterCurrenciesAndPoolsWithLiquidity(); diff --git a/test/router/Payments.t.sol b/test/router/Payments.t.sol index 6c2a66880..091c510eb 100644 --- a/test/router/Payments.t.sol +++ b/test/router/Payments.t.sol @@ -5,13 +5,12 @@ import {Currency} from "@uniswap/v4-core/src/types/Currency.sol"; import {IV4Router} from "../../src/interfaces/IV4Router.sol"; import {RoutingTestHelpers} from "../shared/RoutingTestHelpers.sol"; -import {Plan, Planner} from "../shared/Planner.sol"; +import {Planner} from "../shared/Planner.sol"; import {Actions} from "../../src/libraries/Actions.sol"; import {ActionConstants} from "../../src/libraries/ActionConstants.sol"; import {BipsLibrary} from "../../src/libraries/BipsLibrary.sol"; contract PaymentsTests is RoutingTestHelpers { - using Planner for Plan; address bob = makeAddr("BOB"); diff --git a/test/router/V4Router.gas.t.sol b/test/router/V4Router.gas.t.sol index 84c1a9c68..0d6254923 100644 --- a/test/router/V4Router.gas.t.sol +++ b/test/router/V4Router.gas.t.sol @@ -5,12 +5,11 @@ import {Currency, CurrencyLibrary} from "@uniswap/v4-core/src/types/Currency.sol import {IV4Router} from "../../src/interfaces/IV4Router.sol"; import {RoutingTestHelpers} from "../shared/RoutingTestHelpers.sol"; -import {Plan, Planner} from "../shared/Planner.sol"; +import {Planner} from "../shared/Planner.sol"; import {Actions} from "../../src/libraries/Actions.sol"; import {ActionConstants} from "../../src/libraries/ActionConstants.sol"; contract V4RouterTest is RoutingTestHelpers { - using Planner for Plan; function setUp() public { setupRouterCurrenciesAndPoolsWithLiquidity(); diff --git a/test/router/V4Router.t.sol b/test/router/V4Router.t.sol index 0324fc743..f6360947f 100644 --- a/test/router/V4Router.t.sol +++ b/test/router/V4Router.t.sol @@ -4,12 +4,11 @@ pragma solidity ^0.8.19; import {Currency, CurrencyLibrary} from "@uniswap/v4-core/src/types/Currency.sol"; import {IV4Router} from "../../src/interfaces/IV4Router.sol"; import {RoutingTestHelpers} from "../shared/RoutingTestHelpers.sol"; -import {Plan, Planner} from "../shared/Planner.sol"; +import {Planner} from "../shared/Planner.sol"; import {Actions} from "../../src/libraries/Actions.sol"; import {ActionConstants} from "../../src/libraries/ActionConstants.sol"; contract V4RouterTest is RoutingTestHelpers { - using Planner for Plan; address alice = makeAddr("ALICE"); diff --git a/test/shared/LiquidityOperations.sol b/test/shared/LiquidityOperations.sol index 80d2d81e7..35aa6da35 100644 --- a/test/shared/LiquidityOperations.sol +++ b/test/shared/LiquidityOperations.sol @@ -15,7 +15,6 @@ import {Planner, Plan} from "../shared/Planner.sol"; import {HookSavesDelta} from "./HookSavesDelta.sol"; abstract contract LiquidityOperations is CommonBase { - using Planner for Plan; using SafeCast for *; PositionManager lpm; diff --git a/test/shared/Planner.sol b/test/shared/Planner.sol index 0d5ca4fc1..8b0fa8554 100644 --- a/test/shared/Planner.sol +++ b/test/shared/Planner.sol @@ -13,8 +13,9 @@ struct Plan { bytes[] params; } +using Planner for Plan global; + library Planner { - using Planner for Plan; function init() internal pure returns (Plan memory plan) { return Plan({actions: bytes(""), params: new bytes[](0)}); diff --git a/test/shared/RoutingTestHelpers.sol b/test/shared/RoutingTestHelpers.sol index 67b8f6011..e518d7765 100644 --- a/test/shared/RoutingTestHelpers.sol +++ b/test/shared/RoutingTestHelpers.sol @@ -22,7 +22,6 @@ import {ActionConstants} from "../../src/libraries/ActionConstants.sol"; /// @notice A shared test contract that wraps the v4-core deployers contract and exposes basic helpers for swapping with the router. contract RoutingTestHelpers is Test, Deployers { - using Planner for Plan; PoolModifyLiquidityTest positionManager; MockV4Router router; diff --git a/test/shared/fuzz/LiquidityFuzzers.sol b/test/shared/fuzz/LiquidityFuzzers.sol index 62f3f87bf..86fa9812c 100644 --- a/test/shared/fuzz/LiquidityFuzzers.sol +++ b/test/shared/fuzz/LiquidityFuzzers.sol @@ -12,7 +12,6 @@ import {Actions} from "../../../src/libraries/Actions.sol"; import {Planner, Plan} from "../../shared/Planner.sol"; contract LiquidityFuzzers is Fuzzers { - using Planner for Plan; uint128 constant _MAX_SLIPPAGE_INCREASE = type(uint128).max; From d69b1c487601e550c1e88759a02be423811915a4 Mon Sep 17 00:00:00 2001 From: GianfrancoBazzani Date: Thu, 19 Dec 2024 17:33:31 +0100 Subject: [PATCH 6/6] :nail_care: style `forge fmt` --- src/libraries/PositionInfoLibrary.sol | 1 - test/BaseActionsRouter.t.sol | 1 - test/DeltaResolver.t.sol | 1 - test/libraries/PositionInfoLibrary.t.sol | 1 - test/mocks/MockDeltaResolver.sol | 1 - test/router/Payments.gas.t.sol | 1 - test/router/Payments.t.sol | 1 - test/router/V4Router.gas.t.sol | 1 - test/router/V4Router.t.sol | 1 - test/shared/Planner.sol | 1 - test/shared/RoutingTestHelpers.sol | 1 - test/shared/fuzz/LiquidityFuzzers.sol | 1 - 12 files changed, 12 deletions(-) diff --git a/src/libraries/PositionInfoLibrary.sol b/src/libraries/PositionInfoLibrary.sol index ac9885f16..85650585a 100644 --- a/src/libraries/PositionInfoLibrary.sol +++ b/src/libraries/PositionInfoLibrary.sol @@ -33,7 +33,6 @@ type PositionInfo is uint256; using PositionInfoLibrary for PositionInfo global; library PositionInfoLibrary { - PositionInfo internal constant EMPTY_POSITION_INFO = PositionInfo.wrap(0); uint256 internal constant MASK_UPPER_200_BITS = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000; diff --git a/test/BaseActionsRouter.t.sol b/test/BaseActionsRouter.t.sol index 3e1481d0f..a411dbc17 100644 --- a/test/BaseActionsRouter.t.sol +++ b/test/BaseActionsRouter.t.sol @@ -10,7 +10,6 @@ import {Test} from "forge-std/Test.sol"; import {Deployers} from "@uniswap/v4-core/test/utils/Deployers.sol"; contract BaseActionsRouterTest is Test, Deployers { - MockBaseActionsRouter router; function setUp() public { diff --git a/test/DeltaResolver.t.sol b/test/DeltaResolver.t.sol index 8788630c2..8dc620c5f 100644 --- a/test/DeltaResolver.t.sol +++ b/test/DeltaResolver.t.sol @@ -10,7 +10,6 @@ import {ERC20} from "solmate/src/tokens/ERC20.sol"; import {MockDeltaResolver} from "./mocks/MockDeltaResolver.sol"; contract DeltaResolverTest is Test, Deployers { - MockDeltaResolver resolver; function setUp() public { diff --git a/test/libraries/PositionInfoLibrary.t.sol b/test/libraries/PositionInfoLibrary.t.sol index bf80a341b..877f8ba78 100644 --- a/test/libraries/PositionInfoLibrary.t.sol +++ b/test/libraries/PositionInfoLibrary.t.sol @@ -6,7 +6,6 @@ import {PoolKey} from "@uniswap/v4-core/src/types/PoolKey.sol"; import {PositionInfo, PositionInfoLibrary, PoolId} from "../../src/libraries/PositionInfoLibrary.sol"; contract PositionInfoLibraryTest is Test { - function setUp() public {} function test_fuzz_initialize(PoolKey memory poolKey, int24 tickLower, int24 tickUpper) public pure { diff --git a/test/mocks/MockDeltaResolver.sol b/test/mocks/MockDeltaResolver.sol index 1982a122c..514379ce3 100644 --- a/test/mocks/MockDeltaResolver.sol +++ b/test/mocks/MockDeltaResolver.sol @@ -10,7 +10,6 @@ import {ERC20} from "solmate/src/tokens/ERC20.sol"; import {Test} from "forge-std/Test.sol"; contract MockDeltaResolver is Test, DeltaResolver, IUnlockCallback { - uint256 public payCallCount; constructor(IPoolManager _poolManager) ImmutableState(_poolManager) {} diff --git a/test/router/Payments.gas.t.sol b/test/router/Payments.gas.t.sol index 51bc6c42f..f27e36179 100644 --- a/test/router/Payments.gas.t.sol +++ b/test/router/Payments.gas.t.sol @@ -10,7 +10,6 @@ import {Actions} from "../../src/libraries/Actions.sol"; import {ActionConstants} from "../../src/libraries/ActionConstants.sol"; contract PaymentsTests is RoutingTestHelpers { - function setUp() public { setupRouterCurrenciesAndPoolsWithLiquidity(); plan = Planner.init(); diff --git a/test/router/Payments.t.sol b/test/router/Payments.t.sol index 091c510eb..d572bd1da 100644 --- a/test/router/Payments.t.sol +++ b/test/router/Payments.t.sol @@ -11,7 +11,6 @@ import {ActionConstants} from "../../src/libraries/ActionConstants.sol"; import {BipsLibrary} from "../../src/libraries/BipsLibrary.sol"; contract PaymentsTests is RoutingTestHelpers { - address bob = makeAddr("BOB"); function setUp() public { diff --git a/test/router/V4Router.gas.t.sol b/test/router/V4Router.gas.t.sol index 270bf9966..7c155a010 100644 --- a/test/router/V4Router.gas.t.sol +++ b/test/router/V4Router.gas.t.sol @@ -10,7 +10,6 @@ import {Actions} from "../../src/libraries/Actions.sol"; import {ActionConstants} from "../../src/libraries/ActionConstants.sol"; contract V4RouterTest is RoutingTestHelpers { - function setUp() public { setupRouterCurrenciesAndPoolsWithLiquidity(); plan = Planner.init(); diff --git a/test/router/V4Router.t.sol b/test/router/V4Router.t.sol index f6360947f..c47997150 100644 --- a/test/router/V4Router.t.sol +++ b/test/router/V4Router.t.sol @@ -9,7 +9,6 @@ import {Actions} from "../../src/libraries/Actions.sol"; import {ActionConstants} from "../../src/libraries/ActionConstants.sol"; contract V4RouterTest is RoutingTestHelpers { - address alice = makeAddr("ALICE"); function setUp() public { diff --git a/test/shared/Planner.sol b/test/shared/Planner.sol index f86fd527c..d3c3b8be6 100644 --- a/test/shared/Planner.sol +++ b/test/shared/Planner.sol @@ -15,7 +15,6 @@ struct Plan { using Planner for Plan global; library Planner { - function init() internal pure returns (Plan memory plan) { return Plan({actions: bytes(""), params: new bytes[](0)}); } diff --git a/test/shared/RoutingTestHelpers.sol b/test/shared/RoutingTestHelpers.sol index d0464b869..8c62cbea4 100644 --- a/test/shared/RoutingTestHelpers.sol +++ b/test/shared/RoutingTestHelpers.sol @@ -21,7 +21,6 @@ import {ActionConstants} from "../../src/libraries/ActionConstants.sol"; /// @notice A shared test contract that wraps the v4-core deployers contract and exposes basic helpers for swapping with the router. contract RoutingTestHelpers is Test, Deployers { - PoolModifyLiquidityTest positionManager; MockV4Router router; diff --git a/test/shared/fuzz/LiquidityFuzzers.sol b/test/shared/fuzz/LiquidityFuzzers.sol index 86fa9812c..da14514c8 100644 --- a/test/shared/fuzz/LiquidityFuzzers.sol +++ b/test/shared/fuzz/LiquidityFuzzers.sol @@ -12,7 +12,6 @@ import {Actions} from "../../../src/libraries/Actions.sol"; import {Planner, Plan} from "../../shared/Planner.sol"; contract LiquidityFuzzers is Fuzzers { - uint128 constant _MAX_SLIPPAGE_INCREASE = type(uint128).max; function addFuzzyLiquidity(