diff --git a/STATE.md b/STATE.md index 37a1db7..238b5a9 100644 --- a/STATE.md +++ b/STATE.md @@ -47,3 +47,4 @@ - [2026-03-15] red-team.sh and export-attacks.py use Base Sepolia addresses labeled as mainnet (#794): replace Sepolia SWAP_ROUTER and V3_FACTORY with correct Base mainnet addresses; add Basescan source-link comments - [2026-03-15] evo_run007_champion.push3 always returns fixed params regardless of staking (#791) - [2026-03-15] evo_run007_champion.push3 note has same CI/DD inversion (#790) +- [2026-03-15] ThreePositionStrategy class comment still advertises 1-100% anchor width (#786) 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 049d69b..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 (1-100% width) + * - 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);