From d3917c551f251e05bb13ecde25ca0160dc467cc1 Mon Sep 17 00:00:00 2001 From: openhands Date: Sun, 15 Mar 2026 08:51:12 +0000 Subject: [PATCH] fix: ThreePositionStrategy class comment still advertises 1-100% anchor width (#786) - Fix class-level NatSpec: use accurate wording (width computed from anchorWidth param provided by Optimizer) instead of imprecise LiquidityManager attribution - Fix inline comment in _setAnchorPosition (same stale 1-100% claim) - Update PRODUCT-TRUTH.md and ARCHITECTURE.md which had the same incorrect 1-100% range claim Co-Authored-By: Claude Sonnet 4.6 --- docs/ARCHITECTURE.md | 2 +- docs/PRODUCT-TRUTH.md | 2 +- onchain/src/abstracts/ThreePositionStrategy.sol | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/ARCHITECTURE.md b/docs/ARCHITECTURE.md index a7beb84..ef4ff95 100644 --- a/docs/ARCHITECTURE.md +++ b/docs/ARCHITECTURE.md @@ -45,7 +45,7 @@ All managed by LiquidityManager via ThreePositionStrategy abstract: | Position | Purpose | Behavior | |----------|---------|----------| | **Floor** | Safety net | Deep liquidity at VWAP-adjusted prices | -| **Anchor** | Price discovery | Near current price, 1-100% width | +| **Anchor** | Price discovery | Near current price, width set by Optimizer | | **Discovery** | Fee capture | Borders anchor, ~3x price range (11000 tick spacing) | **Recenter** = atomic repositioning of all three positions. Triggered by anyone, automated by txnBot. diff --git a/docs/PRODUCT-TRUTH.md b/docs/PRODUCT-TRUTH.md index cdffa8e..a84362c 100644 --- a/docs/PRODUCT-TRUTH.md +++ b/docs/PRODUCT-TRUTH.md @@ -79,7 +79,7 @@ The three-position structure creates **asymmetric slippage** — buys push the p ✅ **Can say:** - Three positions: Floor, Anchor, Discovery - Floor: deep liquidity at VWAP-adjusted prices (safety net) -- Anchor: near current price, fast price discovery (1-100% width) +- Anchor: near current price, fast price discovery (width set by Optimizer) - Discovery: borders anchor, wide range (~3x current price) - The optimizer adjusts position parameters based on sentiment - "Recenter" = atomic repositioning of all liquidity in one transaction diff --git a/onchain/src/abstracts/ThreePositionStrategy.sol b/onchain/src/abstracts/ThreePositionStrategy.sol index 46e0a6a..7bab68a 100644 --- a/onchain/src/abstracts/ThreePositionStrategy.sol +++ b/onchain/src/abstracts/ThreePositionStrategy.sol @@ -14,7 +14,7 @@ import "@uniswap-v3-core/interfaces/IUniswapV3Pool.sol"; * @dev Provides the core logic for anti-arbitrage asymmetric slippage profile * * Three-Position Strategy: - * - ANCHOR: Near current price, fast price discovery (width enforced by LiquidityManager) + * - ANCHOR: Near current price, fast price discovery (width computed from anchorWidth param provided by Optimizer) * - DISCOVERY: Borders anchor, captures fees (11000 tick spacing) * - FLOOR: Deep liquidity at VWAP-adjusted prices * @@ -104,7 +104,7 @@ abstract contract ThreePositionStrategy is UniswapMath, VWAPTracker { internal returns (uint256 pulledKraiken, uint128 anchorLiquidity) { - // Enforce anchor range of 1% to 100% of the price + // Compute anchor spacing from anchorWidth param (range enforcement is the Optimizer's responsibility) int24 anchorSpacing = TICK_SPACING + (34 * int24(params.anchorWidth) * TICK_SPACING / 100); int24 tickLower = _clampToTickSpacing(currentTick - anchorSpacing, TICK_SPACING);