harb/onchain/analysis/CLAUDE.md
2025-08-17 15:09:41 +02:00

1.6 KiB

KRAIKEN LiquidityManager Fuzzing Analysis

Tools for testing KRAIKEN's three-position strategy resilience against various market conditions and trading patterns.

Quick Start

# Run with specific optimizer (50 runs default)
./analysis/run-fuzzing.sh BullMarketOptimizer

# Custom runs and trades
./analysis/run-fuzzing.sh WhaleOptimizer runs=100 trades=30

# Debug mode with position tracking CSV (forces runs=1)
./analysis/run-fuzzing.sh NeutralMarketOptimizer debugCSV

Available Optimizers

  • BullMarketOptimizer - Buying bias
  • NeutralMarketOptimizer - Balanced trading
  • BearMarketOptimizer - Selling bias
  • WhaleOptimizer - Large positions
  • RandomScenarioOptimizer - Random behavior

Output Structure

Each campaign creates fuzzing_results_[optimizer]_[timestamp]/:

  • config.txt - Campaign parameters
  • run_*.log - Individual run logs
  • merged_profitable_scenarios.csv - Profitable scenarios combined
  • summary.txt - Statistics and cumulative P&L
  • debug_positions_*.csv - Position data (debugCSV mode only)

Visualization

# Automatic launch with debugCSV
./analysis/run-fuzzing.sh [optimizer] debugCSV

# Manual server (port 8000)
./analysis/view-scenarios.sh

Advanced Usage

# Manual fuzzing with environment variables
FUZZING_RUNS=500 TRACK_POSITIONS=true forge script analysis/FuzzingAnalysis.s.sol --ffi --via-ir

Environment variables:

  • FUZZING_RUNS - Scenarios per market (default: 100)
  • TRACK_POSITIONS - Enable position CSV (default: false)
  • OPTIMIZER_CLASS - Optimizer to use
  • TRADES_PER_RUN - Trades per run (default: 20)