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 <noreply@anthropic.com>
This commit is contained in:
parent
6dd246cb55
commit
d3917c551f
3 changed files with 4 additions and 4 deletions
|
|
@ -45,7 +45,7 @@ All managed by LiquidityManager via ThreePositionStrategy abstract:
|
||||||
| Position | Purpose | Behavior |
|
| Position | Purpose | Behavior |
|
||||||
|----------|---------|----------|
|
|----------|---------|----------|
|
||||||
| **Floor** | Safety net | Deep liquidity at VWAP-adjusted prices |
|
| **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) |
|
| **Discovery** | Fee capture | Borders anchor, ~3x price range (11000 tick spacing) |
|
||||||
|
|
||||||
**Recenter** = atomic repositioning of all three positions. Triggered by anyone, automated by txnBot.
|
**Recenter** = atomic repositioning of all three positions. Triggered by anyone, automated by txnBot.
|
||||||
|
|
|
||||||
|
|
@ -79,7 +79,7 @@ The three-position structure creates **asymmetric slippage** — buys push the p
|
||||||
✅ **Can say:**
|
✅ **Can say:**
|
||||||
- Three positions: Floor, Anchor, Discovery
|
- Three positions: Floor, Anchor, Discovery
|
||||||
- Floor: deep liquidity at VWAP-adjusted prices (safety net)
|
- 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)
|
- Discovery: borders anchor, wide range (~3x current price)
|
||||||
- The optimizer adjusts position parameters based on sentiment
|
- The optimizer adjusts position parameters based on sentiment
|
||||||
- "Recenter" = atomic repositioning of all liquidity in one transaction
|
- "Recenter" = atomic repositioning of all liquidity in one transaction
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@ import "@uniswap-v3-core/interfaces/IUniswapV3Pool.sol";
|
||||||
* @dev Provides the core logic for anti-arbitrage asymmetric slippage profile
|
* @dev Provides the core logic for anti-arbitrage asymmetric slippage profile
|
||||||
*
|
*
|
||||||
* Three-Position Strategy:
|
* 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)
|
* - DISCOVERY: Borders anchor, captures fees (11000 tick spacing)
|
||||||
* - FLOOR: Deep liquidity at VWAP-adjusted prices
|
* - FLOOR: Deep liquidity at VWAP-adjusted prices
|
||||||
*
|
*
|
||||||
|
|
@ -104,7 +104,7 @@ abstract contract ThreePositionStrategy is UniswapMath, VWAPTracker {
|
||||||
internal
|
internal
|
||||||
returns (uint256 pulledKraiken, uint128 anchorLiquidity)
|
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 anchorSpacing = TICK_SPACING + (34 * int24(params.anchorWidth) * TICK_SPACING / 100);
|
||||||
|
|
||||||
int24 tickLower = _clampToTickSpacing(currentTick - anchorSpacing, TICK_SPACING);
|
int24 tickLower = _clampToTickSpacing(currentTick - anchorSpacing, TICK_SPACING);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue