From e09a99573302fbdb2dd09e3b8abcc156ff4bcd53 Mon Sep 17 00:00:00 2001 From: openhands Date: Fri, 6 Mar 2026 00:32:18 +0000 Subject: [PATCH] fix: KRK fees to feeDestination undocumented (#458) --- docs/ARCHITECTURE.md | 3 ++- docs/PRODUCT-TRUTH.md | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/ARCHITECTURE.md b/docs/ARCHITECTURE.md index 8e216b5..dd4b178 100644 --- a/docs/ARCHITECTURE.md +++ b/docs/ARCHITECTURE.md @@ -33,8 +33,9 @@ Optimizer.sol (UUPS Upgradeable Proxy) - **LiquidityManager → Kraiken**: exclusive minting/burning rights - **Optimizer → Stake**: reads sentiment data (% staked, avg tax rate) - **Optimizer upgrades**: UUPS proxy, admin-only `_authorizeUpgrade()` -- **feeDestination receives both WETH and KRK fees**: during `recenter()`, Uniswap V3 fee collection produces both tokens. WETH fees AND KRK fees are forwarded to `feeDestination` (see `LiquidityManager._collectFees()`). +- **feeDestination receives both WETH and KRK fees**: during `recenter()`, Uniswap V3 fee collection produces both tokens. WETH fees AND KRK fees are forwarded to `feeDestination` (see `LiquidityManager._scrapePositions()`). - **feeDestination KRK excluded from outstanding supply**: `_getOutstandingSupply()` subtracts `kraiken.balanceOf(feeDestination)` before computing scarcity, because protocol-held KRK cannot be sold into the floor and should not inflate the supply count. +- **Staking pool KRK excluded from outstanding supply**: `_getOutstandingSupply()` also subtracts `kraiken.balanceOf(stakingPoolAddr)`, because staked KRK is locked and similarly cannot be sold into the floor. ## Three-Position Strategy diff --git a/docs/PRODUCT-TRUTH.md b/docs/PRODUCT-TRUTH.md index cacfe19..8476991 100644 --- a/docs/PRODUCT-TRUTH.md +++ b/docs/PRODUCT-TRUTH.md @@ -61,6 +61,7 @@ when the protocol changes — not the marketing copy. - Fee revenue is the protocol's business model - **Both WETH and KRK fees** from Uniswap V3 positions are forwarded to `feeDestination` — not just ETH/WETH - KRK held at `feeDestination` is excluded from the outstanding supply calculation, because protocol-held KRK cannot be sold into the floor and should not inflate the scarcity metric +- KRK held in the staking pool is also excluded from the outstanding supply calculation for the same reason — staked KRK is locked and cannot be sold into the floor ❌ **Cannot say:** - "Fees grow your KRK value" — **FALSE.** Fees go to treasury, not back to holders.