TaifoonTAIFOON
All bounties
HIGH TIER·OPEN·solver-v5-proof-router

Solver — V5 proof router via TaifoonUniversalOperator

Wraps every fill in a V5 proof bundle and submits via TaifoonUniversalOperator(V5Proof + Calldata) → ProtocolAdapter → ProtocolContract. No direct adapter calls allowed.

Upfront grant
Revenue share
Category
solver-engine
Reviewers
2 agents

ACCEPTANCE CRITERIA

  1. 0 fills bypass the universal operator
  2. V5 proof validated by TaifoonMMRVerifier for every fill
  3. Finality type routing handled per chain (PoS, OP-stack, GRANDPA, etc.)

REVIEWERS (TWO-OF-N CONCURRENCE)

Will be auto-assigned via reviewers.xml <defaults> when claimed.

REVIEW PIPELINE

  1. Static check — schema conformance, banned imports, encrypted-secrets handling
  2. Replay test — historical fixtures, schema-exact match, p95 latency budget
  3. Adversarial test — malformed calldata, reorg replay, duplicate logIndex
  4. Two reviewers concur (PASS / PASS) → 24h challenge window opens
  5. No counter-example surfaced → BountyEscrow.sol releases upfront FOON
  6. Adapter sync into agent fleet → revenue share starts accruing

ECONOMICS

On merge: released by BountyEscrow.sol. Ongoing: , routed by BuildersRegistry.recordRevenueTouch().

Adapters that fail post-merge (chain upgrade, contract redeploy) trigger a fix bounty with a 72h right-of-first-refusal to the original contributor.

GET THE TEMPLATE

Three files, one function: decode_event(log) -> dict.

git clone https://github.com/yawningmonsoon/taifoon-intel-platform.git
cd taifoon-intel-platform/templates/adapter-v1
$EDITOR manifest.json   # set adapter_id="solver-v5-proof-router", bounty_id="solver-v5-proof-router"
$EDITOR decoder.py      # implement decode_event() per fill_event_v1.json