fix: CodeDocs.vue shows stale recenter() with recenterAccess guard (#837)

Remove the obsolete recenterAccess pattern from the liquidityManagerSol
snippet: drop the recenterAccess state variable, setRecenterAccess(),
revokeRecenterAccess(), and onlyFeeDestination modifier. Update recenter()
to reflect the current cooldown-only access model, fix the VWAP direction
logic, and update the _scrapePositions() call signature to match
LiquidityManager.sol.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
openhands 2026-03-16 16:29:48 +00:00
parent 367dae31b8
commit 076b25f4dd

View file

@ -263,7 +263,6 @@ contract LiquidityManager is ThreePositionStrategy, PriceOracle {
PoolKey private poolKey;
address private immutable deployer;
address public recenterAccess;
address public feeDestination;
int24 public lastRecenterTick;
@ -275,11 +274,6 @@ contract LiquidityManager is ThreePositionStrategy, PriceOracle {
error ZeroAddressInSetter();
error AddressAlreadySet();
modifier onlyFeeDestination() {
require(msg.sender == address(feeDestination), "only callable by feeDestination");
_;
}
constructor(address _factory, address _WETH9, address _kraiken, address _optimizer) {
deployer = msg.sender;
factory = _factory;
@ -313,22 +307,12 @@ contract LiquidityManager is ThreePositionStrategy, PriceOracle {
feeDestination = feeDestination_;
}
function setRecenterAccess(address addr) external onlyFeeDestination {
recenterAccess = addr;
}
function revokeRecenterAccess() external onlyFeeDestination {
recenterAccess = address(0);
}
function recenter() external returns (bool isUp) {
(, int24 currentTick,,,,,) = pool.slot0();
if (recenterAccess != address(0)) {
require(msg.sender == recenterAccess, "access denied");
} else {
// Always enforce cooldown and TWAP price stability no bypass path
require(block.timestamp >= lastRecenterTime + MIN_RECENTER_INTERVAL, "recenter cooldown");
require(_isPriceStable(currentTick), "price deviated from oracle");
}
lastRecenterTime = block.timestamp;
isUp = false;
@ -344,14 +328,12 @@ contract LiquidityManager is ThreePositionStrategy, PriceOracle {
bool shouldRecordVWAP;
if (cumulativeVolume == 0) {
shouldRecordVWAP = true;
} else if (lastRecenterTick != 0) {
shouldRecordVWAP = token0isWeth ? (currentTick < lastRecenterTick) : (currentTick > lastRecenterTick);
} else {
shouldRecordVWAP = true;
shouldRecordVWAP = token0isWeth ? (currentTick > lastRecenterTick) : (currentTick < lastRecenterTick);
}
lastRecenterTick = currentTick;
_scrapePositions(shouldRecordVWAP);
_scrapePositions(shouldRecordVWAP, currentTick);
if (isUp) {
kraiken.setPreviousTotalSupply(kraiken.totalSupply());