From 1dad2fb12a26c9b67eeeeec8127b79188267b320 Mon Sep 17 00:00:00 2001 From: johba Date: Fri, 25 Jul 2025 19:09:11 +0200 Subject: [PATCH] renaming --- onchain/test/LiquidityManager.t.sol | 88 +++++++++---------- onchain/test/Stake.t.sol | 2 +- .../abstracts/ThreePositionStrategy.t.sol | 2 +- onchain/test/helpers/TestBase.sol | 14 +-- onchain/test/helpers/UniswapTestBase.sol | 6 +- 5 files changed, 56 insertions(+), 56 deletions(-) diff --git a/onchain/test/LiquidityManager.t.sol b/onchain/test/LiquidityManager.t.sol index bd6727c..05229a7 100644 --- a/onchain/test/LiquidityManager.t.sol +++ b/onchain/test/LiquidityManager.t.sol @@ -24,8 +24,8 @@ import {Stake, ExceededAvailableStake} from "../src/Stake.sol"; import {LiquidityManager} from "../src/LiquidityManager.sol"; import {ThreePositionStrategy} from "../src/abstracts/ThreePositionStrategy.sol"; import "../src/helpers/UniswapHelpers.sol"; -import {UniswapTestBase} from "./helpers/UniswapTestBase.sol"; -import {LiquidityManagerSetupHelper} from "./helpers/TestBase.sol"; +import {UniSwapHelper} from "./helpers/UniswapTestBase.sol"; +import {TestEnvironment} from "./helpers/TestBase.sol"; import "../src/Optimizer.sol"; import "../test/mocks/MockOptimizer.sol"; @@ -63,7 +63,7 @@ contract Dummy { // This contract can be empty as it is only used to affect the nonce } -contract LiquidityManagerTest is UniswapTestBase { +contract LiquidityManagerTest is UniSwapHelper { // Constant address for recenter operations address constant RECENTER_CALLER = address(0x7777); // Setup configuration @@ -81,8 +81,8 @@ contract LiquidityManagerTest is UniswapTestBase { Optimizer optimizer; address feeDestination = makeAddr("fees"); - // Setup helper instance - LiquidityManagerSetupHelper setupHelper; + // Test environment instance + TestEnvironment testEnv; struct Response { uint256 ethFloor; @@ -99,24 +99,24 @@ contract LiquidityManagerTest is UniswapTestBase { int24 discoveryTickUpper; } - /// @notice Utility to deploy dummy contracts for address manipulation + /// @notice Manipulate nonce by deploying dummy contracts /// @param count Number of dummy contracts to deploy - /// @dev Used to manipulate contract deployment addresses for token ordering - function deployDummies(uint256 count) internal { + /// @dev Used to control contract deployment addresses for token ordering + function manipulateNonce(uint256 count) internal { for (uint256 i = 0; i < count; i++) { new Dummy(); // Just increment the nonce } } - /// @notice Main setup function with custom token order + /// @notice Deploy protocol with specific token ordering /// @param token0shouldBeWeth Whether token0 should be WETH (affects pool pair ordering) - function setUpCustomToken0(bool token0shouldBeWeth) public { - // Create setup helper if not already created - if (address(setupHelper) == address(0)) { - setupHelper = new LiquidityManagerSetupHelper(feeDestination); + function deployProtocolWithTokenOrder(bool token0shouldBeWeth) public { + // Create test environment if not already created + if (address(testEnv) == address(0)) { + testEnv = new TestEnvironment(feeDestination); } - // Use helper to set up environment + // Use test environment to set up protocol ( IUniswapV3Factory _factory, IUniswapV3Pool _pool, @@ -126,7 +126,7 @@ contract LiquidityManagerTest is UniswapTestBase { LiquidityManager _lm, Optimizer _optimizer, bool _token0isWeth - ) = setupHelper.setupEnvironment(token0shouldBeWeth, RECENTER_CALLER); + ) = testEnv.setupEnvironment(token0shouldBeWeth, RECENTER_CALLER); // Assign to state variables factory = _factory; @@ -139,12 +139,12 @@ contract LiquidityManagerTest is UniswapTestBase { token0isWeth = _token0isWeth; } - /// @notice Intelligent recenter function that handles extreme price conditions + /// @notice Recenter with intelligent error handling for extreme price conditions /// @param last Whether this is the last attempt (affects error handling) - function recenter(bool last) internal { + function recenterWithErrorHandling(bool last) internal { _updateOracleTime(); - _handleExtremePrice(); - _attemptRecenter(last); + normalizeExtremePrice(); + executeRecenter(last); } /// @notice Updates oracle time to ensure accurate price data @@ -153,15 +153,15 @@ contract LiquidityManagerTest is UniswapTestBase { vm.warp(timeBefore + ORACLE_UPDATE_INTERVAL); } - /// @notice Handles extreme price conditions with normalizing swaps - function _handleExtremePrice() internal { - // Use the unified extreme price handling from UniswapTestBase + /// @notice Normalize extreme price conditions with corrective swaps + function normalizeExtremePrice() internal { + // Use the unified extreme price handling from UniSwapHelper handleExtremePrice(); } - /// @notice Attempts the recenter operation with proper error handling + /// @notice Execute recenter operation with authorization /// @param last Whether this is the last attempt (affects error handling) - function _attemptRecenter(bool last) internal { + function executeRecenter(bool last) internal { vm.prank(RECENTER_CALLER); try lm.recenter() returns (bool isUp) { _validateRecenterResult(isUp); @@ -174,7 +174,7 @@ contract LiquidityManagerTest is UniswapTestBase { /// @notice Validates recenter operation results /// @param isUp Whether the recenter moved positions up or down function _validateRecenterResult(bool isUp) internal view { - Response memory liquidityResponse = checkLiquidity(isUp ? "shift" : "slide"); + Response memory liquidityResponse = inspectPositions(isUp ? "shift" : "slide"); // Debug logging console.log("=== POSITION ANALYSIS ==="); @@ -297,7 +297,7 @@ contract LiquidityManagerTest is UniswapTestBase { /// @notice Checks and validates current liquidity positions across all stages /// @return liquidityResponse Structure containing ETH and HARB amounts for each position /// @dev Aggregates position data from FLOOR, ANCHOR, and DISCOVERY stages - function checkLiquidity(string memory /* eventName */ ) internal view returns (Response memory) { + function inspectPositions(string memory /* eventName */ ) internal view returns (Response memory) { Response memory liquidityResponse; int24 currentTick; @@ -339,7 +339,7 @@ contract LiquidityManagerTest is UniswapTestBase { uint256 limit = buyLimitToLiquidityBoundary(); uint256 cappedAmount = (limit > 0 && amountEth > limit) ? limit : amountEth; buyRaw(cappedAmount); - checkLiquidity("buy"); + inspectPositions("buy"); } /// @notice Executes a sell operation (HARB -> ETH) with liquidity boundary checking @@ -349,7 +349,7 @@ contract LiquidityManagerTest is UniswapTestBase { uint256 limit = sellLimitToLiquidityBoundary(); uint256 cappedAmount = (limit > 0 && amountHarb > limit) ? limit : amountHarb; sellRaw(cappedAmount); - checkLiquidity("sell"); + inspectPositions("sell"); } /// @notice Allows contract to receive ETH directly @@ -371,12 +371,12 @@ contract LiquidityManagerTest is UniswapTestBase { function setUp() public { if (!_skipAutoSetup) { - _commonSetup(DEFAULT_TOKEN0_IS_WETH, DEFAULT_ACCOUNT_BALANCE); + deployAndFundProtocol(DEFAULT_TOKEN0_IS_WETH, DEFAULT_ACCOUNT_BALANCE); } } - /// @notice Call this in tests that need custom setup to skip automatic setUp - function _skipSetup() internal { + /// @notice Disable automatic setUp for tests that need custom initialization + function disableAutoSetup() internal { _skipAutoSetup = true; } @@ -388,15 +388,15 @@ contract LiquidityManagerTest is UniswapTestBase { /// @notice Setup with custom parameters but standard flow function _setupCustom(bool token0IsWeth, uint256 accountBalance) internal { - _skipSetup(); - _commonSetup(token0IsWeth, accountBalance); + disableAutoSetup(); + deployAndFundProtocol(token0IsWeth, accountBalance); } - /// @notice Common setup for most tests + /// @notice Deploy and fund protocol for testing /// @param token0IsWeth Whether token0 should be WETH /// @param accountBalance How much ETH to give to account - function _commonSetup(bool token0IsWeth, uint256 accountBalance) internal { - setUpCustomToken0(token0IsWeth); + function deployAndFundProtocol(bool token0IsWeth, uint256 accountBalance) internal { + deployProtocolWithTokenOrder(token0IsWeth); // Fund account and convert to WETH vm.deal(account, accountBalance); @@ -404,7 +404,7 @@ contract LiquidityManagerTest is UniswapTestBase { weth.deposit{value: accountBalance}(); // Setup initial liquidity - recenter(false); + recenterWithErrorHandling(false); } // ======================================== @@ -416,10 +416,10 @@ contract LiquidityManagerTest is UniswapTestBase { /// without system failure. Tests system stability at tick boundaries. function testTickBoundaryReaching() public { // Skip automatic setup to reduce blocking liquidity - _skipSetup(); + disableAutoSetup(); // Custom minimal setup - setUpCustomToken0(DEFAULT_TOKEN0_IS_WETH); + deployProtocolWithTokenOrder(DEFAULT_TOKEN0_IS_WETH); vm.deal(account, 15000 ether); vm.prank(account); weth.deposit{value: 15000 ether}(); @@ -715,7 +715,7 @@ contract LiquidityManagerTest is UniswapTestBase { // Test the intelligent recenter with diagnostics console.log("\n=== PHASE 2: Test intelligent recenter ==="); - recenter(false); + recenterWithErrorHandling(false); // Check final state (, int24 finalTick,,,,,) = pool.slot0(); @@ -815,7 +815,7 @@ contract LiquidityManagerTest is UniswapTestBase { // Periodic recentering based on frequency if (recenterFrequencyCounter >= frequency) { - recenter(false); + recenterWithErrorHandling(false); recenterFrequencyCounter = 0; } else { recenterFrequencyCounter++; @@ -827,7 +827,7 @@ contract LiquidityManagerTest is UniswapTestBase { if (finalHarbBal > 0) { sell(finalHarbBal); } - recenter(true); + recenterWithErrorHandling(true); } @@ -859,10 +859,10 @@ contract LiquidityManagerTest is UniswapTestBase { // Phase 2: Trigger recenter to rebalance liquidity positions console.log("\n=== PHASE 2: Recenter Operation ==="); - recenter(false); + recenterWithErrorHandling(false); // Record liquidity distribution after recenter - Response memory liquidity = checkLiquidity("after-recenter"); + Response memory liquidity = inspectPositions("after-recenter"); console.log("Post-recenter - Floor ETH:", liquidity.ethFloor / 1e18); console.log("Post-recenter - Anchor ETH:", liquidity.ethAnchor / 1e18); console.log("Post-recenter - Discovery ETH:", liquidity.ethDiscovery / 1e18); diff --git a/onchain/test/Stake.t.sol b/onchain/test/Stake.t.sol index 2c42af2..d63d15d 100644 --- a/onchain/test/Stake.t.sol +++ b/onchain/test/Stake.t.sol @@ -7,7 +7,7 @@ import "../src/Kraiken.sol"; import {TooMuchSnatch, Stake} from "../src/Stake.sol"; import "./helpers/TestBase.sol"; -contract StakeTest is TestUtilities { +contract StakeTest is TestConstants { Kraiken kraiken; Stake stakingPool; address liquidityPool; diff --git a/onchain/test/abstracts/ThreePositionStrategy.t.sol b/onchain/test/abstracts/ThreePositionStrategy.t.sol index df74199..db4b08c 100644 --- a/onchain/test/abstracts/ThreePositionStrategy.t.sol +++ b/onchain/test/abstracts/ThreePositionStrategy.t.sol @@ -132,7 +132,7 @@ contract MockThreePositionStrategy is ThreePositionStrategy { } } -contract ThreePositionStrategyTest is TestUtilities { +contract ThreePositionStrategyTest is TestConstants { MockThreePositionStrategy strategy; address constant HARB_TOKEN = address(0x1234); diff --git a/onchain/test/helpers/TestBase.sol b/onchain/test/helpers/TestBase.sol index f6c0775..73eb2fc 100644 --- a/onchain/test/helpers/TestBase.sol +++ b/onchain/test/helpers/TestBase.sol @@ -21,11 +21,11 @@ uint256 constant INITIAL_LM_ETH_BALANCE = 50 ether; uint256 constant ORACLE_UPDATE_INTERVAL = 5 hours; /** - * @title TestBase - * @notice Base contract providing shared utilities, default parameters, and setup functions for tests and scripts - * @dev Consolidates common test functionality to reduce code duplication + * @title TestConstants + * @notice Base contract providing shared constants and default parameters for tests + * @dev Consolidates common test constants to reduce code duplication */ -abstract contract TestUtilities is Test { +abstract contract TestConstants is Test { /** * @notice Returns default parameters for ThreePositionStrategy testing * @return Default PositionParams structure with standard values @@ -60,11 +60,11 @@ abstract contract TestUtilities is Test { } /** - * @title LiquidityManagerSetupHelper - * @notice Helper contract that provides common setup functionality for LiquidityManager tests and scripts + * @title TestEnvironment + * @notice Helper contract that provides test environment setup for LiquidityManager tests and scripts * @dev Extracted from LiquidityManager.t.sol to enable reuse without inheritance */ -contract LiquidityManagerSetupHelper is TestUtilities { +contract TestEnvironment is TestConstants { using UniswapHelpers for IUniswapV3Pool; // Core contracts diff --git a/onchain/test/helpers/UniswapTestBase.sol b/onchain/test/helpers/UniswapTestBase.sol index 8c12e58..7fcef6e 100644 --- a/onchain/test/helpers/UniswapTestBase.sol +++ b/onchain/test/helpers/UniswapTestBase.sol @@ -11,10 +11,10 @@ import {Kraiken} from "../../src/Kraiken.sol"; import {ThreePositionStrategy} from "../../src/abstracts/ThreePositionStrategy.sol"; /** - * @title UniswapTestBase - * @dev Base contract for Uniswap V3 testing, providing reusable swap logic. + * @title UniSwapHelper + * @dev Helper contract for Uniswap V3 testing, providing reusable swap logic. */ -abstract contract UniswapTestBase is Test { +abstract contract UniSwapHelper is Test { address account = makeAddr("alice"); IUniswapV3Pool public pool; IWETH9 public weth;