hunter-invariants

Hunter leaderboard

Real hunter.ci scan verdicts on open-source Uniswap v4 hook repos. Every row is a real Foundry run transcribed from the JSON beside this page (leaderboard.json) — nothing is hand-edited. NEEDS_CONFIG / ERROR rows show why Hunter declined to run, so a PASS you see here is one Hunter actually earned.

3 PASS · 0 FAIL across 6 hook(s) in 4 repo(s). A PASS is value-conservation under fuzzing — a floor, not a full audit.

Repo Hook Verdict Detail
AqilJaafree/v4-dynamic DynamicFeeHook ✅ PASS 5290 successful value-bearing ops across 5 handlers – the PASS is exercised
asyncswap/async-swap AsyncRouter ⏭️ NEEDS_CONFIG no hook permissions detected (flags=0x0000) – not a deployable v4 hook, or its permissions are fully inherited (re-run with –flags 0xNNNN)
asyncswap/async-swap ChronicleOracleAdapter ⏭️ NEEDS_CONFIG no hook permissions detected (flags=0x0000) – not a deployable v4 hook, or its permissions are fully inherited (re-run with –flags 0xNNNN)
asyncswap/async-swap AsyncSwap ⚠️ ERROR forge could not build/run the suite: unresolved import: dependencies/v4-core-4/lib/solmate/src/auth/Owned.sol – the project is missing the dependencies de…
leprechaun-dao/liquidation-hook FlashLiquidationHook ✅ PASS 3634 successful value-bearing ops across 5 handlers – the PASS is exercised [auto-mocked external deps: ILiquidationProtocol – result is conditional on ass…
uniswapfoundation/v4-template Counter ✅ PASS 5317 successful value-bearing ops across 5 handlers – the PASS is exercised

Reproduce any row

git clone --recurse-submodules https://github.com/<owner>/<repo> && cd <repo>
pipx run hunter-invariants scan src --json-out report.json   # or: pip install, then python -m hunter.ci

Fuzzing, not proof; not a full audit. Deterministic generator, no LLM. Source: https://github.com/hunterinvariants/hunter-invariants.