removeLiquidity burns the shares after _modifyLiquidity returns, so the supply outlives the reserves that back it.
BaseCustomCurve.unlockCallback burns the ERC-6909 claims, then pays the caller, which hands execution to the recipient of a native transfer or to the token contract otherwise. The claims are already post-withdrawal at that point and totalSupply is not, so any contract pricing the hook's shares reads reserves against a supply that no longer corresponds to them. The larger the withdrawal, the further the reported price falls below the true one.
removeLiquidityburns the shares after_modifyLiquidityreturns, so the supply outlives the reserves that back it.BaseCustomCurve.unlockCallbackburns the ERC-6909 claims, then pays the caller, which hands execution to the recipient of a native transfer or to the token contract otherwise. The claims are already post-withdrawal at that point andtotalSupplyis not, so any contract pricing the hook's shares reads reserves against a supply that no longer corresponds to them. The larger the withdrawal, the further the reported price falls below the true one.