Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions foundry.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"lib/openzeppelin-contracts": {
"rev": "dbb6104ce834628e473d2173bbc9d47f81a9eec3"
},
"lib/forge-std": {
"rev": "1de6eecf821de7fe2c908cc48d3ab3dced20717f"
},
"lib/solmate": {
"rev": "4b47a19038b798b4a33d9749d25e570443520647"
}
}
8 changes: 4 additions & 4 deletions snapshots/CustomAccountingTest.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"addLiquidity CA fee": "170695",
"removeLiquidity CA fee": "141199",
"swap CA custom curve + swap noop": "124402",
"swap CA fee on unspecified": "154572"
"addLiquidity CA fee": "67203",
"removeLiquidity CA fee": "60619",
"swap CA custom curve + swap noop": "63522",
"swap CA fee on unspecified": "84080"
}
14 changes: 7 additions & 7 deletions snapshots/ERC6909ClaimsTest.json
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
{
"ERC6909Claims approve": "46323",
"ERC6909Claims burn": "29389",
"ERC6909Claims mint": "46603",
"ERC6909Claims transfer": "51756",
"ERC6909Claims transferFrom as operator": "54437",
"ERC6909Claims transferFrom with approval": "59939",
"ERC6909Claims transferFrom with infinite approval": "56770"
"ERC6909Claims approve": "24815",
"ERC6909Claims burn": "3233",
"ERC6909Claims mint": "25095",
"ERC6909Claims transfer": "25448",
"ERC6909Claims transferFrom as operator": "25977",
"ERC6909Claims transferFrom with approval": "28679",
"ERC6909Claims transferFrom with infinite approval": "28310"
}
2 changes: 1 addition & 1 deletion snapshots/ExtsloadTest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
"sparse external sload": "22164"
"sparse external sload": "2164"
}
4 changes: 2 additions & 2 deletions snapshots/ModifyLiquidityTest.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"add liquidity to already existing position with salt": "144401",
"create new liquidity to a position with salt": "292593"
"add liquidity to already existing position with salt": "52997",
"create new liquidity to a position with salt": "269089"
}
2 changes: 1 addition & 1 deletion snapshots/PoolManagerInitializeTest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
"initialize": "51532"
"initialize": "29172"
}
42 changes: 21 additions & 21 deletions snapshots/PoolManagerTest.json
Original file line number Diff line number Diff line change
@@ -1,25 +1,25 @@
{
"addLiquidity with empty hook": "274012",
"addLiquidity with native token": "135001",
"donate gas with 1 token": "106214",
"donate gas with 2 tokens": "145510",
"erc20 collect protocol fees": "57728",
"native collect protocol fees": "59371",
"addLiquidity with empty hook": "243508",
"addLiquidity with native token": "111761",
"donate gas with 1 token": "83458",
"donate gas with 2 tokens": "116242",
"erc20 collect protocol fees": "24488",
"native collect protocol fees": "33171",
"poolManager bytecode size": "24009",
"poolManager initcode hash (without constructor params, as uint256)": "19281018184167079101887460999643277467915809731640262058315305465805214934776",
"removeLiquidity with empty hook": "130613",
"removeLiquidity with native token": "112523",
"simple addLiquidity": "161276",
"simple addLiquidity second addition same range": "98731",
"simple removeLiquidity": "85099",
"simple removeLiquidity some liquidity remains": "92986",
"simple swap": "123144",
"simple swap with native": "108434",
"swap against liquidity": "116527",
"swap against liquidity with native token": "105569",
"swap burn 6909 for input": "129285",
"swap burn native 6909 for input": "118672",
"swap mint native output as 6909": "139620",
"swap mint output as 6909": "154985",
"swap with hooks": "132165"
"removeLiquidity with empty hook": "59621",
"removeLiquidity with native token": "117125",
"simple addLiquidity": "137424",
"simple addLiquidity second addition same range": "29879",
"simple removeLiquidity": "27559",
"simple removeLiquidity some liquidity remains": "25846",
"simple swap": "100000",
"simple swap with native": "85530",
"swap against liquidity": "50679",
"swap against liquidity with native token": "54061",
"swap burn 6909 for input": "69409",
"swap burn native 6909 for input": "65524",
"swap mint native output as 6909": "116168",
"swap mint output as 6909": "131293",
"swap with hooks": "55793"
}
2 changes: 1 addition & 1 deletion snapshots/ProtocolFeesTest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
"set protocol fee": "31730"
"set protocol fee": "2546"
}
2 changes: 1 addition & 1 deletion snapshots/SkipCallsTest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
"swap skips hook call if hook is caller": "206030"
"swap skips hook call if hook is caller": "129230"
}
20 changes: 10 additions & 10 deletions snapshots/StateLibraryTest.json
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
{
"extsload getFeeGrowthGlobals": "4774",
"extsload getFeeGrowthInside": "2375",
"extsload getLiquidity": "2375",
"extsload getPositionInfo": "6949",
"extsload getPositionLiquidity": "2375",
"extsload getSlot0": "2375",
"extsload getTickBitmap": "2375",
"extsload getTickFeeGrowthOutside": "4774",
"extsload getTickInfo": "6949",
"extsload getTickLiquidity": "2375"
"extsload getFeeGrowthGlobals": "774",
"extsload getFeeGrowthInside": "375",
"extsload getLiquidity": "375",
"extsload getPositionInfo": "949",
"extsload getPositionLiquidity": "375",
"extsload getSlot0": "375",
"extsload getTickBitmap": "375",
"extsload getTickFeeGrowthOutside": "774",
"extsload getTickInfo": "949",
"extsload getTickLiquidity": "375"
}
2 changes: 1 addition & 1 deletion snapshots/SyncTest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
"getReserves": "5973"
"getReserves": "3973"
}
4 changes: 2 additions & 2 deletions snapshots/TestDynamicFees.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"swap with dynamic fee": "139153",
"update dynamic fee in before swap": "147743"
"swap with dynamic fee": "75769",
"update dynamic fee in before swap": "114847"
}
2 changes: 1 addition & 1 deletion snapshots/TestDynamicReturnFees.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
"swap with return dynamic fee": "145475"
"swap with return dynamic fee": "112567"
}
1 change: 0 additions & 1 deletion src/PoolManager.sol
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ pragma solidity 0.8.26;
import {Hooks} from "./libraries/Hooks.sol";
import {Pool} from "./libraries/Pool.sol";
import {SafeCast} from "./libraries/SafeCast.sol";
import {Position} from "./libraries/Position.sol";
import {LPFeeLibrary} from "./libraries/LPFeeLibrary.sol";
import {Currency, CurrencyLibrary} from "./types/Currency.sol";
import {PoolKey} from "./types/PoolKey.sol";
Expand Down
1 change: 0 additions & 1 deletion src/libraries/Hooks.sol
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ import {SafeCast} from "./SafeCast.sol";
import {LPFeeLibrary} from "./LPFeeLibrary.sol";
import {BalanceDelta, toBalanceDelta, BalanceDeltaLibrary} from "../types/BalanceDelta.sol";
import {BeforeSwapDelta, BeforeSwapDeltaLibrary} from "../types/BeforeSwapDelta.sol";
import {IPoolManager} from "../interfaces/IPoolManager.sol";
import {ModifyLiquidityParams, SwapParams} from "../types/PoolOperation.sol";
import {ParseBytes} from "./ParseBytes.sol";
import {CustomRevert} from "./CustomRevert.sol";
Expand Down
1 change: 0 additions & 1 deletion src/test/BaseTestHooks.sol
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ import {PoolKey} from "../types/PoolKey.sol";
import {ModifyLiquidityParams, SwapParams} from "../types/PoolOperation.sol";
import {BalanceDelta} from "../types/BalanceDelta.sol";
import {BeforeSwapDelta} from "../types/BeforeSwapDelta.sol";
import {IPoolManager} from "../interfaces/IPoolManager.sol";

contract BaseTestHooks is IHooks {
error HookNotImplemented();
Expand Down
1 change: 0 additions & 1 deletion src/test/EmptyTestHooks.sol
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ pragma solidity ^0.8.24;

import {Hooks} from "../libraries/Hooks.sol";
import {IHooks} from "../interfaces/IHooks.sol";
import {IPoolManager} from "../interfaces/IPoolManager.sol";
import {ModifyLiquidityParams, SwapParams} from "../types/PoolOperation.sol";
import {PoolKey} from "../types/PoolKey.sol";
import {BalanceDelta, BalanceDeltaLibrary} from "../types/BalanceDelta.sol";
Expand Down
1 change: 0 additions & 1 deletion src/test/Fuzzers.sol
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ pragma solidity ^0.8.24;
import {Vm} from "forge-std/Vm.sol";
import {StdUtils} from "forge-std/StdUtils.sol";

import {IPoolManager} from "../interfaces/IPoolManager.sol";
import {ModifyLiquidityParams} from "../types/PoolOperation.sol";
import {PoolKey} from "../types/PoolKey.sol";
import {BalanceDelta} from "../types/BalanceDelta.sol";
Expand Down
1 change: 0 additions & 1 deletion src/test/LPFeeTakingHook.sol
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ import {IPoolManager} from "../interfaces/IPoolManager.sol";
import {ModifyLiquidityParams} from "../types/PoolOperation.sol";
import {PoolKey} from "../types/PoolKey.sol";
import {BalanceDelta, toBalanceDelta} from "../types/BalanceDelta.sol";
import {Currency} from "../types/Currency.sol";
import {BaseTestHooks} from "./BaseTestHooks.sol";

/// @notice a hook that takes all of the LP fee revenue
Expand Down
1 change: 0 additions & 1 deletion src/test/MockHooks.sol
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ pragma solidity ^0.8.24;

import {Hooks} from "../libraries/Hooks.sol";
import {IHooks} from "../interfaces/IHooks.sol";
import {IPoolManager} from "../interfaces/IPoolManager.sol";
import {ModifyLiquidityParams, SwapParams} from "../types/PoolOperation.sol";
import {PoolKey} from "../types/PoolKey.sol";
import {BalanceDelta, BalanceDeltaLibrary} from "../types/BalanceDelta.sol";
Expand Down
1 change: 0 additions & 1 deletion src/test/PoolClaimsTest.sol
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
pragma solidity ^0.8.24;

import {Currency} from "../types/Currency.sol";
import {BalanceDelta} from "../types/BalanceDelta.sol";
import {IPoolManager} from "../interfaces/IPoolManager.sol";
import {PoolTestBase} from "./PoolTestBase.sol";
import {SafeCast} from "../libraries/SafeCast.sol";
Expand Down
1 change: 0 additions & 1 deletion src/test/ProtocolFeesImplementation.sol
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ import {PoolKey} from "../types/PoolKey.sol";
import {Currency} from "../types/Currency.sol";
import {PoolId} from "../types/PoolId.sol";
import {Pool} from "../libraries/Pool.sol";
import {Slot0} from "../types/Slot0.sol";

contract ProtocolFeesImplementation is ProtocolFees {
mapping(PoolId id => Pool.State) internal _pools;
Expand Down
1 change: 0 additions & 1 deletion src/test/ProxyPoolManager.sol
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ pragma solidity ^0.8.24;
import {Hooks} from "../libraries/Hooks.sol";
import {Pool} from "../libraries/Pool.sol";
import {SafeCast} from "../libraries/SafeCast.sol";
import {Position} from "../libraries/Position.sol";
import {LPFeeLibrary} from "../libraries/LPFeeLibrary.sol";
import {Currency} from "../types/Currency.sol";
import {PoolKey} from "../types/PoolKey.sol";
Expand Down
3 changes: 0 additions & 3 deletions src/types/PoolOperation.sol
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.24;

import {PoolKey} from "../types/PoolKey.sol";
import {BalanceDelta} from "../types/BalanceDelta.sol";

/// @notice Parameter struct for `ModifyLiquidity` pool operations
struct ModifyLiquidityParams {
// the lower and upper tick of the position
Expand Down
1 change: 0 additions & 1 deletion test/CustomAccounting.t.sol
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ import {DeltaReturningHook} from "../src/test/DeltaReturningHook.sol";
import {IHooks} from "../src/interfaces/IHooks.sol";
import {Hooks} from "../src/libraries/Hooks.sol";
import {PoolSwapTest} from "../src/test/PoolSwapTest.sol";
import {PoolId} from "../src/types/PoolId.sol";
import {SwapParams} from "../src/types/PoolOperation.sol";
import {IPoolManager} from "../src/interfaces/IPoolManager.sol";
import {Currency} from "../src/types/Currency.sol";
Expand Down
7 changes: 1 addition & 6 deletions test/DynamicFees.t.sol
Original file line number Diff line number Diff line change
Expand Up @@ -2,23 +2,18 @@
pragma solidity ^0.8.20;

import {Test} from "forge-std/Test.sol";
import {Vm} from "forge-std/Vm.sol";
import {PoolId} from "../src/types/PoolId.sol";
import {Hooks} from "../src/libraries/Hooks.sol";
import {LPFeeLibrary} from "../src/libraries/LPFeeLibrary.sol";
import {IPoolManager} from "../src/interfaces/IPoolManager.sol";
import {IProtocolFees} from "../src/interfaces/IProtocolFees.sol";
import {IHooks} from "../src/interfaces/IHooks.sol";
import {PoolKey} from "../src/types/PoolKey.sol";
import {SwapParams} from "../src/types/PoolOperation.sol";
import {PoolManager} from "../src/PoolManager.sol";
import {PoolSwapTest} from "../src/test/PoolSwapTest.sol";
import {Deployers} from "./utils/Deployers.sol";
import {DynamicFeesTestHook} from "../src/test/DynamicFeesTestHook.sol";
import {Currency} from "../src/types/Currency.sol";
import {MockERC20} from "solmate/src/test/utils/mocks/MockERC20.sol";
import {Pool} from "../src/libraries/Pool.sol";
import {BalanceDelta, BalanceDeltaLibrary} from "../src/types/BalanceDelta.sol";
import {BalanceDelta} from "../src/types/BalanceDelta.sol";
import {StateLibrary} from "../src/libraries/StateLibrary.sol";
import {CustomRevert} from "../src/libraries/CustomRevert.sol";
import {ProtocolFeeLibrary} from "../src/libraries/ProtocolFeeLibrary.sol";
Expand Down
5 changes: 0 additions & 5 deletions test/DynamicReturnFees.t.sol
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,15 @@
pragma solidity ^0.8.20;

import {Test} from "forge-std/Test.sol";
import {Vm} from "forge-std/Vm.sol";
import {PoolId} from "../src/types/PoolId.sol";
import {Hooks} from "../src/libraries/Hooks.sol";
import {LPFeeLibrary} from "../src/libraries/LPFeeLibrary.sol";
import {IPoolManager} from "../src/interfaces/IPoolManager.sol";
import {IProtocolFees} from "../src/interfaces/IProtocolFees.sol";
import {IHooks} from "../src/interfaces/IHooks.sol";
import {PoolKey} from "../src/types/PoolKey.sol";
import {PoolManager} from "../src/PoolManager.sol";
import {PoolSwapTest} from "../src/test/PoolSwapTest.sol";
import {Deployers} from "./utils/Deployers.sol";
import {DynamicReturnFeeTestHook} from "../src/test/DynamicReturnFeeTestHook.sol";
import {Currency} from "../src/types/Currency.sol";
import {MockERC20} from "solmate/src/test/utils/mocks/MockERC20.sol";
import {FullMath} from "../src/libraries/FullMath.sol";
import {BalanceDelta} from "../src/types/BalanceDelta.sol";
import {StateLibrary} from "../src/libraries/StateLibrary.sol";
Expand Down
1 change: 0 additions & 1 deletion test/ERC6909Claims.t.sol
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
pragma solidity ^0.8.15;

import {Test} from "forge-std/Test.sol";
import {Currency} from "../src/types/Currency.sol";
import {MockERC6909Claims} from "../src/test/MockERC6909Claims.sol";

contract ERC6909ClaimsTest is Test {
Expand Down
2 changes: 0 additions & 2 deletions test/ModifyLiquidity.t.sol
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ import {PoolKey} from "src/types/PoolKey.sol";
import {ModifyLiquidityParams} from "src/types/PoolOperation.sol";
import {IPoolManager} from "src/interfaces/IPoolManager.sol";
import {IHooks} from "src/interfaces/IHooks.sol";
import {Position} from "src/libraries/Position.sol";
import {PoolId} from "src/types/PoolId.sol";
import {PoolModifyLiquidityTest} from "../src/test/PoolModifyLiquidityTest.sol";
import {Constants} from "./utils/Constants.sol";
Expand All @@ -18,7 +17,6 @@ import {JavascriptFfi} from "./utils/JavascriptFfi.sol";
import {BalanceDelta} from "../src/types/BalanceDelta.sol";
import {Fuzzers} from "../src/test/Fuzzers.sol";
import {TickMath} from "src/libraries/TickMath.sol";
import {toBalanceDelta} from "src/types/BalanceDelta.sol";
import {Logger} from "./utils/Logger.sol";

contract ModifyLiquidityTest is Test, Logger, Deployers, JavascriptFfi, Fuzzers {
Expand Down
2 changes: 0 additions & 2 deletions test/PoolManager.clear.t.sol
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@ import {IPoolManager} from "../src/interfaces/IPoolManager.sol";
import {Deployers} from "./utils/Deployers.sol";
import {Actions} from "../src/test/ActionsRouter.sol";
import {IHooks} from "../src/interfaces/IHooks.sol";
import {MockERC20} from "forge-std/mocks/MockERC20.sol";
import {Currency} from "../src/types/Currency.sol";

contract ClearTest is Test, Deployers {
function setUp() public {
Expand Down
6 changes: 1 addition & 5 deletions test/PoolManager.swap.t.sol
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,11 @@ import {Deployers} from "./utils/Deployers.sol";
import {Currency} from "../src/types/Currency.sol";
import {Fuzzers} from "../src/test/Fuzzers.sol";
import {IHooks} from "../src/interfaces/IHooks.sol";
import {IPoolManager} from "../src/interfaces/IPoolManager.sol";
import {BalanceDelta, BalanceDeltaLibrary, toBalanceDelta} from "../src/types/BalanceDelta.sol";
import {BalanceDelta, toBalanceDelta} from "../src/types/BalanceDelta.sol";
import {PoolSwapTest} from "../src/test/PoolSwapTest.sol";
import {PoolKey} from "../src/types/PoolKey.sol";
import {ModifyLiquidityParams, SwapParams} from "../src/types/PoolOperation.sol";
import {SqrtPriceMath} from "../src/libraries/SqrtPriceMath.sol";
import {TickMath} from "../src/libraries/TickMath.sol";
import {SafeCast} from "../src/libraries/SafeCast.sol";
import {LiquidityAmounts} from "./utils/LiquidityAmounts.sol";

abstract contract V3Fuzzer is V3Helper, Deployers, Fuzzers, IUniswapV3MintCallback, IUniswapV3SwapCallback {
function setUp() public virtual override {
Expand Down
5 changes: 0 additions & 5 deletions test/PoolManager.t.sol
Original file line number Diff line number Diff line change
Expand Up @@ -13,21 +13,16 @@ import {Deployers} from "./utils/Deployers.sol";
import {Currency, CurrencyLibrary} from "../src/types/Currency.sol";
import {MockHooks} from "../src/test/MockHooks.sol";
import {MockContract} from "../src/test/MockContract.sol";
import {EmptyTestHooks} from "../src/test/EmptyTestHooks.sol";
import {PoolKey} from "../src/types/PoolKey.sol";
import {ModifyLiquidityParams, SwapParams} from "../src/types/PoolOperation.sol";
import {PoolModifyLiquidityTest} from "../src/test/PoolModifyLiquidityTest.sol";
import {BalanceDelta, BalanceDeltaLibrary} from "../src/types/BalanceDelta.sol";
import {PoolSwapTest} from "../src/test/PoolSwapTest.sol";
import {TestInvalidERC20} from "../src/test/TestInvalidERC20.sol";
import {PoolEmptyUnlockTest} from "../src/test/PoolEmptyUnlockTest.sol";
import {Action} from "../src/test/PoolNestedActionsTest.sol";
import {PoolId} from "../src/types/PoolId.sol";
import {LPFeeLibrary} from "../src/libraries/LPFeeLibrary.sol";
import {Position} from "../src/libraries/Position.sol";
import {Constants} from "./utils/Constants.sol";
import {SafeCast} from "../src/libraries/SafeCast.sol";
import {AmountHelpers} from "./utils/AmountHelpers.sol";
import {ProtocolFeeLibrary} from "../src/libraries/ProtocolFeeLibrary.sol";
import {IProtocolFees} from "../src/interfaces/IProtocolFees.sol";
import {StateLibrary} from "../src/libraries/StateLibrary.sol";
Expand Down
3 changes: 0 additions & 3 deletions test/PoolManagerInitialize.t.sol
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,13 @@ import {Test} from "forge-std/Test.sol";
import {IHooks} from "../src/interfaces/IHooks.sol";
import {Hooks} from "../src/libraries/Hooks.sol";
import {IPoolManager} from "../src/interfaces/IPoolManager.sol";
import {IProtocolFees} from "../src/interfaces/IProtocolFees.sol";
import {PoolManager} from "../src/PoolManager.sol";
import {TickMath} from "../src/libraries/TickMath.sol";
import {Pool} from "../src/libraries/Pool.sol";
import {Deployers} from "./utils/Deployers.sol";
import {Constants} from "./utils/Constants.sol";
import {Currency, CurrencyLibrary} from "../src/types/Currency.sol";
import {MockHooks} from "../src/test/MockHooks.sol";
import {MockContract} from "../src/test/MockContract.sol";
import {EmptyTestHooks} from "../src/test/EmptyTestHooks.sol";
import {PoolKey} from "../src/types/PoolKey.sol";
import {PoolId} from "../src/types/PoolId.sol";
import {LPFeeLibrary} from "../src/libraries/LPFeeLibrary.sol";
Expand Down
Loading