harb/onchain/test
openhands c05b20d640 fix: fix: Bootstrap VWAP with seed trade during deployment (#567) (#567)
Deploy scripts (DeployLocal.sol and DeployBase.sol) now execute a
seed buy + double-recenter sequence before handing control to users:

1. Temporarily grant deployer recenterAccess (via self as feeDestination)
2. Fund LM with a small amount and call recenter() -> places thin positions
3. SeedSwapper executes a small buy, generating a non-zero WETH fee
4. Second recenter() hits the cumulativeVolume==0 bootstrap path with
   ethFee>0 -> _recordVolumeAndPrice fires -> cumulativeVolume>0
5. Revoke recenterAccess and restore the real feeDestination

After deployment, cumulativeVolume>0, so the bootstrap path is
unreachable by external users and cannot be front-run by an attacker
inflating the initial VWAP anchor with a whale buy.

Also adds:
- tools/deploy-optimizer.sh: verification step checks cumulativeVolume>0
  after a fresh local deployment
- test_vwapBootstrappedBySeedTrade() in VWAPFloorProtection.t.sol:
  confirms the deploy sequence (recenter + buy + recenter) leaves
  cumulativeVolume>0 and getVWAP()>0

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-12 21:15:35 +00:00
..
abstracts feat: OptimizerV3 with direct 2D staking-to-LP parameter mapping 2026-02-13 18:21:18 +00:00
helpers fix: LM: accrue fees as liquidity when feeDestination is self (#533) 2026-03-10 10:11:41 +00:00
libraries Add Solidity linting with solhint, Foundry formatter, and pre-commit hooks (#51) 2025-10-04 15:17:09 +02:00
mocks feat: protocol stats display + parameter sweep fuzzing infrastructure (#106) 2026-02-13 18:09:11 +00:00
EthScarcityAbundance.t.sol fix: resolve stack-too-deep in EthScarcityAbundance test 2026-02-23 17:10:01 +00:00
FitnessEvaluator.t.sol fix: revm evaluator — UUPS bypass, deployedBytecode, graceful attack ops 2026-03-12 19:54:58 +00:00
FuzzingAnalyzerBugs.t.sol feat: OptimizerV3 with direct 2D staking-to-LP parameter mapping 2026-02-13 18:21:18 +00:00
Kraiken.t.sol fix: Test coverage: Kraiken + VWAPTracker to 100% (#283) 2026-02-26 05:12:48 +00:00
LiquidityManager.t.sol fix: Dead code branch: lastRecenterTick==0 with cumulativeVolume>0 (#568) 2026-03-12 19:21:11 +00:00
Optimizer.t.sol fix: Optimizer.sol also silently accepts negative mantissa inputs (#582) 2026-03-12 15:41:39 +00:00
OptimizerV3Push3.t.sol fix: PR #551 review findings - OptimizerV3Push3.sol + Optimizer.sol 2026-03-10 23:13:57 +00:00
ReplayProfitableScenario.t.sol feat: protocol stats display + parameter sweep fuzzing infrastructure (#106) 2026-02-13 18:09:11 +00:00
Stake.t.sol fix: Test coverage: Stake.sol to 100% (#284) 2026-02-26 03:59:20 +00:00
SupplyCorruption.t.sol fix(onchain): resolve KRK token supply corruption during recenter (#98) 2026-02-04 16:20:57 +00:00
VWAPFloorProtection.t.sol fix: fix: Bootstrap VWAP with seed trade during deployment (#567) (#567) 2026-03-12 21:15:35 +00:00
VWAPTracker.t.sol fix: Backtesting #5: Position tracking + P&L metrics (#319) 2026-02-27 11:23:18 +00:00