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);