harb/onchain/script/backtesting
openhands d6ca28ae32 fix: AttackRunner round-3 review findings
- **Bug**: Fix JSON malformation in _snapshotPositions — closing literal was '"}}}' (three
  braces) but only '"}}'  is needed (close discovery{} + positions{}). The third brace
  prematurely closed the root object, making every snapshot unparseable downstream.

- **Nit**: _executeStake local variable renamed taxRateIndex → taxRate to match the
  IStake interface and Stake.sol. JSONL field key '.taxRateIndex' is kept for backward
  compatibility with existing attack files; the comment and NatDoc header now say so.

- **Nit**: recenter_is_up now emits JSON null (not false) before the first recenter call,
  via a new _hasRecentered flag. Downstream parsers can distinguish "no recenter yet"
  from "last recenter moved price down" (false). _hasRecentered is set to true alongside
  _lastRecenterIsUp in the recenter handler.

- **Nit**: Added a comment to _logSnapshot explaining that pool.slot0() is a view call
  and forge-std finalises broadcast state before executing it, so tick/sqrtPrice are
  always post-broadcast accurate.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-11 17:51:18 +00:00
..
attacks fix: Backtesting: replay red-team attack sequences against optimizer candidates (#536) 2026-03-11 02:08:06 +00:00
reports fix: Backtesting #6: Baseline strategies (HODL, full-range, fixed-width) + reporting (#320) 2026-02-27 13:08:53 +00:00
.gitignore fix: address review feedback on fetch-events.ts (#315) 2026-02-26 22:45:40 +00:00
AttackRunner.s.sol fix: AttackRunner round-3 review findings 2026-03-11 17:51:18 +00:00
BacktestKraiken.sol fix: Backtesting #4: Deploy KrAIken contracts + recenter execution loop (#318) 2026-02-27 09:00:22 +00:00
BacktestRunner.s.sol fix: address review feedback on BaselineStrategies and Reporter 2026-02-27 13:43:49 +00:00
BaselineStrategies.sol fix: address review feedback on BaselineStrategies and Reporter 2026-02-27 13:43:49 +00:00
EventReplayer.sol fix: No allowance set before \token0.transfer\ in swap callback (#339) 2026-02-28 12:14:20 +00:00
fetch-events.ts fix: address review feedback on fetch-events.ts (#315) 2026-02-26 22:45:40 +00:00
FormatLib.sol fix: address review feedback on PositionTracker and StrategyExecutor 2026-02-27 12:02:29 +00:00
KrAIkenDeployer.sol fix: Backtesting #5: Position tracking + P&L metrics (#319) 2026-02-27 11:23:18 +00:00
MockToken.sol fix: Backtesting #2: Foundry script skeleton + Uniswap V3 shadow pool deployment (#316) 2026-02-27 05:08:27 +00:00
package.json fix: Backtesting #1: Event fetcher (Infura → JSON Lines cache) (#315) 2026-02-26 22:04:43 +00:00
PositionTracker.sol fix: Backtesting #6: Baseline strategies (HODL, full-range, fixed-width) + reporting (#320) 2026-02-27 13:08:53 +00:00
Reporter.sol fix: address review feedback on BaselineStrategies and Reporter 2026-02-27 13:43:49 +00:00
ShadowPoolDeployer.sol fix: Backtesting #5: Position tracking + P&L metrics (#319) 2026-02-27 11:23:18 +00:00
StrategyExecutor.sol fix: address review feedback on PositionTracker and StrategyExecutor 2026-02-27 12:02:29 +00:00
tsconfig.json fix: Backtesting #1: Event fetcher (Infura → JSON Lines cache) (#315) 2026-02-26 22:04:43 +00:00