diff --git a/onchain/src/OptimizerV3Push3.sol b/onchain/src/OptimizerV3Push3.sol index 83d70ab..dd0060e 100644 --- a/onchain/src/OptimizerV3Push3.sol +++ b/onchain/src/OptimizerV3Push3.sol @@ -11,9 +11,18 @@ import {OptimizerInput} from "./IOptimizer.sol"; contract OptimizerV3Push3 { /** * @notice Compute liquidity parameters from 8 dyadic rational inputs. + * @dev capitalInefficiency (ci) is intentionally hardcoded to 0 in both the bear + * and bull branches of this implementation. CI is a pure risk lever that + * controls the VWAP bias applied when placing the floor position: CI=0 means + * the floor tracks the raw VWAP with no upward adjustment, which is the + * safest setting and carries zero effect on fee revenue. Any integrating + * proxy (e.g. ThreePositionStrategy) must therefore treat the floor scarcity + * and VWAP adjustment as if no capital-inefficiency premium is active. + * Future optimizer versions that expose non-zero CI values should document + * the resulting floor-placement and eth-scarcity effects explicitly. * @param inputs 8-slot dyadic rational array: slot 0 = percentageStaked (top of Push3 stack), * slot 1 = averageTaxRate, slots 2-7 = extended metrics (0 if unavailable). - * @return ci Capital inefficiency (0..1e18). + * @return ci Capital inefficiency (0..1e18). Always 0 in this implementation. * @return anchorShare Fraction of non-floor ETH in anchor (0..1e18). * @return anchorWidth Anchor position width in tick units. * @return discoveryDepth Discovery liquidity density (0..1e18).