harb/onchain/script
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
..
backtesting fix: correct isUp NatSpec and bootstrap log direction (#570) 2026-03-12 19:12:46 +00:00
BaseDeploy.sol Complete project rename from HARB/Harberg to KRAIKEN with KRK token symbol 2025-07-11 13:47:42 +02:00
DeployBase.sol fix: fix: Bootstrap VWAP with seed trade during deployment (#567) (#567) 2026-03-12 21:15:35 +00:00
DeployBaseMainnet.sol fix: Use Optimizer (base) in deploy scripts — Push3 lacks initialize/getLiquidityParams 2026-02-26 19:37:12 +00:00
DeployBaseSepolia.sol Add Solidity linting with solhint, Foundry formatter, and pre-commit hooks (#51) 2025-10-04 15:17:09 +02:00
DeployLocal.sol fix: fix: Bootstrap VWAP with seed trade during deployment (#567) (#567) 2026-03-12 21:15:35 +00:00
LmTotalEth.s.sol Fix PR #540 review findings 2026-03-11 06:28:02 +00:00
UpgradeOptimizer.sol fix: Use Optimizer (base) in deploy scripts — Push3 lacks initialize/getLiquidityParams 2026-02-26 19:37:12 +00:00