Skip to content

Latest commit

 

History

History
80 lines (70 loc) · 3.31 KB

File metadata and controls

80 lines (70 loc) · 3.31 KB

TEST VERIFICATION

Task

在线验收 --days 1 链上回扫(事件扫描与报告产物)。

Environment

  • Date (UTC): 2026-02-26
  • Python runtime: .venv/bin/python (3.14.2)
  • RPC tier: Alchemy Free (eth_getLogs 单次最多 10 blocks)

Key Fixes Applied

  1. src/events/scanner.py 增加 HTTP 超时(默认 30s,可用 EVENT_SCAN_HTTP_TIMEOUT 覆盖),避免无限等待。
  2. 运行参数调整:--batch-size 10 以适配 Free tier 限制。

Verification Steps

  1. Unit tests (events module)

    • Command: .venv/bin/pytest tests/test_event_scanner.py tests/test_event_analyzer.py tests/test_event_reporter.py -q
    • Result: PASS (6 passed)
  2. Online scan (creation-only, v4, days=1)

    • Command: EVENT_SCAN_HTTP_TIMEOUT=20 .venv/bin/python main.py --event-scan --protocol v4 --days 1 --batch-size 10 --event-types creation
    • run_id: 20260226T170849Z
    • Result: PASS (creation events = 276)
  3. Online scan (state-only, v4, days=1)

    • Command: EVENT_SCAN_HTTP_TIMEOUT=20 .venv/bin/python main.py --event-scan --protocol v4 --days 1 --batch-size 10 --event-types modifyliquidity
    • run_id: 20260226T172527Z
    • Result: PASS (state events = 4244)
  4. Online scan (combined creation + state, v4, days=1)

    • Command: EVENT_SCAN_HTTP_TIMEOUT=20 .venv/bin/python main.py --event-scan --protocol v4 --days 1 --batch-size 10 --event-types creation,modifyliquidity
    • run_id: 20260226T173154Z
    • Output files:
      • reports/events/20260226T173154Z/events.ndjson
      • reports/events/20260226T173154Z/summary.json
      • reports/events/20260226T173154Z/analysis.md
    • Result: PASS

Evidence Checks (run_id: 20260226T173154Z)

  • events.ndjson lines: 4506
  • summary.totals.events_total: 4506
  • summary.totals.creation_events_total: 262
  • summary.totals.state_events_total: 4244
  • Integrity:
    • events_total_matches: true
    • creation_plus_state_matches: true
  • Scan window:
    • from_block: 24535405
    • to_block: 24542570
    • from_timestamp: 2026-02-25T17:25:23Z
    • to_timestamp: 2026-02-26T17:25:23Z
    • delta_seconds: 86400

Known Constraints / Risks

  • 在 Free tier RPC 下,protocol=all 或包含高频 Swap 的 1 天窗口会显著变慢。
  • 为稳定验收,建议:
    • --batch-size 10
    • 先按协议分开跑,优先 creation + 中等频率 state(如 ModifyLiquidity
    • 高流量 Swap 建议更高配 RPC(PAYG / dedicated node)

Additional Run: protocol=all serial (past 1 hour)

  • Command style: 串行分协议(balancer -> v3 -> v4 -> algebra),每协议先按时间戳反查 1h 区块窗口,再调用 scan_events(..., event_types=['creation','state']),最后合并写出单份报告。
  • Runtime params: EVENT_SCAN_HTTP_TIMEOUT=20, batch_size=10
  • run_id: 20260226T175941Z_1h_all_serial
  • Output:
    • reports/events/20260226T175941Z_1h_all_serial/events.ndjson
    • reports/events/20260226T175941Z_1h_all_serial/summary.json
    • reports/events/20260226T175941Z_1h_all_serial/analysis.md
  • Totals:
    • events_total: 4923
    • creation_events_total: 6
    • state_events_total: 4917
    • parsed_error_total: 0
  • Integrity:
    • events.ndjson lines: 4923
    • events_total_matches: true
    • creation_plus_state_matches: true
  • Warnings:
    • v3: state scan scope is pools created within the selected window
    • algebra: rpc chain_id=1 != expected 137, skip