content: # OIF Solver Configuration - Generated File
  # Generated with placeholder values for easy regex replacement
  
  include = ["demo/networks.toml", "demo/api.toml", "demo/gas.toml"]
  
  [solver]
  id = "oif-solver-demo"
  min_profitability_pct = 1.0
  monitoring_timeout_seconds = 28800
  
  # ============================================================================
  # STORAGE
  # ============================================================================
  [storage]
  primary = "file"
  cleanup_interval_seconds = 60
  
  [storage.implementations.memory]
  # Memory storage has no configuration
  
  [storage.implementations.file]
  storage_path = "./data/storage"
  ttl_orders = 300                # 5 minutes
  ttl_intents = 120               # 2 minutes
  ttl_order_by_tx_hash = 300      # 5 minutes
  
  # ============================================================================
  # ACCOUNT
  # ============================================================================
  [account]
  primary = "local"
  
  [account.implementations.local]
  private_key = "0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80"
  
  # ============================================================================
  # DELIVERY
  # ============================================================================
  [delivery]
  min_confirmations = 1
  
  [delivery.implementations.evm_alloy]
  network_ids = [31337, 31338]
  
  # ============================================================================
  # DISCOVERY
  # ============================================================================
  [discovery]
  
  [discovery.implementations.onchain_eip7683]
  network_ids = [31337, 31338]
  polling_interval_secs = 0    # Use WebSocket subscriptions instead of polling
  
  [discovery.implementations.offchain_eip7683]
  api_host = "127.0.0.1"
  api_port = 8081
  network_ids = [31337]
  
  # ============================================================================
  # ORDER
  # ============================================================================
  [order]
  
  [order.implementations.eip7683]
  
  [order.strategy]
  primary = "simple"
  
  [order.strategy.implementations.simple]
  max_gas_price_gwei = 100
  
  # ============================================================================
  # PRICING
  # ============================================================================
  [pricing]
  primary = "mock"
  
  [pricing.implementations.mock]
  # Uses default ETH/USD price of 4615.16
  
  [pricing.implementations.coingecko]
  # Free tier configuration (no API key required)
  # api_key = "CG-YOUR-API-KEY-HERE"
  cache_duration_seconds = 60
  rate_limit_delay_ms = 1200
  
  # Custom prices for demo/test tokens (in USD)
  [pricing.implementations.coingecko.custom_prices]
  TOKA = "200.00"
  TOKB = "195.00"
  
  # ============================================================================
  # SETTLEMENT
  # ============================================================================
  [settlement]
  settlement_poll_interval_seconds = 3
  
  [settlement.implementations.direct]
  order = "eip7683"
  network_ids = [31337, 31338]
  dispute_period_seconds = 1
  # Oracle selection strategy when multiple oracles are available (First, RoundRobin, Random)
  oracle_selection_strategy = "First"
  
  # Oracle configuration with multiple oracle support
  [settlement.implementations.direct.oracles]
  # Input oracles (on origin chains)
  input = { 31337 = [
      "0xa513E6E4b8f2a923D98304ec87F64353C4D5C853",
  ], 31338 = [
      "0xa513E6E4b8f2a923D98304ec87F64353C4D5C853",
  ] }
  # Output oracles (on destination chains)
  output = { 31337 = [
      "0x2279B7A0a67DB372996a5FaB50D91eAA73d2eBe6",
  ], 31338 = [
      "0x2279B7A0a67DB372996a5FaB50D91eAA73d2eBe6",
  ] }
  
  # Valid routes: from origin chain -> to destination chains
  [settlement.implementations.direct.routes]
  31337 = [31338]
  31338 = [31337]
  